(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.GetCustomAttributes-Methode (Module, Type, Boolean)

Ruft ein Array der benutzerdefinierten Attribute ab, die auf ein Modul angewendet werden. Parameter geben das Modul und den Typ des zu suchenden benutzerdefinierten Attributs und eine ignorierte Suchoption an.

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

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

Parameter

element
Typ: System.Reflection.Module
Ein Objekt, das von der Module-Klasse abgeleitet wurde und eine übertragbare ausführbare Datei (Portable Executable, PE) beschreibt.
attributeType
Typ: System.Type
Der Typ des benutzerdefinierten Attributs oder ein Basistyp, nach dem gesucht werden soll.
inherit
Typ: System.Boolean
Dieser Parameter wird ignoriert und wirkt sich nicht auf die Funktionsweise dieser Methode aus.

Rückgabewert

Typ: System.Attribute[]
Ein Attribute-Array mit den benutzerdefinierten Attributen vom Typ attributeType, die für element übernommen werden, oder ein leeres Array, wenn keine benutzerdefinierten Attribute vorhanden sind.

AusnahmeBedingung
ArgumentNullException

element oder attributeType ist null.

ArgumentException

attributeType ist nicht von Attribute abgeleitet.

Der Rückgabewert enthält die benutzerdefinierten Attribute für frühere Versionen von element, wenn inherit gleich true ist.

Im folgenden Codebeispiel wird die Verwendung der GetCustomAttributes-Methode veranschaulicht, die ein Module als Parameter annimmt.


using System;
using System.Reflection;
using System.ComponentModel;

// Assign some attributes to the module.
[module:Description("A sample description")]

// Set the module's CLSCompliant attribute to false
// The CLSCompliant attribute is applicable for /target:module.
[module:CLSCompliant(false)]

namespace CustAttrs2CS {
    class DemoClass {
        static void Main(string[] args) {
            Type clsType = typeof(DemoClass);
            // Get the Module type to access its metadata.
            Module module = clsType.Module;

            // Iterate through all the attributes for the module.
            foreach(Attribute attr in Attribute.GetCustomAttributes(module)) {
                // Check for the Description attribute.
                if (attr.GetType() == typeof(DescriptionAttribute))
                    Console.WriteLine("Module {0} has the description " +
                        "\"{1}\".", module.Name, 
                        ((DescriptionAttribute)attr).Description);
                // Check for the CLSCompliant attribute.
                else if (attr.GetType() == typeof(CLSCompliantAttribute))
                    Console.WriteLine("Module {0} {1} CLSCompliant.",
                        module.Name,
                        ((CLSCompliantAttribute)attr).IsCompliant ? 
                            "is" : "is not");
            }
        }
    }
}

/*
 * Output:
 * Module CustAttrs2CS.exe is not CLSCompliant.
 * Module CustAttrs2CS.exe has the description "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

.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