作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有几个像这样的模型类:
public class MyModelBase
{
public string Name { get; set; }
}
public class MyModel : MyModelBase
{
public string SomeOtherProperty { get; set; }
}
MyModel 如何向 Name 属性添加 [Required] 属性?
最佳答案
在父类中声明属性为virtual:
public class MyModelBase
{
public virtual string Name { get; set; }
}
public class MyModel : MyModelBase
{
[Required]
public override string Name { get; set; }
public string SomeOtherProperty { get; set; }
}
或者您可以使用 MetadataType 来处理验证(只要您谈论的是 DataAnnotations...否则您将无法使用上面的示例):
class MyModelMetadata
{
[Required]
public string Name { get; set; }
public string SomeOtherProperty { get; set; }
}
[MetadataType(typeof(MyModelMetadata))]
public class MyModel : MyModelBase
{
public string SomeOtherProperty { get; set; }
}
关于c# - 如何将属性添加到基类的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6550409/
我是一名优秀的程序员,十分优秀!