MethodBuilder.SetReturnType(Type) Metoda

Definice

Nastaví návratový typ metody.

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)

Parametry

returnType
Type

Objekt Type , který představuje návratový typ metody.

Výjimky

Aktuální metoda je obecná, ale nejedná se o definici obecné metody. To znamená, že IsGenericMethod vlastnost je true, ale vlastnost IsGenericMethodDefinition je false.

Příklady

Následující příklad kódu používá metodu DefineGenericParameters k vytvoření obecné metody. Metoda SetParameters se používá k zadání jednoho parametru metody, jehož typ bude určen prvním parametrem obecného typu. Metoda SetReturnType se používá k zadání návratového typu metody určeného druhým parametrem obecného typu.

Tento kód je součástí většího příkladu, který je k dispozici pro metodu 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.
//
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))

Poznámky

Tuto metodu použijte k nastavení návratového typu obecné metody, pokud je návratový typ určen jedním z obecných parametrů typu metody. Pokud má návratový typ volitelné nebo požadované vlastní modifikátory, například IsConst, použijte SetSignature(Type, Type[], Type[], Type[], Type[][], Type[][]) přetížení metody.

Volání této metody nahradí návratový typ vytvořený pomocí TypeBuilder.DefineMethod metody.

Platí pro

Viz také