Inheritance of Custom Attributes on Abstract Properties

Instead of calling PropertyInfo.GetCustomAttributes(…), you have to call the static method System.Attribute.GetCustomAttributes(pi,…), as in:

PropertyInfo info = GetType().GetProperties();

// this gets only the attributes in the derived class and ignores the 'true' parameter
object[] DerivedAttributes = info.GetCustomAttributes(typeof(MyAttribute),true);

// this gets all of the attributes up the heirarchy
object[] InheritedAttributes = System.Attribute.GetCustomAttributes(info,typeof(MyAttribute),true);

Leave a Comment