C# Type GetCustomAttributes(Boolean)
Description
Type GetCustomAttributes(Boolean)
when overridden
in a derived class, returns an array of all custom attributes applied to this
member.
Syntax
Type.GetCustomAttributes(Boolean)
has the following syntax.
public abstract Object[] GetCustomAttributes(
bool inherit
)
Parameters
Type.GetCustomAttributes(Boolean)
has the following parameters.
inherit
- true to search this member's inheritance chain to find the attributes; otherwise, false. This parameter is ignored for properties and events; see Remarks.
Returns
Type.GetCustomAttributes(Boolean)
method returns
Example
The following example defines a custom attribute and associates the attribute with MyClass.MyMethod, retrieves the attribute at run time, and displays the result.
using System;/*www .jav a 2s .com*/
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);
}
}
}
The code above generates the following result.