Freigeben über


ParameterAttributes-Enumeration

Definiert die Attribute, die einem Parameter zugeordnet werden können. Diese sind in CorHdr.h definiert.

Diese Enumeration verfügt über ein FlagsAttribute -Attribut, das die bitweise Kombination der Memberwerte zulässt.

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

Syntax

'Declaration
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
<FlagsAttribute> _
Public Enumeration ParameterAttributes
'Usage
Dim instance As ParameterAttributes
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
[FlagsAttribute] 
public enum ParameterAttributes
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
[FlagsAttribute] 
public enum class ParameterAttributes
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute FlagsAttribute() */ 
public enum ParameterAttributes
SerializableAttribute 
ComVisibleAttribute(true) 
FlagsAttribute 
public enum ParameterAttributes

Member

  Membername Beschreibung
Unterstützt von .NET Compact Framework HasDefault Gibt an, dass der Parameter einen Standardwert besitzt. 
Unterstützt von .NET Compact Framework HasFieldMarshal Gibt an, dass der Parameter über Marshallinginformationen für Felder verfügt. 
Unterstützt von .NET Compact Framework In Gibt an, dass der Parameter ein Eingabeparameter ist. 
Unterstützt von .NET Compact Framework Lcid Gibt an, dass der Parameter ein Gebietsschemabezeichner (lcid) ist. 
Unterstützt von .NET Compact Framework None Gibt an, dass kein Parameterattribut vorhanden ist. 
Unterstützt von .NET Compact Framework Optional Gibt an, dass der Parameter optional ist. 
Unterstützt von .NET Compact Framework Out Gibt an, dass der Parameter ein Ausgabeparameter ist. 
Unterstützt von .NET Compact Framework Reserved3 Reserviert. 
Unterstützt von .NET Compact Framework Reserved4 Reserviert. 
Unterstützt von .NET Compact Framework ReservedMask Gibt an, dass der Parameter reserviert ist. 
Unterstützt von .NET Compact Framework Retval Gibt an, dass der Parameter ein Rückgabewert ist. 

Hinweise

Zum Abrufen des ParameterAttributes-Werts müssen Sie zunächst Type abrufen. Rufen Sie das ParameterInfo-Array aus Type ab. Der ParameterAttributes-Wert befindet sich im Array.

Diese Enumeratorwerte hängen von optionalen Metadaten ab. Nicht alle Attribute sind in allen Compilern verfügbar. Den Anweisungen des entsprechenden Compilers können Sie entnehmen, welche Enumerationswerte verfügbar sind.

Beispiel

Im folgenden Beispiel werden die Attribute des angegebenen Parameters angezeigt.

Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic

Class paramatt

    Public Shared Sub mymethod(ByVal str1 As String, ByRef str2 As String, _
    ByRef str3 As String)
        str2 = "string"
    End Sub

    Public Shared Function Main() As Integer
        Console.WriteLine(ControlChars.CrLf + "Reflection.ParameterAttributes")

        ' Get the Type and the method.
        Dim Mytype As Type = Type.GetType("paramatt")
        Dim Mymethodbase As MethodBase = Mytype.GetMethod("mymethod")

        ' Display the method.
        Console.WriteLine("Mymethodbase = " + Mymethodbase.ToString())

        ' Get the ParameterInfo array.
        Dim Myarray As ParameterInfo() = Mymethodbase.GetParameters()

        ' Get and display the attributes for the second parameter.
        Dim Myparamattributes As ParameterAttributes = Myarray(1).Attributes

        Console.WriteLine("For the second parameter:" + ControlChars.CrLf _
           + "Myparamattributes = " + CInt(Myparamattributes).ToString() _
           + ", which is a " + Myparamattributes.ToString())

        Return 0
    End Function
End Class
using System;
using System.Reflection;
 
class paramatt
{
    public static void mymethod (string str1, out string str2, ref string str3)
    {
        str2 = "string";
    }
    
    public static int Main(string[] args)
    {
        Console.WriteLine("\nReflection.ParameterAttributes");
  
        // Get the Type and the method.
  
        Type Mytype = Type.GetType("paramatt");
        MethodBase Mymethodbase = Mytype.GetMethod("mymethod");
  
        // Display the method.
        Console.Write("\nMymethodbase = " + Mymethodbase);
  
        // Get the ParameterInfo array.
        ParameterInfo[] Myarray = Mymethodbase.GetParameters();
  
        // Get and display the attributes for the second parameter.
        ParameterAttributes Myparamattributes = Myarray[1].Attributes;
  
        Console.Write("\nFor the second parameter:\nMyparamattributes = " 
            + (int) Myparamattributes
            + ", which is an "
            + Myparamattributes.ToString());
  
        return 0;
    }
}
using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::InteropServices;
public ref class paramatt
{
public:
   static void mymethod( String^ str1, [Out]interior_ptr<String^> str2, interior_ptr<String^> str3 )
   {
       *str2 = "string";
   }

};

int main()
{
   Console::WriteLine( "\nReflection.ParameterAttributes" );
   
   // Get the Type and the method.
   Type^ Mytype = Type::GetType( "paramatt" );
   MethodBase^ Mymethodbase = Mytype->GetMethod( "mymethod" );
   
   // Display the method.
   Console::Write( "\nMymethodbase = {0}", Mymethodbase );
   
   // Get the ParameterInfo array.
   array<ParameterInfo^>^Myarray = Mymethodbase->GetParameters();
   
   // Get and display the attributes for the second parameter.
   ParameterAttributes Myparamattributes = Myarray[ 1 ]->Attributes;
   Console::Write( "\nFor the second parameter:\nMyparamattributes = {0}, which is an {1}", (int)Myparamattributes, Myparamattributes );
   return 0;
}
import System.*;
import System.Reflection.*;

class Paramatt
{   
    public static void Mymethod(String str1,
        /** @ref
         */ String str2,
        /** @ref
         */ String str3)
    {
        str2 = "string";
    } //Mymethod

    public static void main(String[] args)
    {
        Console.WriteLine("\nReflection.ParameterAttributes");

        // Get the Type and the method.
        Type myType = Type.GetType("Paramatt");
        MethodBase myMethodBase = myType.GetMethod("Mymethod");

        // Display the method.
        Console.Write(("\nMymethodbase = " + myMethodBase));

        // Get the ParameterInfo array.
        ParameterInfo myArray[] = myMethodBase.GetParameters();

        // Get and display the attributes for the second parameter.
        ParameterAttributes myParamAttributes = myArray[1].get_Attributes();

        Console.Write(("\nFor the second parameter:\nMyparamattributes = " 
            + (int)(myParamAttributes) + ", which is an " 
            + myParamAttributes.ToString()));
    } //main
} //Paramatt

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

System.Reflection-Namespace