これらのクラスがあるとしましょう
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 を継承するクラスごとに異なる方法で BaseClass のプロパティを装飾したいとします。でSomeClass
飾りたいかもしれませんId
し[Required]
、でOtherClass
飾りたいかもしれません[SomeCustomAttribute]
。
これに方法はありますか?
次のようなことができるとよいでしょう。
public class SomeClass : BaseClass
{
public SomeClass()
{
WithProperty(x => x.Id).AddAttribute(new RequiredAttribute());
...
}
... more properties ...
}