現在、私はというカスタム属性を使用してグリッドに表示するプロパティを装飾するasp.net mvc 3プロジェクトで作業しています。私は時々子クラスのグリッドに表示する必要があるいくつかのプロパティを持つ基本モデルを持っています。データアノテーションを使用して、子モデルのベースモデルプロパティに追加メタデータを追加できますか?
例:
public class BaseClass
{
public String Status { get; set; }
}
public class ChildClass : BaseClass
{
[Display(Name="Property 1")]
[ColumnHeading]
public String Property1 { get; set; }
[Display(Name = "Property 2")]
[ColumnHeading]
public String Property2 { get; set; }
}
これは前に(約3時間の周りに検索する)と、このことも可能かどうか尋ねてきたかどうかは知りませんが、基本クラスのプロパティに[ColumnHeading]
属性を追加することができます子クラスでは?
public class ChildClass : BaseClass
{
public ChildClass()
{
// Fictional method to add attribute to property
AddAdditionalMetaData(Status, [ColumnHeading]);
}
...
}
私はあなたが、基本クラスのプロパティvirtual
を作るか、または基本と子クラスのビューモデルを作ることができることを知っているが、プロジェクトは基本クラスから継承する40の以上のモデルを持っており、約30の子供のクラスはこの基本クラスのプロパティを表示する必要があるので、ビューモデルは本当に1つのプロパティを追加する価値がありません。
第2に、私は何もしていない無限の繰り返しで終了するプロパティを何回か上書きする必要がありますが、これが唯一の方法であれば。私はそれをやる。
ご協力いただければ幸いです。
優秀だとは思わなかった。 – jacqijvv