Asignación de elementos de una clase a otra si los elementos son equivalentes
Di que tengo unoclass
que se parece a esto:
public class Person
{
public string Name {get; set;}
public int Number {get; set;}
}
Y otro que se ve así:
public class Dog
{
public string Name {get; set;}
public int Number {get; set;}
}
Son dos clases diferentes, pero tienen exactamente los mismos elementos (una cadena llamadaName
y un int llamadoNumber
)
¿Hay una manera fácil en C # de, por ejemplo, si tuviera una instancia dePerson
para luego crear una instancia deDog
con el mismoName
yNumber
?
Por ejemplo si tuviera:
Person person = new Person();
person.Name = "George";
person.Number = 1;
Sé que no puedo simplemente ir:
Dog dog = person;
Porque son dos tipos diferentes. Pero, ¿hay alguna manera en C # de verificar "oh, si tienen el mismo elemento, establezca los mismos elementos deDog
para igualar el dePerson
. Pero siento que tiene que haber una manera más fácil que hacer algo como:
dog.Name = person.Name;
dog.Number = person.Number;
Especialmente si la clase tiene MUCHOS elementos. Además, si alguien se pregunta, estas dos clases diferentes están en dos partes diferentes de la API, por lo que tampoco puedo relacionarlas.