ParameterInfo.Attributes Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera atrybuty tego parametru.
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
Wartość właściwości
ParameterAttributes
Obiekt reprezentujący atrybuty tego parametru.
Przykłady
W poniższym przykładzie zdefiniowano metodę z trzema parametrami. Używa Attributes właściwości , aby pobrać atrybuty drugiego parametru i wyświetlić je w konsoli programu .
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
Uwagi
Ta metoda wykorzystuje metodę AttrsImpl .
Aby uzyskać tablicę, najpierw pobierz metodę ParameterInfo lub konstruktor, a następnie wywołaj metodę MethodBase.GetParameters.