MemberInfo.GetCustomAttributes returns an array of all custom attributes applied to this member.
using System; using System.Reflection; [AttributeUsage(AttributeTargets.All)] public class MyAttribute : Attribute { private string myName; public MyAttribute(string name) { myName = name; } public string Name { get { return myName; } } } public class MyClass1 { [MyAttribute("This is an example attribute.")] public void MyMethod(int i) { return; } } public class MemberInfo_GetCustomAttributes { public static void Main() { try { Type myType = typeof(MyClass1); MemberInfo[] myMembers = myType.GetMembers(); for(int i = 0; i < myMembers.Length; i++) { Object[] myAttributes = myMembers[i].GetCustomAttributes(true); if(myAttributes.Length > 0) { Console.WriteLine("\nThe attributes for the member {0} are: \n", myMembers[i]); for(int j = 0; j < myAttributes.Length; j++) Console.WriteLine("The type of the attribute is {0}.", myAttributes[j]); } } } catch(Exception e) { Console.WriteLine("An exception occurred: {0}", e.Message); } } }