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



戻り値の型がメソッドのジェネリック型パラメータのいずれかによって指定されている場合は、このメソッドを使用してジェネリック メソッドの戻り値の型を設定します。戻り値の型に、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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


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