MethodBuilder.GetParameters メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
このメソッドのパラメーターを返します。
public:
override cli::array <System::Reflection::ParameterInfo ^> ^ GetParameters();
public override System.Reflection.ParameterInfo[] GetParameters ();
override this.GetParameters : unit -> System.Reflection.ParameterInfo[]
Public Overrides Function GetParameters () As ParameterInfo()
戻り値
メソッドへの引数を表す ParameterInfo
オブジェクトの配列。
例外
このメソッドは現在サポートされていません。
GetMethod(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) を使用してメソッドを取得し、返された MethodInfo に対して GetParameters
を呼び出します。
例
次のコード サンプルは、 を使用 GetParameters
して、動的に生成されたメソッドに渡されるパラメーターに関する情報を検出する方法を示しています。
TypeBuilder^ myType1 = myModBuilder->DefineType( "MyMathFunctions", TypeAttributes::Public );
array<Type^>^temp0 = {Type::GetType( "System.Int32&" ),int::typeid};
MethodBuilder^ myMthdBuilder = myType1->DefineMethod( "AddToRefValue", MethodAttributes::Public, void::typeid, temp0 );
ParameterBuilder^ myParam1 = myMthdBuilder->DefineParameter( 1, ParameterAttributes::Out, "thePool" );
ParameterBuilder^ myParam2 = myMthdBuilder->DefineParameter( 2, ParameterAttributes::In, "addMeToPool" );
// Create body via ILGenerator here, and complete the type.
array<ParameterInfo^>^myParams = myMthdBuilder->GetParameters();
Console::WriteLine( "Method: {0}", myMthdBuilder->Name );
for each (ParameterInfo^ myParam in myParams)
{
Console::WriteLine("------- Parameter: {0} {1} at pos {2}, with attribute {3}",
myParam->ParameterType, myParam->Name, myParam->Position,
myParam->Attributes.ToString());
}
TypeBuilder myType1 = myModBuilder.DefineType("MyMathFunctions",
TypeAttributes.Public);
MethodBuilder myMthdBuilder = myType1.DefineMethod("AddToRefValue",
MethodAttributes.Public,
typeof(void),
new Type[] { Type.GetType("System.Int32&"),
typeof(int) });
ParameterBuilder myParam1 = myMthdBuilder.DefineParameter(1,
ParameterAttributes.Out,
"thePool");
ParameterBuilder myParam2 = myMthdBuilder.DefineParameter(2,
ParameterAttributes.In,
"addMeToPool");
// Create body via ILGenerator here, and complete the type.
ParameterInfo[] myParams = myMthdBuilder.GetParameters();
Console.WriteLine("Method: {0}", myMthdBuilder.Name);
foreach (ParameterInfo myParam in myParams)
{
Console.WriteLine("------- Parameter: {0} {1} at pos {2}, with attribute {3}",
myParam.ParameterType, myParam.Name, myParam.Position,
myParam.Attributes.ToString());
}
Dim myType1 As TypeBuilder = myModBuilder.DefineType("MyMathFunctions", _
TypeAttributes.Public)
Dim myMthdBuilder As MethodBuilder = myType1.DefineMethod("AddToRefValue", _
MethodAttributes.Public, Nothing, _
New Type() {Type.GetType("System.Int32&"), GetType(Integer)})
Dim myParam1 As ParameterBuilder = myMthdBuilder.DefineParameter(1, _
ParameterAttributes.Out, "thePool")
Dim myParam2 As ParameterBuilder = myMthdBuilder.DefineParameter(2, _
ParameterAttributes.In, "addMeToPool")
' Create body via ILGenerator here, and complete the type.
Dim myParams As ParameterInfo() = myMthdBuilder.GetParameters()
Console.WriteLine("Method: {0}", myMthdBuilder.Name)
Dim myParam As ParameterInfo
For Each myParam In myParams
Console.WriteLine("------- Parameter: {0} {1} at pos {2}, with attribute {3}", _
myParam.ParameterType, myParam.Name, myParam.Position, _
myParam.Attributes.ToString())
Next myParam
適用対象
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET