我有一个可以通过属性验证其属性的类,如下所示:
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 ...
答案 0 :(得分:3)
MemberwiseClone复制所有字段。如果您创建自动属性,将为此创建一个支持字段,MemberwiseClone将复制属性值。
这对可能存在或不存在于该类属性上的任何属性没有影响。如果您在CopyPerson上调用验证码,您的CopyPerson仍将被验证。