MethodBuilder.SetReturnType(Type) Método

Definición

Establece el tipo devuelto del método.

public:
 void SetReturnType(Type ^ returnType);
public void SetReturnType (Type? returnType);
public void SetReturnType (Type returnType);
member this.SetReturnType : Type -> unit
Public Sub SetReturnType (returnType As Type)

Parámetros

returnType
Type

Objeto Type que representa el tipo devuelto del método.

Excepciones

El método actual es genérico, pero no es una definición de método genérico. Es decir, la propiedad IsGenericMethod es true, pero la propiedad IsGenericMethodDefinition es false.

Ejemplos

En el ejemplo de código siguiente se DefineGenericParameters usa el método para convertir un método en genérico. El SetParameters método se usa para proporcionar al método un parámetro, cuyo tipo se especificará mediante el primer parámetro de tipo genérico. El SetReturnType método se usa para proporcionar al método un tipo de valor devuelto, especificado por el segundo parámetro de tipo genérico.

Este código forma parte de un ejemplo mayor proporcionado para el DefineGenericParameters método .

// 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);
// 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);
' 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)
// 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]);
// 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]);
' 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))

Comentarios

Utilice este método para establecer el tipo de valor devuelto de un método genérico, cuando uno de los parámetros de tipo genérico del método especifica el tipo de valor devuelto. Si el tipo de valor devuelto tiene modificadores personalizados opcionales o obligatorios, como IsConst , use la sobrecarga del método SetSignature(Type, Type[], Type[], Type[], Type[][], Type[][]) .

Al llamar a este método se reemplaza un tipo de valor devuelto establecido mediante el TypeBuilder.DefineMethod método .

Se aplica a

Consulte también