【发布时间】:2012-04-19 19:25:47
【问题描述】:
假设我有这些课程
public class BaseClass
{
public int Id { get; set; }
}
和
public class SomeClass : BaseClass
{
... more properties ...
}
BaseClass 被认为用在很多地方。
在我的例子中,我使用 ASP.NET MVC 3 的 EditorForModel 来渲染视图,并且通常使用 [Display(Name = "Id"), Required] 等属性来装饰属性
但是假设我想为继承它的每个类以不同的方式装饰 BaseClass 的属性。在SomeClass 中,我可能想用[Required] 来装饰Id,在OtherClass 中,我可能想用[SomeCustomAttribute] 来装饰它。
有办法吗?
如果能做这样的事情就好了:
public class SomeClass : BaseClass
{
public SomeClass()
{
WithProperty(x => x.Id).AddAttribute(new RequiredAttribute());
...
}
... more properties ...
}
【问题讨论】:
标签: c# .net asp.net-mvc asp.net-mvc-3 custom-attributes