Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
A diferencia de algunos lenguajes, C# no proporciona un constructor Copy. Si crea un nuevo objeto y desea copiar los valores de un objeto existente, tiene que escribir de nuevo el método adecuado.
Ejemplo
En este ejemplo, la clasePerson contiene un constructor que toma como argumento otro objeto de tipo Person. El contenido de los campos de este objeto se asigna a continuación a los campos del nuevo objeto.
class Person
{
private string name;
private int age;
// Copy constructor.
public Person(Person previousPerson)
{
name = previousPerson.name;
age = previousPerson.age;
}
// Instance constructor.
public Person(string name, int age)
{
this.name = name;
this.age = age;
}
// Get accessor.
public string Details
{
get
{
return name + " is " + age.ToString();
}
}
}
class TestPerson
{
static void Main()
{
// Create a new person object.
Person person1 = new Person("George", 40);
// Create another new object, copying person.
Person person2 = new Person(person1);
Console.WriteLine(person2.Details);
// Keep the console window open in debug mode.
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
}
// Output: George is 40
Vea también
Conceptos
Referencia
Clases y estructuras (Guía de programación de C#)
Constructores (Guía de programación de C#)