我有一个类型,t
我想获取具有属性的公共属性的列表MyAttribute
。该属性用标记AllowMultiple = false
,如下所示:
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
目前我所拥有的是这个,但是我在想有一种更好的方法:
foreach (PropertyInfo prop in t.GetProperties())
{
object[] attributes = prop.GetCustomAttributes(typeof(MyAttribute), true);
if (attributes.Length == 1)
{
//Property with my custom attribute
}
}
我该如何改善?我很抱歉,如果这是重复的,那儿有大量的反射线程……似乎这是一个非常热门的话题。
不。在确定该属性是否具有属性之前,需要一个PropertyInfo。
—
汉斯·帕桑