(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Attribute.GetCustomAttribute-Methode (Assembly, Type)

Ruft ein benutzerdefiniertes Attribut ab, das auf eine angegebene Assembly angewendet wird. Parameter geben die Assembly und den Typ des zu suchenden benutzerdefinierten Attributs an.

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

public static Attribute GetCustomAttribute(
	Assembly element,
	Type attributeType
)

Parameter

element
Typ: System.Reflection.Assembly
Ein von der Assembly-Klasse abgeleitetes Objekt, das eine wiederverwendbare Auflistung von Modulen beschreibt.
attributeType
Typ: System.Type
Der Typ des benutzerdefinierten Attributs oder ein Basistyp, nach dem gesucht werden soll.

Rückgabewert

Typ: System.Attribute
Ein Verweis auf das einzige benutzerdefinierte Attribut vom Typ attributeType, das für element übernommen wird, oder null, wenn kein solches Attribut vorhanden ist.

AusnahmeBedingung
ArgumentNullException

element oder attributeType ist null.

ArgumentException

attributeType ist nicht von Attribute abgeleitet.

AmbiguousMatchException

Es wurden mehrere der erforderlichen Attribute gefunden.

Verwenden Sie die GetCustomAttributes-Methode, wenn Sie erwarten, dass mehrere Werte zurückgegeben werden. Andernfalls wird AmbiguousMatchException ausgelöst.

HinweisHinweis

Ab .NET Framework, Version 2.0, gibt diese Methode Sicherheitsattribute zurück, wenn die Attribute im neuen Metadatenformat gespeichert wurden. Mit Version 2.0 oder höher kompilierte Assemblys verwenden das neue Format. Dynamische Assemblys und mit früheren Versionen von .NET Framework kompilierte Assemblys verwenden das alte XML-Format. Siehe Ausgeben von deklarativen Sicherheitsattributen.

Im folgenden Codebeispiel wird die Verwendung der GetCustomAttribute-Methode veranschaulicht, die den Assembly-Parameter annimmt.


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

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Phone-Apps

Unterstützt 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 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft