다음을 통해 공유


OpCodes.Ret 필드

정의

현재 메서드에서 제어를 반환하고 반환 값이 있을 경우 호출 수신자의 계산 스택에서 호출자의 계산 스택으로 푸시합니다.

public: static initonly System::Reflection::Emit::OpCode Ret;
public static readonly System.Reflection.Emit.OpCode Ret;
 staticval mutable Ret : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ret As OpCode 

필드 값

설명

다음 표에서는 간단한 참조 요약과 함께 명령의 16진수 및 MSIL(Microsoft Intermediate Language) 어셈블리 형식을 나열합니다.

서식 어셈블리 형식 Description
2A ret 값을 반환할 수 있는 메서드에서 를 반환합니다.

스택 전환 동작은 순차적으로 다음과 같습니다.

  1. 호출 수신자 평가 스택에서 반환 값이 표시됩니다.

  2. 1단계에서 가져온 반환 값은 호출자 평가 스택으로 푸시됩니다.

호출 수신자 평가 스택에 반환 값이 없으면 값이 반환되지 않습니다(호출 수신자 또는 호출자 메서드에 대한 스택 전환 동작 없음).

현재 메서드의 반환 값 형식(있는 경우)은 스택의 맨 위에서 가져오고 현재 메서드를 호출한 메서드의 스택에 복사할 값의 형식을 결정합니다. 반환할 값을 제외하고 현재 메서드에 대한 평가 스택은 비어 있어야 합니다.

명령은 ret , filter, catch또는 finally 블록에서 제어를try 전송하는 데 사용할 수 없습니다. 또는 내에서 try 모든 바깥쪽 예외 블록 밖에 있는 명령의 ret 대상과 함께 명령을 사용합니다Leave.catch filterfinally 블록은 논리적으로 예외 처리의 일부이며 코드가 포함된 메서드가 아니므로 올바르게 생성된 MSIL(Microsoft Intermediate Language) 지침은 또는 finally내에서 메서드 반환을 filter 수행하지 않습니다.

다음 Emit 메서드 오버로드는 opcode를 ret 사용할 수 있습니다.

적용 대상