我有一个应用了属性的属性。如何从属性getter或setter中访问属性?
class Person {
[ID("A","B")]
public Address HomeAddress
{
get
{
// Get values A and B here ?
}
set { }
}
}
真的不知道怎么做。
此致
答案 0 :(得分: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,只是直接写在这里。对不起,如果您发现任何轻微错误。
System.Attribute[] attrs = System.Attribute.GetCustomAttributes(Person); // Reflection.
// Displaying output.
foreach (System.Attribute attr in attrs)
{
System.Console.WriteLine(attr);
}
答案 1 :(得分:0)
您可以尝试使用此代码
PropertyInfo[] propertyInfo = type.GetProperties();
foreach (var m in propertyInfo )
{
foreach (Attribute a in m.GetCustomAttributes(true))
{
}
}