0

可以说我有:

[Description("Class Description")]
public class A { }

public class B { 
    public A PropertyA { get;set;}
}

当我反思PropertyA时,我看到了A类的属性。为什么?

var entityProperties = TypeDescriptor.GetProperties(typeof(B)).Cast<PropertyDescriptor>();
foreach (var a in entityProperties.First().Attributes)
    Console.Out.Write(a.GetType().ToString());

打印出来:

System.ComponentModel.DescriptionAttribute

当我反映属性时,为什么列表中的 DescriptionAttribute 是?如何排除类属性并仅获取附加到属性的属性?

4

1 回答 1

0

改变:

foreach (var a in entityProperties.First().Attributes)

至:

foreach (var a in entityProperties.First().GetCustomAttributes(true))

GetCustomAttributes()方法的文档在这里:http: //msdn.microsoft.com/en-us/library/dzdb2077 (v=vs.100).aspx

于 2013-05-24T16:07:06.557 回答