MemberwiseClone()是否适用于Properties属性?

时间:2011-12-01 07:47:34

标签: c#

我有一个可以通过属性验证其属性的类,如下所示:

public Class Person
{
[Required(ErrorMessage="Name is Required")]
 Public String Name{get;set;}
}

在我的应用程序中,我有一个原始对象和一个来自我的对象的副本:

void Maine()
{
  Person OrginalPerson=new Person();
  Person CopyPerson= (Person)OrginalPerson.MemberwiseClone();

}

当我使用OrginalPerson时我可以验证它,但是当我使用CopyPerson时我的验证不起作用! 我认为MemberwiseClone()无法处理属性属性...我需要我可以验证我的CopyPerson ...

1 个答案:

答案 0 :(得分:3)

MemberwiseClone复制所有字段。如果您创建自动属性,将为此创建一个支持字段,MemberwiseClone将复制属性值。

这对可能存在或不存在于该类属性上的任何属性没有影响。如果您在CopyPerson上调用验证码,您的CopyPerson仍将被验证。