Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

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
)

Parametri

element
Tipo: System.Reflection.Assembly
Oggetto derivato dalla classe Assembly che descrive una raccolta riutilizzabile di moduli.
attributeType
Tipo: System.Type
Tipo o tipo base dell'attributo personalizzato da cercare.

Valore restituito

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

EccezioneCondizione
ArgumentNullException

element o attributeType è null.

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 sicurezza 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".
 */


.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft