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);