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]);
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



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

辞書ショートカット

すべての辞書の索引

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

   

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



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

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

©2024 GRAS Group, Inc.RSS