(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

ParameterInfo-Klasse

Ermittelt die Attribute eines Parameters und ermöglicht den Zugriff auf die Metadaten von Parametern.

System.Object
  System.Reflection.ParameterInfo

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

[SerializableAttribute]
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.None)]
public class ParameterInfo : _ParameterInfo, 
	ICustomAttributeProvider, IObjectReference

Der ParameterInfo-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Geschützte MethodeUnterstützt von XNA FrameworkParameterInfoInitialisiert eine neue Instanz der ParameterInfo-Klasse.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAttributesRuft die Attribute für diesen Parameter ab.
Öffentliche EigenschaftUnterstützt in .NET für Windows Store-AppsCustomAttributesRuft eine Sammlung ab, die die benutzerdefinierten Attribute dieses Parameters enthält.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsDefaultValueRuft einen Wert ab, der den Standardwert angibt, sofern der Parameter über einen Standardwert verfügt.
Öffentliche EigenschaftUnterstützt in .NET für Windows Store-AppsHasDefaultValueRuft einen Wert ab, der angibt, ob dieser Parameter über einen Standardwert verfügt.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIsInRuft einen Wert ab, der angibt, ob dies ein Eingabeparameter ist.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekIsLcidRuft einen Wert ab, der angibt, ob dieser Parameter ein Gebietsschemabezeichner (lcid) ist.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIsOptionalRuft einen Wert ab, der angibt, ob dieser Parameter optional ist.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIsOutRuft einen Wert ab, der angibt, ob dies ein Ausgabeparameter ist.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIsRetvalRuft einen Wert ab, der angibt, ob dies ein Retval-Parameter ist.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMemberRuft einen Wert ab, der den Member angibt, in dem der Parameter implementiert ist.
Öffentliche EigenschaftMetadataTokenRuft einen Wert ab, der diesen Parameter in den Metadaten identifiziert.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsNameRuft den Namen des Parameters ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsParameterTypeRuft den Type dieses Parameters ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsPositionRuft die nullbasierte Position des Parameters in der formalen Parameterliste ab.
Öffentliche EigenschaftRawDefaultValueRuft einen Wert ab, der den Standardwert angibt, sofern der Parameter über einen Standardwert verfügt.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)

In XNA Framework wird dieser Member von Equals(Object) überschrieben.
Geschützte MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekGetCustomAttributes(Boolean)Ruft alle benutzerdefinierten Attribute ab, die für diesen Parameter definiert sind.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekGetCustomAttributes(Type, Boolean)Ruft die benutzerdefinierten Attribute vom angegebenen Typ oder von abgeleiteten Typen ab, die auf diesen Parameter angewendet werden.
Öffentliche MethodeGetCustomAttributesDataGibt eine Liste von CustomAttributeData-Objekten für den aktuellen Parameter zurück, die im Reflektionskontext verwendet werden kann.
Öffentliche MethodeUnterstützt von XNA FrameworkGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)

In XNA Framework wird dieser Member von GetHashCode() überschrieben.
Öffentliche MethodeGetOptionalCustomModifiersRuft die optionalen benutzerdefinierten Modifizierer des Parameters ab.
Öffentliche MethodeGetRealObjectGibt das eigentliche zu deserialisierende Objekt anstelle des vom serialisierten Datenstrom angegebenen Objekts zurück.
Öffentliche MethodeGetRequiredCustomModifiersRuft die erforderlichen benutzerdefinierten Modifizierer des Parameters ab.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekIsDefinedBestimmt, ob das benutzerdefinierte Attribut vom angegebenen Typ oder von abgeleiteten Typen auf diesen Parameter angewendet wird.
Geschützte MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt in .NET für Windows Store-AppsToStringRuft den Parametertyp und den Namen als Zeichenfolgendarstellung ab. (Überschreibt Object.ToString().)

In XNA Framework 3.0 wird dieser Member von Object geerbt.ToString().


In .NET für Windows Store-Apps Windows 8 wird dieser Member von Object geerbt.ToString().
Zum Seitenanfang

  NameBeschreibung
Öffentliche ErweiterungsmethodeUnterstützt in .NET für Windows Store-AppsGetCustomAttribute(Type)Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Parameter angewendet wird. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeUnterstützt in .NET für Windows Store-AppsGetCustomAttribute(Type, Boolean)Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Parameter angewendet wird, und überprüft optional die Vorgänger dieses Parameters. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeUnterstützt in .NET für Windows Store-AppsGetCustomAttribute<T>()Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Parameter angewendet wird. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeUnterstützt in .NET für Windows Store-AppsGetCustomAttribute<T>(Boolean)Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Parameter angewendet wird, und überprüft optional die Vorgänger dieses Parameters. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeUnterstützt in .NET für Windows Store-AppsGetCustomAttributes()Überladen. Ruft eine Auflistung benutzerdefinierter Attribute ab, die für einen angegebenen Parameter angewendet werden. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeUnterstützt in .NET für Windows Store-AppsGetCustomAttributes(Boolean)Überladen. Ruft eine Auflistung benutzerdefinierter Attribute ab, die für einen angegebenen Parameter angewendet werden, und überprüft optional die Vorgänger dieses Parameters. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeUnterstützt in .NET für Windows Store-AppsGetCustomAttributes(Type)Überladen. Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für eine angegebenen Parameter angewendet werden. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeUnterstützt in .NET für Windows Store-AppsGetCustomAttributes(Type, Boolean)Überladen. Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für einen angegebenen Parameter angewendet werden, und überprüft optional die Vorgänger dieses Parameters. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeUnterstützt in .NET für Windows Store-AppsGetCustomAttributes<T>()Überladen. Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für eine angegebenen Parameter angewendet werden. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeUnterstützt in .NET für Windows Store-AppsGetCustomAttributes<T>(Boolean)Überladen. Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für einen angegebenen Parameter angewendet werden, und überprüft optional die Vorgänger dieses Parameters. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeUnterstützt in .NET für Windows Store-AppsIsDefined(Type)Überladen. Gibt an, ob irgend welche benutzerdefinierten Attribute eines bestimmten Typs auf einen angegebenen Parameters angewendet werden. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeUnterstützt in .NET für Windows Store-AppsIsDefined(Type, Boolean)Überladen. Gibt an, ob benutzerdefinierte Attribute eines angegebenen Typs auf einen angegebenen Parameter und optional auf dessen Vorgänger angewendet werden. (Durch CustomAttributeExtensions definiert.)
Zum Seitenanfang

  NameBeschreibung
Geschütztes FeldUnterstützt von XNA FrameworkAttrsImplDie Attribute des Parameters.
Geschütztes FeldUnterstützt von XNA FrameworkClassImplDer Type des Parameters.
Geschütztes FeldUnterstützt von XNA FrameworkDefaultValueImplDer Standardwert des Parameters.
Geschütztes FeldUnterstützt von XNA FrameworkMemberImplDer Member, in dem das Feld implementiert ist.
Geschütztes FeldUnterstützt von XNA FrameworkNameImplDer Name des Parameters.
Geschütztes FeldUnterstützt von XNA FrameworkPositionImplDie nullbasierte Position des Parameters in der Parameterliste.
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate Methode_ParameterInfo.GetIDsOfNamesOrdnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.
Explizite SchnittstellenimplementierungPrivate Methode_ParameterInfo.GetTypeInfoRuft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können.
Explizite SchnittstellenimplementierungPrivate Methode_ParameterInfo.GetTypeInfoCountRuft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).
Explizite SchnittstellenimplementierungPrivate Methode_ParameterInfo.InvokeStellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.
Zum Seitenanfang

Verwenden Sie eine Instanz von ParameterInfo, um Informationen über den Datentyp des Parameters, den Standardwert usw. abzurufen.

GetParameters gibt ein Array von ParameterInfo-Objekten zurück, die die Parameter einer Methode geordnet darstellen.

In diesem Beispiel wird die Verwendung verschiedener Reflektionsklassen zur Analyse der in einer Assembly enthaltenen Metadaten veranschaulicht.


using System;
using System.Reflection;

class Module1
{

    public static void Main()
    {
        // This variable holds the amount of indenting that 
        // should be used when displaying each line of information.
        Int32 indent = 0;
        // Display information about the EXE assembly.
        Assembly a = System.Reflection.Assembly.GetExecutingAssembly();
        Display(indent, "Assembly identity={0}", a.FullName);
        Display(indent+1, "Codebase={0}", a.CodeBase);

        // Display the set of assemblies our assemblies reference.

        Display(indent, "Referenced assemblies:");
        foreach (AssemblyName an in a.GetReferencedAssemblies() )
        {
             Display(indent + 1, "Name={0}, Version={1}, Culture={2}, PublicKey token={3}", an.Name, an.Version, an.CultureInfo.Name, (BitConverter.ToString (an.GetPublicKeyToken())));
        }
        Display(indent, "");

        // Display information about each assembly loading into this AppDomain.
        foreach (Assembly b in AppDomain.CurrentDomain.GetAssemblies())
        {
            Display(indent, "Assembly: {0}", b);

            // Display information about each module of this assembly.
            foreach ( Module m in b.GetModules(true) )
            {
                Display(indent+1, "Module: {0}", m.Name);
            }

            // Display information about each type exported from this assembly.

            indent += 1;
            foreach ( Type t in b.GetExportedTypes() )
            {
                Display(0, "");
                Display(indent, "Type: {0}", t);

                // For each type, show its members & their custom attributes.

                indent += 1;
                foreach (MemberInfo mi in t.GetMembers() )
                {
                    Display(indent, "Member: {0}", mi.Name);
                    DisplayAttributes(indent, mi);

                    // If the member is a method, display information about its parameters.

                    if (mi.MemberType==MemberTypes.Method)
                    {
                        foreach ( ParameterInfo pi in ((MethodInfo) mi).GetParameters() )
                        {
                            Display(indent+1, "Parameter: Type={0}, Name={1}", pi.ParameterType, pi.Name);
                        }
                    }

                    // If the member is a property, display information about the property's accessor methods.
                    if (mi.MemberType==MemberTypes.Property)
                    {
                        foreach ( MethodInfo am in ((PropertyInfo) mi).GetAccessors() )
                        {
                            Display(indent+1, "Accessor method: {0}", am);
                        }
                    }
                }
                indent -= 1;
            }
            indent -= 1;
        }
    }

