我一直在研究MVC中的一个问题,我遇到了创建View-Models的代码重复性问题。我想知道是否有办法创建一个类,其属性可以引用另一个类中定义的属性。我只需要写属性名称或只是引用。我基本上需要像Annotations这样的所有其他东西应该自动转到我的新类定义。
以下是我要找的内容:
假设我有一个带有注释的A类。
Class A {
[Required]
[EmailAddress]
[Display(Name = "Email ID")]
public string EmailID { get; set; }
[Required]
[Required]
[Display(Name = "Name")]
public string FName { get; set; }
}
现在我需要编写一个新的类B,引用A类中定义的一些属性。
Class B {
public string EmailID; //should refer to class B so that I don't have to write annotations again
public string newproperty;
}
答案 0 :(得分:3)
你期待的东西不存在。只有一种方法可以表明B
的某些属性与A
的属性“相同”,这就是继承。
如果您从B
派生A
,则会继承属性EmailID
及其注释。
另一种选择是使用annotations on interfaces,但这些问题与我认为的问题相同。
否则,您只需要复制/粘贴注释,因为除了它们共享相同名称之外没有任何明显的关系。