Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

ParameterInfo-Klasse

 

Veröffentlicht: Oktober 2016

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

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

System.Object
  System.Reflection.ParameterInfo

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

NameBeschreibung
System_CAPS_protmethodParameterInfo()

Initialisiert eine neue Instanz der ParameterInfo-Klasse.

NameBeschreibung
System_CAPS_pubpropertyAttributes

Ruft die Attribute für diesen Parameter an.

System_CAPS_pubpropertyCustomAttributes

Ruft eine Auflistung, die benutzerdefinierten Attribute für diesen Parameter enthält.

System_CAPS_pubpropertyDefaultValue

Ruft einen Wert, der angibt, des Standardwerts, wenn der Parameter einen Standardwert verfügt.

System_CAPS_pubpropertyHasDefaultValue

Ruft einen Wert, der angibt, ob dieser Parameter einen Standardwert besitzt.

System_CAPS_pubpropertyIsIn

Ruft einen Wert, der angibt, ob dies ein Eingabeparameter ist.

System_CAPS_pubpropertyIsLcid

Ruft einen Wert, der angibt, ob dieser Parameter ein Gebietsschemabezeichner (Lcid) ist.

System_CAPS_pubpropertyIsOptional

Ruft einen Wert, der angibt, ob dieser Parameter optional ist.

System_CAPS_pubpropertyIsOut

Ruft einen Wert, der angibt, ob dies ein Ausgabeparameter ist.

System_CAPS_pubpropertyIsRetval

Ruft einen Wert, der angibt, ob dies ist eine Retval Parameter.

System_CAPS_pubpropertyMember

Ruft einen Wert, der das Element, in dem der Parameter implementiert ist.

System_CAPS_pubpropertyMetadataToken

Ruft einen Wert, der diesen Parameter in den Metadaten identifiziert.

System_CAPS_pubpropertyName

Ruft den Namen des Parameters ab.

System_CAPS_pubpropertyParameterType

Ruft den Type dieses Parameters.

System_CAPS_pubpropertyPosition

Ruft die nullbasierte Position des Parameters in der Parameterliste.

System_CAPS_pubpropertyRawDefaultValue

Ruft einen Wert ab, der den Standardwert angibt, wenn der Parameter über einen Standardwert verfügt.

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Geerbt von „Object“.)

System_CAPS_pubmethodGetCustomAttributes(Boolean)

Ruft alle benutzerdefinierten Attribute für diesen Parameter definiert.

System_CAPS_pubmethodGetCustomAttributes(Type, Boolean)

Ruft die benutzerdefinierten Attribute des angegebenen Typs oder seiner abgeleiteten Typen, die auf diesen Parameter angewendet werden.

System_CAPS_pubmethodGetCustomAttributesData()

Gibt eine Liste der CustomAttributeData Objekte für den aktuellen Parameter, die in den ReflectionOnly Kontext verwendet werden kann.

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetOptionalCustomModifiers()

Ruft die optionalen benutzerdefinierten Modifizierer des Parameters ab.

System_CAPS_pubmethodGetRealObject(StreamingContext)

Gibt das eigentliche Objekt, das anstelle eines Objekts deserialisiert werden soll, die die serialisierten Streams angibt.

System_CAPS_pubmethodGetRequiredCustomModifiers()

Ruft die erforderlichen benutzerdefinierten Modifizierer des Parameters ab.

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodIsDefined(Type, Boolean)

Bestimmt, ob das benutzerdefinierte Attribut vom angegebenen Typ oder seiner abgeleiteten Typen auf diesen Parameter angewendet wird.

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_pubmethodToString()

Ruft den Parametertyp und der Name als Zeichenfolge dargestellt wird.(Überschreibt Object.ToString().)

NameBeschreibung
System_CAPS_protfieldAttrsImpl

Die Attribute des Parameters.

System_CAPS_protfieldClassImpl

Der Type des Parameters.

System_CAPS_protfieldDefaultValueImpl

Der Standardwert des Parameters.

System_CAPS_protfieldMemberImpl

Das Element, in dem das Feld implementiert ist.

System_CAPS_protfieldNameImpl

Der Name des Parameters.

System_CAPS_protfieldPositionImpl

Die nullbasierte Position des Parameters in der Parameterliste.

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod_ParameterInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

System_CAPS_pubinterfaceSystem_CAPS_privmethod_ParameterInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können.

System_CAPS_pubinterfaceSystem_CAPS_privmethod_ParameterInfo.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_ParameterInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.

NameBeschreibung
System_CAPS_pubmethodGetCustomAttribute(Type)

Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs, der auf einen bestimmten Parameter angewendet wird.(Definiert durch CustomAttributeExtensions.)

System_CAPS_pubmethodGetCustomAttribute(Type, Boolean)

Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs, die auf einen bestimmten Parameter angewendet wird, und optional untersucht die übergeordneten Elementen dieses Parameters ab.(Definiert durch CustomAttributeExtensions.)

System_CAPS_pubmethodGetCustomAttribute<T>()

Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs, der auf einen bestimmten Parameter angewendet wird.(Definiert durch CustomAttributeExtensions.)

System_CAPS_pubmethodGetCustomAttribute<T>(Boolean)

Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs, die auf einen bestimmten Parameter angewendet wird, und optional untersucht die übergeordneten Elementen dieses Parameters ab.(Definiert durch CustomAttributeExtensions.)

System_CAPS_pubmethodGetCustomAttributes()

Überladen. Ruft eine Auflistung von benutzerdefinierten Attributen, die auf einen bestimmten Parameter angewendet werden.(Definiert durch CustomAttributeExtensions.)

System_CAPS_pubmethodGetCustomAttributes(Type)

Überladen. Ruft eine Auflistung von benutzerdefinierten Attributen eines angegebenen Typs, die auf einen bestimmten Parameter angewendet werden.(Definiert durch CustomAttributeExtensions.)

System_CAPS_pubmethodGetCustomAttributes<T>(Boolean)

Überladen. Ruft eine Auflistung von benutzerdefinierten Attributen eines angegebenen Typs, die auf einen bestimmten Parameter angewendet werden, und die übergeordneten Elementen dieses Parameters optional überprüft.(Definiert durch CustomAttributeExtensions.)

System_CAPS_pubmethodIsDefined(Type)

Überladen. Gibt an, ob benutzerdefinierte Attribute eines angegebenen Typs auf einen bestimmten Parameter angewendet werden.(Definiert durch CustomAttributeExtensions.)

Eine Instanz von ParameterInfo zum Abrufen von Informationen zum Datentyp des Parameters Standardwert und so weiter.

GetParameters Gibt ein Array von ParameterInfo -Objekten, die die Parameter einer Methode, in der Reihenfolge darstellen.

In diesem Beispiel wird gezeigt, wie verschiedene Reflexionsklassen verwendet werden können, um die in einer Assembly enthaltenen Metadaten zu analysieren.

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 = typeof(Module1).Assembly;
        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

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1

Dieser Typ ist threadsicher.

Zurück zum Anfang
Anzeigen: