現在、実行時にメタデータ/ドキュメントの一部を公開する必要があるシステムを開発しています。XML コメントを使用して、独自の Reflection 拡張メソッドを介してそのデータをアプリに戻す方法があることは知っています。
System.ComponentModel 名前空間 (ただし System アセンブリにあります) の description 属性を使用する方が簡単かもしれません。このようにして、私と他の開発者は通常のリフレクションを使用してフィールドの説明を取得できます。カスタム属性を使用するよりもむしろこれを使用します。このアプローチの欠点は何ですか?
例:
public Customer
{
public int Id { get; set; }
[Description("The common friendly name used for the customer.")]
public string Name { get; set; }
[Description("The name used for this customer in the existing Oracle ERP system.")]
public string ErpName { get; set; }
}