Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Attribute.GetCustomAttribute (Assembly, Type)

 

Data di pubblicazione: ottobre 2016

Recupera un attributo personalizzato applicato a un assembly specificato. I parametri specificano l'assembly e il tipo dell'attributo personalizzato per la ricerca.

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

public static Attribute GetCustomAttribute(
	Assembly element,
	Type attributeType
)

Parametri

element
Type: System.Reflection.Assembly

Oggetto derivato dalla classe Assembly che descrive una raccolta riutilizzabile di moduli.

attributeType
Type: System.Type

Il tipo o un tipo di base dell'attributo personalizzato per la ricerca.

Valore restituito

Type: System.Attribute

Un riferimento al singolo attributo personalizzato di tipo attributeType che viene applicata a element, o null se non è presente tale attributo.

Exception Condition
ArgumentNullException

element o attributeType è null.

ArgumentException

attributeTypenon è derivato da Attribute.

AmbiguousMatchException

È stato trovato più di uno degli attributi richiesti.

Utilizzare il GetCustomAttributes metodo se si prevede più di un valore da restituire o AmbiguousMatchException verrà generata.

System_CAPS_noteNota

A partire da .NET Framework versione 2.0, questo metodo restituisce gli attributi di sicurezza se gli attributi vengono archiviati nel nuovo formato dei metadati. Gli assembly compilati con la versione 2.0 o versioni successive utilizzano il nuovo formato. Gli assembly dinamici e gli assembly compilati con le versioni precedenti di .NET Framework utilizzano il formato XML precedente. Vedere creazione di attributi di sicurezza dichiarativa.

Esempio di codice seguente viene illustrato l'utilizzo del GetCustomAttribute acquisire metodo un Assembly come parametro.

using System;
using System.Reflection;

// Add an AssemblyDescription attribute
[assembly: AssemblyDescription("A sample description")]
namespace IsDef1CS
{
    public class DemoClass
    {
        static void Main(string[] args)
        {
            // Get the class type to access its metadata.
            Type clsType = typeof(DemoClass);
            // Get the assembly object.
            Assembly assy = clsType.Assembly;
            // Store the assembly's name.
            String assyName = assy.GetName().Name;
            // See if the Assembly Description is defined.
            bool isdef = Attribute.IsDefined(assy, 
                typeof(AssemblyDescriptionAttribute));
            if (isdef)
            {
                // Affirm that the attribute is defined.
                Console.WriteLine("The AssemblyDescription attribute " +
                    "is defined for assembly {0}.", assyName);
                // Get the description attribute itself.
                AssemblyDescriptionAttribute adAttr = 
                    (AssemblyDescriptionAttribute)Attribute.GetCustomAttribute(
                    assy, typeof(AssemblyDescriptionAttribute));
                // Display the description.
                if (adAttr != null)
                    Console.WriteLine("The description is \"{0}\".", 
                        adAttr.Description);
                else
                    Console.WriteLine("The description could not " +
                        "be retrieved.");            
            }
            else
                Console.WriteLine("The AssemblyDescription attribute is not " +
                    "defined for assembly {0}.", assyName);
        }
    }
}

/*
 * Output:
 * The AssemblyDescription attribute is defined for assembly IsDef1CS.
 * The description is "A sample description".
 */

.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Torna all'inizio
Mostra: