(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.IsDefined-Methode (MemberInfo, Type, Boolean)

Bestimmt, ob benutzerdefinierte Attribute auf einen Member eines Typs angewendet werden. Parameter geben den Member und den Typ des zu suchenden benutzerdefinierten Attributs an und außerdem, ob auch frühere Versionen des Members gesucht werden sollen.

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

public static bool IsDefined(
	MemberInfo element,
	Type attributeType,
	bool inherit
)

Parameter

element
Typ: System.Reflection.MemberInfo
Ein Objekt, das aus der MemberInfo-Klasse abgeleitet wurde und einen Konstruktor-, Ereignis-, Feld-, Methoden-, Typ- oder Eigenschaftenmember einer Klasse beschreibt.
attributeType
Typ: System.Type
Der Typ des benutzerdefinierten Attributs oder ein Basistyp, nach dem gesucht werden soll.
inherit
Typ: System.Boolean
Wenn true, wird angegeben, dass auch die früheren Versionen von element hinsichtlich benutzerdefinierter Attribute durchsucht werden sollen.

Rückgabewert

Typ: System.Boolean
true , wenn ein benutzerdefiniertes Attribut des Typs attributeType auf element angewendet wird; andernfalls false.

AusnahmeBedingung
ArgumentNullException

element oder attributeType ist null.

ArgumentException

attributeType ist nicht von Attribute abgeleitet.

NotSupportedException

element ist kein Konstruktor, keine Methode, keine Eigenschaft, kein Ereignis, kein Typ und kein Feld.

HinweisHinweis

Ab .NET Framework, Version 2.0, gibt diese Methode true zurück, wenn ein Typ, eine Methode oder ein Konstruktor Sicherheitsattribute enthält, die 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 IsDefined-Methode veranschaulicht, die MemberInfo als Parameter annimmt.


using System;
using System.Reflection;

namespace IsDef4CS 
{
    public class TestClass 
    {
        // Assign the Obsolete attribute to a method.
        [Obsolete("This method is obsolete. Use Method2 instead.")]
        public void Method1()
        {}
        public void Method2()
        {}
    }

    public class DemoClass 
    {
        static void Main(string[] args) 
        {
            // Get the class type to access its metadata.
            Type clsType = typeof(TestClass);
            // Get the MethodInfo object for Method1.
            MethodInfo mInfo = clsType.GetMethod("Method1");
            // See if the Obsolete attribute is defined for this method.
            bool isDef = Attribute.IsDefined(mInfo, typeof(ObsoleteAttribute));
            // Display the result.
            Console.WriteLine("The Obsolete Attribute {0} defined for {1} of class {2}.",
                isDef ? "is" : "is not", mInfo.Name, clsType.Name);
            // If it's defined, display the attribute's message.
            if (isDef) 
            {
                ObsoleteAttribute obsAttr = 
                                 (ObsoleteAttribute)Attribute.GetCustomAttribute( 
                                                    mInfo, typeof(ObsoleteAttribute));
                if (obsAttr != null)
                    Console.WriteLine("The message is: \"{0}\".",
                        obsAttr.Message);
                else
                    Console.WriteLine("The message could not be retrieved.");
            }
        }
    }
}

/*
 * Output:
 * The Obsolete Attribute is defined for Method1 of class TestClass.
 * The message is: "This method is obsolete. Use Method2 instead.".
 */


.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