MethodBuilder.SetParameters メソッド
アセンブリ: mscorlib (mscorlib.dll 内)



メソッドを定義するときにパラメータの数と型がわからない場合は、パラメータの型の配列を受け入れる 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]);

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からMethodBuilder.SetParameters メソッドを検索する場合は、下記のリンクをクリックしてください。

- MethodBuilder.SetParameters メソッドのページへのリンク