MethodBuilder.GetParameters メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > MethodBuilder.GetParameters メソッドの意味・解説 

MethodBuilder.GetParameters メソッド

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

名前空間: System.Reflection.Emit
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Overrides Function
 GetParameters As ParameterInfo()
Dim instance As MethodBuilder
Dim returnValue As ParameterInfo()

returnValue = instance.GetParameters
public override ParameterInfo[] GetParameters ()
public:
virtual array<ParameterInfo^>^ GetParameters () override
public ParameterInfo[] GetParameters ()
public override function GetParameters () :
 ParameterInfo[]

戻り値
このメソッドパラメータを表す ParameterInfo オブジェクト配列

例外例外
例外種類条件

NotSupportedException

このメソッドは、現在サポートされていません。GetMethod を使用してメソッド取得し返された MethodInfo に対して GetParameters呼び出します。

使用例使用例

GetParameters使用して動的に生成したメソッド渡されるパラメータに関する情報取得する方法については、次のコード例参照してください

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

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

    }

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, Void.class.ToType(),
    new Type[] { Type.GetType("System.Int32&"),
 int.class.ToType() });
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.get_Name());
for (int iCtr = 0; iCtr < myParams.length;
 iCtr++) {
    ParameterInfo myParam = myParams[iCtr];
    Console.WriteLine(
        "------- Parameter: {0} {1} at pos {2},with attribute {3}",
        new Object[] { myParam.get_ParameterType(), myParam.get_Name()
,
        System.Convert.ToString(myParam.get_Position()),
        myParam.get_Attributes().ToString() });
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
MethodBuilder クラス
MethodBuilder メンバ
System.Reflection.Emit 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

MethodBuilder.GetParameters メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



MethodBuilder.GetParameters メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS