MethodBuilder.SetReturnType(Type) 메서드

정의

메서드의 반환 형식을 설정합니다.

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)

매개 변수

returnType
Type

메서드의 반환 형식을 나타내는 Type 개체입니다.

예외

현재 메서드는 제네릭이지만 제네릭 메서드 정의는 아닙니다. 즉, IsGenericMethod 속성은 true지만 IsGenericMethodDefinition 속성은 false입니다.

예제

다음 코드 예제에서는 메서드를 DefineGenericParameters 사용하여 메서드를 제네릭으로 만듭니다. 메서드는 SetParameters 첫 번째 제네릭 형식 매개 변수에 의해 형식을 지정하는 하나의 매개 변수를 메서드에 제공하는 데 사용됩니다. 메서드는 SetReturnType 메서드에 두 번째 제네릭 형식 매개 변수로 지정된 반환 형식을 제공하는 데 사용됩니다.

이 코드는 메서드에 제공된 더 큰 예제의 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))

설명

반환 형식이 메서드의 제네릭 형식 매개 변수 중 하나로 지정된 경우 이 메서드를 사용하여 제네릭 메서드의 반환 형식을 설정합니다. 반환 형식에 선택적 또는 필요한 사용자 지정 한정자(예: IsConst)가 있는 경우 메서드 오버로드를 SetSignature(Type, Type[], Type[], Type[], Type[][], Type[][]) 사용합니다.

이 메서드를 호출하면 메서드를 사용하여 설정된 반환 형식이 TypeBuilder.DefineMethod 바뀝니다.

적용 대상

추가 정보