私は、私たちの会社のActive Directoryから値で記入しなければならないDataContractクラスを持っています。カスタム属性の適切な使用?
私はADからの私のオブジェクトを塗りつぶすするコードは、私はちょうど性質を飾ることができ、むしろハードコードされたマッピングを持っている必要がありますが、あまりないように、私のプロパティを飾るためにカスタム属性を作るために検討していた[DataContract(Namespace = Global.Namespace)]
public class UserProfile
{
[DataMember(IsRequired = true, EmitDefaultValue = false)]
public string EmployeeID { get; private set; }
[DataMember(IsRequired = true, EmitDefaultValue = false)]
public string GivenName { get; private set; }
...
public static readonly string[] PropertiesToLoad = new[] { "EmployeeID", "GivenName" };
}
自動的にオブジェクトを塗りつぶします。
そして、長期的には、この "PropertiesToLoad"を取り除くこともできます。アトリビュートはこの問題を解決する良い方法だと思いますか?また別の質問として、属性でこれを解決すると、パフォーマンスボトルネックを巨大にする可能性がありますか、属性の使用はパフォーマンス上の問題ではありません。