英語で読む

次の方法で共有


MethodBuilder.GetParameters メソッド

定義

このメソッドのパラメーターを返します。

C#
public override System.Reflection.ParameterInfo[] GetParameters ();

戻り値

メソッドへの引数を表す ParameterInfo オブジェクトの配列。

例外

このメソッドは現在サポートされていません。 GetMethod(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) を使用してメソッドを取得し、返された MethodInfo に対して GetParameters を呼び出します。

次のコード サンプルは、 を使用 GetParameters して、動的に生成されたメソッドに渡されるパラメーターに関する情報を検出する方法を示しています。

C#

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());
    }

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1