Questa documentazione è stata archiviata e non viene gestita.

Metodo Attribute.GetCustomAttributes (Assembly, Type)

Recupera una matrice degli attributi personalizzati applicata a un assembly. I parametri consentono di specificare l'assembly e il tipo dell'attributo personalizzato di cui eseguire la ricerca.

Spazio dei nomi: System
Assembly: mscorlib (in mscorlib.dll)

public static Attribute[] GetCustomAttributes (
	Assembly element,
	Type attributeType
)
public static Attribute[] GetCustomAttributes (
	Assembly element, 
	Type attributeType
)
public static function GetCustomAttributes (
	element : Assembly, 
	attributeType : Type
) : Attribute[]
Non applicabile.

Parametri

element

Oggetto derivato dalla classe Assembly che descrive un insieme riutilizzabile di moduli.

attributeType

Tipo o tipo base dell'attributo personalizzato da cercare.

Valore restituito

Matrice Attribute contenente gli attributi personalizzati di tipo attributeType applicati a element oppure matrice vuota se non sono presenti tali attributi.

Tipo di eccezioneCondizione

ArgumentNullException

element o attributeType è riferimento null (Nothing in Visual Basic).

ArgumentException

attributeType non deriva da Attribute.

NotaNota:

A partire da .NET Framework versione 2.0 questo metodo restituisce gli attributi di sicurezza se sono archiviati nel nuovo formato dei metadati. Per gli assembly compilati con la versione 2.0 o successiva viene utilizzato il nuovo formato. Per gli assembly dinamici e quelli compilati con versioni precedenti di .NET Framework viene utilizzato il formato XML precedente. Vedere Creazione di attributi di protezione dichiarativa.

Nell'esempio di codice riportato di seguito viene illustrato l'utilizzo di GetCustomAttributes, accettando Assembly come parametro.

using System;
using System.Reflection;

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

namespace CustAttrs1CS {
    class DemoClass {
        static void Main(string[] args) {
            Type clsType = typeof(DemoClass);
            // Get the Assembly type to access its metadata.
            Assembly assy = clsType.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}\".",
                        ((AssemblyTitleAttribute)attr).Title);

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

                // Check for the AssemblyCompany attribute.
                else if (attr.GetType() == typeof(AssemblyCompanyAttribute))
                    Console.WriteLine("Assembly company is {0}.",
                        ((AssemblyCompanyAttribute)attr).Company);
            }
        }
    }
}

/*
 * Output:
 * Assembly company is Microsoft.
 * Assembly description is "GetCustomAttributes() Demo".
 * Assembly title is "CustAttrs1CS".
 */

package CustAttrs1JSL; 
import System.*;
import System.Reflection.*;
import System.Collections.*;

/** @assembly AssemblyTitle("CustAttrs1JSL")
 */
/** @assembly AssemblyDescription("GetCustomAttributes() Demo")
 */
/** @assembly AssemblyCompany("Microsoft")
 */
class DemoClass
{
    public static void main(String[] args)
    {
        Type clsType = DemoClass.class.ToType();

        // Get the Assembly type to access its metadata.
        Assembly assy = clsType.get_Assembly();

        // Iterate through the attributes for the assembly.
        IEnumerator objEnum = Attribute.GetCustomAttributes(assy).
            GetEnumerator();

        while (objEnum.MoveNext()) {
            Attribute attr = (Attribute)objEnum.get_Current();

            // Check for the AssemblyTitle attribute.
            if (attr.GetType().Equals(AssemblyTitleAttribute.class.ToType())) {
                Console.WriteLine("Assembly title is \"{0}\".", 
                    ((AssemblyTitleAttribute)(attr)).get_Title());
            }
            // Check for the AssemblyDescription attribute.
            else {
                if (attr.GetType().Equals(AssemblyDescriptionAttribute.class.
                    ToType())) {
                    Console.WriteLine("Assembly description is \"{0}\".",
                        ((AssemblyDescriptionAttribute)(attr)).
                        get_Description());
                }
                // Check for the AssemblyCompany attribute.
                else {
                    if (attr.GetType().Equals(AssemblyCompanyAttribute.class.
                        ToType())) {
                        Console.WriteLine("Assembly company is {0}.", 
                            ((AssemblyCompanyAttribute)(attr)).get_Company());
                    }
                }
            }
        }
    } //main
} //DemoClass
   
/*
    Output:
    Assembly company is Microsoft.
    Assembly description is "GetCustomAttributes() Demo".
    Assembly title is "CustAttrs1JSL".
*/

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile per Pocket PC, Windows Mobile per Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0 è supportato in Windows Vista, Microsoft Windows XP SP2 e Windows Server 2003 SP1.

.NET Framework

Supportato in:

.NET Compact Framework

Supportato in:

XNA Framework

Supportato in:
Mostra: