Udostępnij za pośrednictwem


MethodBuilder.SetReturnType(Type) Metoda

Definicja

Ustawia zwracany 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

Type Obiekt reprezentujący zwracany typ metody.

Wyjątki

Bieżąca metoda jest ogólna, ale nie jest definicją metody ogólnej. Oznacza to, IsGenericMethod że właściwość to true, ale IsGenericMethodDefinition właściwość to false.

Przykłady

W poniższym przykładzie kodu użyto DefineGenericParameters metody , aby utworzyć metodę ogólną. Metoda SetParameters służy do nadania metodzie jednego parametru, którego typ zostanie określony przez pierwszy parametr typu ogólnego. Metoda SetReturnType służy do nadania metodzie zwracanego typu określonego przez drugi parametr typu ogólnego.

Ten kod jest częścią większego przykładu udostępnionego DefineGenericParameters dla metody .

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

Uwagi

Ta metoda służy do ustawiania zwracanego typu metody ogólnej, gdy zwracany typ jest określony przez jeden z parametrów typu ogólnego metody. Jeśli zwracany typ ma opcjonalne lub wymagane modyfikatory niestandardowe, takie jak IsConst, użyj SetSignature(Type, Type[], Type[], Type[], Type[][], Type[][]) przeciążenia metody.

Wywołanie tej metody zastępuje typ zwracany ustanowiony przy użyciu TypeBuilder.DefineMethod metody .

Dotyczy

Zobacz też