ParameterInfo.Attributes Proprietà

Definizione

Ottiene gli attributi per questo parametro.Gets the attributes for this parameter.

public:
 virtual property System::Reflection::ParameterAttributes Attributes { System::Reflection::ParameterAttributes get(); };
public virtual System.Reflection.ParameterAttributes Attributes { get; }
member this.Attributes : System.Reflection.ParameterAttributes
Public Overridable ReadOnly Property Attributes As ParameterAttributes

Valore della proprietà

Oggetto ParameterAttributes che rappresenta gli attributi di questo parametro.A ParameterAttributes object representing the attributes for this parameter.

Esempi

Nell'esempio seguente viene definito un metodo con tre parametri.The following example defines a method with three parameters. Usa la proprietà Attributes per ottenere gli attributi del secondo parametro e visualizzarli nella console.It uses the Attributes property to get the attributes of the second parameter and display them at the console.

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 );
}
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);
   }
}
Imports System.Reflection

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

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
End Class

Commenti

Questo metodo utilizza il metodo AttrsImpl.This method utilizes the AttrsImpl method.

Per ottenere la matrice di ParameterInfo, ottenere innanzitutto il metodo o il costruttore, quindi chiamare MethodBase.GetParameters.To get the ParameterInfo array, first get the method or the constructor and then call MethodBase.GetParameters.

Si applica a

Vedi anche