Attribute.GetCustomAttributes Method (Assembly, Type, Boolean)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Retrieves an array of the custom attributes applied to an assembly. Parameters specify the assembly, the type of the custom attribute to search for, and an ignored search option.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public static Attribute[] GetCustomAttributes(
	Assembly element,
	Type attributeType,
	bool inherit


Type: System.Reflection.Assembly

An object derived from the Assembly class that describes a reusable collection of modules.

Type: System.Type

The type, or a base type, of the custom attribute to search for.

Type: System.Boolean

This parameter is ignored, and does not affect the operation of this method.

Return Value

Type: System.Attribute[]

An Attribute array that contains the custom attributes of type attributeType applied to element, or an empty array if no such custom attributes exist.

Exception Condition

element or attributeType is null.


attributeType is not derived from Attribute.


Starting with the .NET Framework version 2.0, this method returns security attributes if the attributes are stored in the new metadata format. Assemblies compiled with version 2.0 or later use the new format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See Emitting Declarative Security Attributes.

The following code example demonstrates the use of GetCustomAttributes, taking an Assembly as a parameter.

using System;
using System.Reflection;

[assembly: AssemblyTitle("CustAttrs1CS")]
[assembly: AssemblyDescription("GetCustomAttributes() Demo")]
[assembly: AssemblyCompany("Microsoft")]

class Example {
    static void Main() {
        // Get the Assembly object to access its metadata.
        Assembly assy = typeof(Example).Assembly;

        // Iterate through the attributes for the assembly.
        foreach(Attribute attr in Attribute.GetCustomAttributes(assy)) {
            // Check for the AssemblyTitle attribute.
            if (attr.GetType() == typeof(AssemblyTitleAttribute))
                Console.WriteLine("Assembly title is \"{0}\".",

            // Check for the AssemblyDescription attribute.
            else if (attr.GetType() == 
                Console.WriteLine("Assembly description is \"{0}\".",

            // Check for the AssemblyCompany attribute.
            else if (attr.GetType() == typeof(AssemblyCompanyAttribute))
                Console.WriteLine("Assembly company is {0}.",
// The example displays the following output:
//     Assembly title is "CustAttrs1CS".
//     Assembly description is "GetCustomAttributes() Demo".
//     Assembly company is Microsoft.

.NET Framework
Available since 1.1
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top