2

属性が適用されたプロパティがあります。プロパティのゲッターまたはセッター内から属性にアクセスするにはどうすればよいですか?

class Person {

    [ID("A","B")]
    public Address HomeAddress
    {
        get
        {

            // Get values A and B here ?

        }
        set { }
    }
}

これについてどうすればいいのか本当にわかりません。

よろしく

4

2 に答える 2

2
class Person {

    [ID("A","B")]
    public Address HomeAddress
    {
        get
        {
             System.Attribute[] attrs = System.Attribute.GetCustomAttributes(Person);
             // use attrs[0] to get "A";
             // use attrs[1] to get "B";
        }
        set { }
    }
}

Ps .: 私は現在 Visual Studio を使用していません。ここに直接書きました。軽微なエラーが見つかった場合は申し訳ありません。


この MSDNの記事をご覧ください。

System.Attribute[] attrs = System.Attribute.GetCustomAttributes(Person);  // Reflection. 

// Displaying output. 
foreach (System.Attribute attr in attrs)
{
     System.Console.WriteLine(attr);
}
于 2012-09-04T18:08:20.693 に答える
0

このコードで試すことができます

PropertyInfo[] propertyInfo = type.GetProperties();
foreach (var m in propertyInfo )
{                    

      foreach (Attribute a in m.GetCustomAttributes(true))
      {

      }
 }
于 2012-09-04T18:08:31.830 に答える