War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Exportieren (0) 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 (ParameterInfo, Type, Boolean)

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

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

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

Parameter

element
Typ: System.Reflection.ParameterInfo
Ein Objekt, das von der ParameterInfo-Klasse abgeleitet wurde und einen Parameter eines Klassenmembers 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.

ExecutionEngineException

element ist keine Methode, kein Konstruktor oder kein Typ.

Im folgenden Codebeispiel wird die Verwendung der IsDefined-Methode veranschaulicht, die ParameterInfo als Parameter annimmt.


using System;
using System.Reflection;

namespace IsDef5CS 
{
    public class TestClass 
    {
        // Assign a ParamArray attribute to the parameter using the keyword.
        public void Method1(params String[] args)
        {}
    }

    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");
            // Get the ParameterInfo array for the method parameters.
            ParameterInfo[] pInfo = mInfo.GetParameters();
            if (pInfo != null) 
            {
                // See if the ParamArray attribute is defined.
                bool isDef = Attribute.IsDefined(pInfo[0], 
                                                 typeof(ParamArrayAttribute));
                // Display the result.
                Console.WriteLine("The ParamArray attribute {0} defined for " +
                                  "parameter {1} of method {2}.",
                                  isDef ? "is" : "is not",
                                  pInfo[0].Name, 
                                  mInfo.Name);
            }
            else
                Console.WriteLine("The parameters information could " +
                            "not be retrieved for method {0}.", mInfo.Name);
        }
    }
}

/*
 * Output:
 * The ParamArray attribute is defined for parameter args of method Method1.
 */


.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:
© 2015 Microsoft