ParameterInfo.Name Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene el nombre del parámetro.
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
Valor de propiedad
Nombre sencillo de este parámetro.
Ejemplos
En el ejemplo siguiente se muestra cómo obtener ParameterInfo objetos para los parámetros de un método y, a continuación, usar la Name propiedad para obtener los nombres de parámetro.
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
Comentarios
Esta propiedad utiliza el campo protegido NameImpl y depende de una marca de metadatos opcional que podría no estar disponible en todos los compiladores.
Para obtener la ParameterInfo matriz, primero obtenga el método o el constructor y, a continuación, llame al MethodBase.GetParameters método .
Advertencia
ParameterInfo Si representa un valor devuelto (es decir, si se obtuvo mediante la MethodInfo.ReturnParameter propiedad ), esta propiedad será null
.