ParameterInfo.Name 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 nazwę parametru.
public:
virtual property System::String ^ Name { System::String ^ get(); };
public virtual string Name { get; }
public virtual string? Name { get; }
member this.Name : string
Public Overridable ReadOnly Property Name As String
Wartość właściwości
Prosta nazwa tego parametru.
Przykłady
W poniższym przykładzie pokazano, jak pobrać ParameterInfo obiekty dla parametrów metody, a następnie użyć Name właściwości w celu uzyskania nazw parametrów.
using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::InteropServices;
public ref class parminfo
{
public:
static void mymethod( int int1m, [Out]interior_ptr<String^> str2m, interior_ptr<String^> str3m )
{
*str2m = "in mymethod";
}
};
int main()
{
Console::WriteLine( "\nReflection.Parameterinfo" );
//Get the ParameterInfo parameter of a function.
//Get the type.
Type^ Mytype = Type::GetType( "parminfo" );
//Get and display the method.
MethodBase^ Mymethodbase = Mytype->GetMethod( "mymethod" );
Console::Write( "\nMymethodbase = {0}", Mymethodbase );
//Get the ParameterInfo array.
array<ParameterInfo^>^Myarray = Mymethodbase->GetParameters();
//Get and display the name of each parameter.
System::Collections::IEnumerator^ enum0 = Myarray->GetEnumerator();
while ( enum0->MoveNext() )
{
ParameterInfo^ Myparam = safe_cast<ParameterInfo^>(enum0->Current);
Console::Write( "\nFor parameter # {0}, the Name is - {1}", Myparam->Position, Myparam->Name );
}
return 0;
}
/*
This code produces the following output:
Reflection.ParameterInfo
Mymethodbase
= Void mymethod (Int32, System.String ByRef, System.String ByRef)
For parameter # 0, the Name is - int1m
For parameter # 1, the Name is - str2m
For parameter # 2, the Name is - str3m
*/
using System;
using System.Reflection;
class parminfo
{
public static void mymethod (
int int1m, out string str2m, ref string str3m)
{
str2m = "in mymethod";
}
public static int Main(string[] args)
{
Console.WriteLine("\nReflection.Parameterinfo");
//Get the ParameterInfo parameter of a function.
//Get the type.
Type Mytype = Type.GetType("parminfo");
//Get and display the method.
MethodBase Mymethodbase = Mytype.GetMethod("mymethod");
Console.Write("\nMymethodbase = " + Mymethodbase);
//Get the ParameterInfo array.
ParameterInfo[] Myarray = Mymethodbase.GetParameters();
//Get and display the name of each parameter.
foreach (ParameterInfo Myparam in Myarray)
{
Console.Write ("\nFor parameter # " + Myparam.Position
+ ", the Name is - " + Myparam.Name);
}
return 0;
}
}
/*
This code produces the following output:
Reflection.ParameterInfo
Mymethodbase
= Void mymethod (int, System.String ByRef, System.String ByRef)
For parameter # 0, the Name is - int1m
For parameter # 1, the Name is - str2m
For parameter # 2, the Name is - str3m
*/
Imports System.Reflection
Class parminfo
Public Shared Sub mymethod(int1m As Integer, ByRef str2m As String, _
ByRef str3m As String)
str2m = "in mymethod"
End Sub
Public Shared Function Main() As Integer
Console.WriteLine(ControlChars.CrLf + "Reflection.Parameterinfo")
'Get the ParameterInfo parameter of a function.
'Get the type.
Dim Mytype As Type = Type.GetType("parminfo")
'Get and display the method.
Dim Mymethodbase As MethodBase = Mytype.GetMethod("mymethod")
Console.Write(ControlChars.CrLf _
+ "Mymethodbase = " + Mymethodbase.ToString())
'Get the ParameterInfo array.
Dim Myarray As ParameterInfo() = Mymethodbase.GetParameters()
'Get and display the name of each parameter.
Dim Myparam As ParameterInfo
For Each Myparam In Myarray
Console.Write(ControlChars.CrLf _
+ "For parameter # " + Myparam.Position.ToString() _
+ ", the Name is - " + Myparam.Name)
Next Myparam
Return 0
End Function
End Class
' This code produces the following output:
'
' Reflection.ParameterInfo
'
' Mymethodbase
' = Void mymethod (Int32, System.String ByRef, System.String ByRef)
' For parameter # 0, the Name is - int1m
' For parameter # 1, the Name is - str2m
' For parameter # 2, the Name is - str3m
Uwagi
Ta właściwość korzysta z pola chronionego NameImpl i zależy od opcjonalnej flagi metadanych, która może nie być dostępna we wszystkich kompilatorach.
Aby uzyskać tablicę, najpierw pobierz metodę ParameterInfo lub konstruktor, a następnie wywołaj metodę MethodBase.GetParameters .
Ostrzeżenie
Jeśli reprezentuje to ParameterInfo wartość zwracaną (czyli jeśli została uzyskana przy użyciu MethodInfo.ReturnParameter właściwości), ta właściwość będzie mieć null
wartość .