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

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

MethodBuilder.SetParameters メソッド

メモ : このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。

メソッドのパラメータの数と型を設定します。

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

Public Sub SetParameters ( _
    ParamArray parameterTypes As Type() _
)
Dim instance As MethodBuilder
Dim parameterTypes As Type()

instance.SetParameters(parameterTypes)
public void SetParameters (
    params Type[] parameterTypes
)
public:
void SetParameters (
    ... array<Type^>^ parameterTypes
)
public void SetParameters (
    Type[] parameterTypes
)
public function SetParameters (
    ... parameterTypes : Type[]
)

パラメータ

parameterTypes

パラメータの型を表す Type オブジェクトの配列。

例外例外
例外の種類条件

InvalidOperationException

現在のメソッドはジェネリック メソッドですが、ジェネリック メソッドの定義ではありません。つまり、IsGenericMethod プロパティは true ですが、IsGenericMethodDefinition プロパティが false です。

解説解説

メソッドを定義するときにパラメータの数と型がわからない場合は、パラメータの型の配列を受け入れる System.Reflection.Emit.TypeBuilder.DefineMethod メソッドの任意のオーバーロードを使用してこれらを設定できます。ただし、ジェネリック メソッドは、1 つ以上の独自のジェネリック型パラメータで型が指定されたパラメータを持つことができます。これらのパラメータは、メソッドが定義されるまで定義できません。その場合は、このメソッドを使用してパラメータの型を設定します。

戻り値の型に、IsConst などのオプションまたは必須のカスタム修飾子がある場合は、SetSignature メソッド オーバーロードを使用します。

このメソッドを呼び出すと、System.Reflection.Emit.TypeBuilder.DefineMethod メソッドを使用して設定されたパラメータの型が置き換えられます。

使用例使用例

DefineGenericParameters メソッドを使用して、メソッドをジェネリックにするコード例を次に示します。SetParameters メソッドを使用して、メソッドにパラメータを 1 つ提供します。このパラメータの型は、1 つ目のジェネリック型パラメータで指定されます。SetReturnType メソッドを使用して、メソッドに戻り値の型を提供します。戻り値の型は、2 つ目のジェネリック型パラメータで指定されます。

このコードは、DefineGenericParameters メソッドのトピックで取り上げているコード例の一部分です。

        ' Defining generic parameters for the method makes it a
        ' generic method. By convention, type parameters are 
        ' single alphabetic characters. T and U are used here.
        '
        Dim typeParamNames() As String
 = {"T", "U"}
        Dim typeParameters() As GenericTypeParameterBuilder
 = _
            demoMethod.DefineGenericParameters(typeParamNames)

        ' The second type parameter is constrained to be a 
        ' reference type.
        typeParameters(1).SetGenericParameterAttributes( _
            GenericParameterAttributes.ReferenceTypeConstraint)
<br /><span space="preserve">...</span><br
 />        ' Set parameter types for the method. The method takes
        ' one parameter, and its type is specified by the first
        ' type parameter, T.
        Dim params() As Type = {typeParameters(0)}
        demoMethod.SetParameters(params)

        ' Set the return type for the method. The return type is
        ' specified by the second type parameter, U.
        demoMethod.SetReturnType(typeParameters(1))
        // Defining generic parameters for the method makes it a
        // generic method. By convention, type parameters are 
        // single alphabetic characters. T and U are used here.
        //
        string[] typeParamNames = {"T", "U"};
        GenericTypeParameterBuilder[] typeParameters = 
            demoMethod.DefineGenericParameters(typeParamNames);

        // The second type parameter is constrained to be a 
        // reference type.
        typeParameters[1].SetGenericParameterAttributes( 
            GenericParameterAttributes.ReferenceTypeConstraint);
<br /><span space="preserve">...</span><br /> 
       // Set parameter types for the method. The method takes
        // one parameter, and its type is specified by the first
        // type parameter, T.
        Type[] parms = {typeParameters[0]};
        demoMethod.SetParameters(parms);

        // Set the return type for the method. The return type is
        // specified by the second type parameter, U.
        demoMethod.SetReturnType(typeParameters[1]);
    // Defining generic parameters for the method makes it a
    // generic method. By convention, type parameters are
    // single alphabetic characters. T and U are used here.
    //
    array<String^>^ genericTypeNames = {"T", "U"};
    array<GenericTypeParameterBuilder^>^ genericTypes =
        sampleMethodBuilder->DefineGenericParameters(
        genericTypeNames);
<br /><span space="preserve">...</span><br /> 
   // Set parameter types for the method. The method takes
    // one parameter, and its type is specified by the first
    // type parameter, T.
    array<Type^>^ parameterTypes = {genericTypes[0]};
    sampleMethodBuilder->SetParameters(parameterTypes);

    // Set the return type for the method. The return type is
    // specified by the second type parameter, U.
    sampleMethodBuilder->SetReturnType(genericTypes[1]);
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

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

   

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



MethodBuilder.SetParameters メソッドのページの著作権

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

©2026 GRAS Group, Inc.RSS