ParameterInfo.Attributes Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá atributy pro tento parametr.
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
Hodnota vlastnosti
Objekt ParameterAttributes
představující atributy pro tento parametr.
Příklady
Následující příklad definuje metodu se třemi parametry. Používá Attributes vlastnost k získání atributů druhého parametru a jejich zobrazení v konzole.
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
Poznámky
Tato metoda využívá metodu AttrsImpl .
Chcete-li získat ParameterInfo pole, nejprve získejte metodu nebo konstruktor a pak zavolejte MethodBase.GetParameters.