質問: プログラムにカスタム属性をプロパティに適用する 私はコードにアクセスできないビジネスオブジェクトのAPIを消費しています。私はこれらのオブジェクトを私のかみそりビューで直接使用し、オブジェクトがインスタンス化された後に私のカスタムdisplayName属性を適用できるようにしたいと考えています。 だから、これの代わりに: ``` [DisplayName("First Name")] public string GivenName; ``` 私はしたい: ``` Profile.GivenName.DisplayName("FirstName"); ``` 私はどのようにカスタム属性を作成するのか理解していますが、それらをプログラム的にすることには問題があります。 私がこれを行うことができれば、私はDataAnnotationsの多くを適用することができます。
回答: 代わりに、ビジネスオブジェクトからクラスを派生させ、 MetaDataType属性? ``` [MetadataType(typeof(IMyAttributes)) public DerivedClass : BusinessClass { } public interface IMyAttributes { [Required] public string Name { get; set; } } ```