Freigeben über


ParameterInfo.Attributes-Eigenschaft

Ruft die Attribute für diesen Parameter ab.

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

Syntax

'Declaration
Public Overridable ReadOnly Property Attributes As ParameterAttributes
'Usage
Dim instance As ParameterInfo
Dim value As ParameterAttributes

value = instance.Attributes
public virtual ParameterAttributes Attributes { get; }
public:
virtual property ParameterAttributes Attributes {
    ParameterAttributes get ();
}
/** @property */
public ParameterAttributes get_Attributes ()
public function get Attributes () : ParameterAttributes

Eigenschaftenwert

Ein ParameterAttributes-Objekt, das die Attribute für diesen Parameter darstellt.

Hinweise

Diese Methode verwendet die AttrsImpl-Methode.

Rufen Sie zum Abrufen des ParameterInfo-Arrays zunächst die Methode oder den Konstruktor ab, und rufen Sie dann MethodBase.GetParameters auf.

Beispiel

Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic

Public Class MyClass1
   
   Public Function MyMethod(i As Integer, ByRef j As Short, ByRef k As Long) As Integer
      j = 2
      Return 0
   End Function 'MyMethod
End Class 'MyClass1

Public Class ParameterInfo_Attributes
   
   Public Shared Sub Main()
      ' Get the type. 
      Dim myType As Type = GetType(MyClass1)
      ' Get the method named 'MyMethod' from the type.
      Dim myMethodBase As MethodBase = myType.GetMethod("MyMethod")
      ' Get the parameters associated with the method.
      Dim myParameters As ParameterInfo() = myMethodBase.GetParameters()
      Console.WriteLine(ControlChars.Cr + "The method {0} has the {1} parameters :", "ParameterInfo_Example.MyMethod", myParameters.Length)
      ' Print the attributes associated with each of the parameters.
      Dim i As Integer
      For i = 0 To myParameters.Length - 1
         Console.WriteLine(ControlChars.Tab + "The {0} parameter has the attribute : {1}", i + 1, myParameters(i).Attributes)
      Next i
   End Sub 'Main
End Class 'ParameterInfo_Attributes
using System;
using System.Reflection;
public class MyClass1
{
   public int MyMethod( int i, out short j, ref long k)
   {
      j = 2;
      return 0;
   }  
}

public class ParameterInfo_Attributes
{   
   public static void Main()
   {
      // Get the type. 
      Type myType = typeof(MyClass1);
      // Get the method named 'MyMethod' from the type.
      MethodBase myMethodBase = myType.GetMethod("MyMethod");
      // Get the parameters associated with the method.
      ParameterInfo[] myParameters = myMethodBase.GetParameters();
      Console.WriteLine("\nThe method {0} has the {1} parameters :", 
                          "ParameterInfo_Example.MyMethod", myParameters.Length);
      // Print the attributes associated with each of the parameters.
      for(int i = 0; i < myParameters.Length; i++)
         Console.WriteLine("\tThe {0} parameter has the attribute : {1}", 
                                             i + 1, myParameters[i].Attributes);
   }
}
using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::InteropServices;
public ref class MyClass1
{
public:
   int MyMethod( int i, [Out]short * j, long * k )
   {
       *j = 2;
      return 0;
   }

};

void main()
{
   // Get the type. 
   Type^ myType = MyClass1::typeid;

   // Get the method named 'MyMethod' from the type.
   MethodBase^ myMethodBase = myType->GetMethod( "MyMethod" );

   // Get the parameters associated with the method.
   array<ParameterInfo^>^myParameters = myMethodBase->GetParameters();
   Console::WriteLine( "\nThe method {0} has the {1} parameters :", "ParameterInfo_Example::MyMethod", myParameters->Length );

   // Print the attributes associated with each of the parameters.
   for ( int i = 0; i < myParameters->Length; i++ )
      Console::WriteLine( "\tThe {0} parameter has the attribute : {1}", i + 1, myParameters[ i ]->Attributes );
}
import System.*;
import System.Reflection.*;

public class MyClass1
{
    public int MyMethod(int i, /** @ref */short j, /** @ref */ long k)
    {
        j = 2;
        return 0;
    } //MyMethod
} //MyClass1

public class ParameterInfo_Attributes
{
    public static void main(String[] args)
    {
        // Get the type. 
        Type myType = MyClass1.class.ToType();
        // Get the method named 'MyMethod' from the type.
        MethodBase myMethodBase = myType.GetMethod("MyMethod");
        // Get the parameters associated with the method.
        ParameterInfo myParameters[] = myMethodBase.GetParameters();
        Console.WriteLine("\nThe method {0} has the {1} parameters :", 
            "ParameterInfo_Example.MyMethod", 
            (Int32)myParameters.get_Length());
        // Print the attributes associated with each of the parameters.
        for (int i = 0; i < myParameters.get_Length(); i++) {
            Console.WriteLine("\tThe {0} parameter has the attribute : {1}",
                (Int32)(i + 1), myParameters[i].get_Attributes());
        }
    } //main
} //ParameterInfo_Attributes

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

ParameterInfo-Klasse
ParameterInfo-Member
System.Reflection-Namespace
ParameterAttributes-Enumeration