MethodBuilder.SetReturnType(Type) Methode

Definition

Legt den Rückgabetyp der Methode fest.

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)

Parameter

returnType
Type

Ein Type-Objekt, das den Rückgabetyp der Methode darstellt.

Ausnahmen

Die aktuelle Methode ist generisch, die Methodendefinition ist aber nicht generisch. Das bedeutet, die IsGenericMethod-Eigenschaft ist true, aber die IsGenericMethodDefinition-Eigenschaft ist false.

Beispiele

Im folgenden Codebeispiel wird die DefineGenericParameters -Methode verwendet, um eine Methode generisch zu machen. Die SetParameters -Methode wird verwendet, um der -Methode einen Parameter zuzuweisen, dessen Typ vom ersten generischen Typparameter angegeben wird. Die SetReturnType -Methode wird verwendet, um der Methode einen Rückgabetyp zu geben, der durch den zweiten generischen Typparameter angegeben wird.

Dieser Code ist Teil eines größeren Beispiels für die DefineGenericParameters -Methode.

// 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))

Hinweise

Verwenden Sie diese Methode, um den Rückgabetyp einer generischen Methode festzulegen, wenn der Rückgabetyp von einem der generischen Typparameter der Methode angegeben wird. Wenn der Rückgabetyp über optionale oder erforderliche benutzerdefinierte Modifizierer verfügt, z IsConst. B. , verwenden Sie die SetSignature(Type, Type[], Type[], Type[], Type[][], Type[][]) Methodenüberladung.

Durch aufrufen dieser Methode wird ein Rückgabetyp ersetzt, der mithilfe der TypeBuilder.DefineMethod -Methode eingerichtet wurde.

Gilt für:

Weitere Informationen