    // Displays the custom attributes applied to the specified member.
    public static void DisplayAttributes(Int32 indent, MemberInfo mi)
    {
        // Get the set of custom attributes; if none exist, just return.
        object[] attrs = mi.GetCustomAttributes(false);
        if (attrs.Length==0) {return;}

        // Display the custom attributes applied to this member.
        Display(indent+1, "Attributes:");
        foreach ( object o in attrs )
        {
            Display(indent+2, "{0}", o.ToString());
        }
    }

    // Display a formatted string indented by the specified amount.
    public static void Display(Int32 indent, string format, params object[] param) 

    {
        Console.Write(new string(' ', indent*2));
        Console.WriteLine(format, param);
    }
}

//The output shown below is abbreviated.
//
//Assembly identity=ReflectionCS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
//  Codebase=file:///C:/Documents and Settings/test/My Documents/Visual Studio 2005/Projects/Reflection/Reflection/obj/Debug/Reflection.exe
//Referenced assemblies:
//  Name=mscorlib, Version=2.0.0.0, Culture=, PublicKey token=B7-7A-5C-56-19-34-E0-89
//
//Assembly: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//
//  Type: System.Object
//    Member: GetType
//    Member: ToString
//    Member: Equals
//      Parameter: Type=System.Object, Name=obj
//    Member: Equals
//      Parameter: Type=System.Object, Name=objA
//      Parameter: Type=System.Object, Name=objB
//    Member: ReferenceEquals
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//      Parameter: Type=System.Object, Name=objA
//      Parameter: Type=System.Object, Name=objB
//    Member: GetHashCode
//    Member: .ctor
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//
//  Type: System.ICloneable
//    Member: Clone
//
//  Type: System.Collections.IEnumerable
//    Member: GetEnumerator
//      Attributes:
//        System.Runtime.InteropServices.DispIdAttribute
//
//  Type: System.Collections.ICollection
//    Member: CopyTo
//      Parameter: Type=System.Array, Name=array
//      Parameter: Type=System.Int32, Name=index
//    Member: get_Count
//    Member: get_SyncRoot
//    Member: get_IsSynchronized
//    Member: Count
//      Accessor method: Int32 get_Count()
//    Member: SyncRoot
//      Accessor method: System.Object get_SyncRoot()
//    Member: IsSynchronized
//      Accessor method: Boolean get_IsSynchronized()
//
//  Type: System.Collections.IList
//    Member: get_Item
//      Parameter: Type=System.Int32, Name=index
//    Member: set_Item
//      Parameter: Type=System.Int32, Name=index
//      Parameter: Type=System.Object, Name=value
//    Member: Add
//      Parameter: Type=System.Object, Name=value
//    Member: Contains
//      Parameter: Type=System.Object, Name=value
//    Member: Clear
//    Member: get_IsReadOnly
//    Member: get_IsFixedSize
//    Member: IndexOf
//      Parameter: Type=System.Object, Name=value
//    Member: Insert
//      Parameter: Type=System.Int32, Name=index
//      Parameter: Type=System.Object, Name=value
//    Member: Remove
//      Parameter: Type=System.Object, Name=value
//    Member: RemoveAt
//      Parameter: Type=System.Int32, Name=index
//    Member: Item
//      Accessor method: System.Object get_Item(Int32)
//      Accessor method: Void set_Item(Int32, System.Object)
//    Member: IsReadOnly
//      Accessor method: Boolean get_IsReadOnly()
//    Member: IsFixedSize
//      Accessor method: Boolean get_IsFixedSize()
//
//  Type: System.Array
//    Member: IndexOf
//      Parameter: Type=T[], Name=array
//      Parameter: Type=T, Name=value
//    Member: AsReadOnly
//      Parameter: Type=T[], Name=array
//    Member: Resize
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//      Parameter: Type=T[]&, Name=array
//      Parameter: Type=System.Int32, Name=newSize
//    Member: BinarySearch
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//      Parameter: Type=T[], Name=array
//      Parameter: Type=T, Name=value
//    Member: BinarySearch
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//      Parameter: Type=T[], Name=array
//      Parameter: Type=T, Name=value
//      Parameter: Type=System.Collections.Generic.IComparer`1[T], Name=comparer


.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 Store-Apps

Unterstützt in: Windows 8

.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.

Dieser Typ ist threadsicher.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft