标题: windows C#-编写复制构造函数 [打印本页] 作者: 用多少眼泪才能让你相信 时间: 3 天前 标题: windows C#-编写复制构造函数 C # 记录为对象提供复制构造函数,但对于类,你必须自行编写。
编写实用于类层次结构中所有派生范例的复制构造函数可能很困难。 如果类不是 sealed,则强烈发起思量创建 record class 范例的层次结构,以使用编译器合成的复制构造函数。
示例
在下面的示例中,Person类界说一个复制构造函数,该函数使用 Person 的实例作为其参数。 该参数的属性值分配给 Person 的新实例的属性。 该代码包罗一个备用复制构造函数,该函数发送要复制到该类的实例构造函数的实例的 Name 和 Age 属性。 Person 类为 sealed,因此无法通过仅复制基类来声明可能会引发错误的派生范例。
public sealed class Person
{
// Copy constructor.
public Person(Person previousPerson)
{
Name = previousPerson.Name;
Age = previousPerson.Age;
}
Alternate copy constructor calls the instance constructor.