方法GetCustomAttributes返回应用于成员的自定义属性的数组。检索此数组后,您可以搜索一个或多个特定属性。
var attribute = typeof(MyClass).GetCustomAttributes().OfType<MyCustomAttribute>().Single();
或遍历他们
foreach(var attribute in typeof(MyClass).GetCustomAttributes()) { Console.WriteLine(attribute.GetType()); }
GetCustomAttribute扩展方法从中System.Reflection.CustomAttributeExtensions检索指定类型的自定义属性,它可以应用于any MemberInfo。
var attribute = (MyCustomAttribute) typeof(MyClass).GetCustomAttribute(typeof(MyCustomAttribute));
GetCustomAttribute 还具有通用签名以指定要搜索的属性的类型。
var attribute = typeof(MyClass).GetCustomAttribute<MyCustomAttribute>();
布尔参数inherit可以传递给这两种方法。如果将此值设置为trueelement的祖先,则也将进行检查。