2

我有一个属性,它应用了一个属性。如何从属性 getter 或 setter 内部访问属性?

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 回答