OpCodes.Ret 필드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 메서드에서 제어를 반환하고 반환 값이 있을 경우 호출 수신자의 계산 스택에서 호출자의 계산 스택으로 푸시합니다.
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단계에서 가져온 반환 값은 호출자 평가 스택으로 푸시됩니다.
호출 수신자 평가 스택에 반환 값이 없으면 값이 반환되지 않습니다(호출 수신자 또는 호출자 메서드에 대한 스택 전환 동작 없음).
현재 메서드의 반환 값 형식(있는 경우)은 스택의 맨 위에서 가져오고 현재 메서드를 호출한 메서드의 스택에 복사할 값의 형식을 결정합니다. 반환할 값을 제외하고 현재 메서드에 대한 평가 스택은 비어 있어야 합니다.
명령은 ret
, filter
, catch
또는 finally
블록에서 제어를try
전송하는 데 사용할 수 없습니다. 또는 내에서 try
모든 바깥쪽 예외 블록 밖에 있는 명령의 ret
대상과 함께 명령을 사용합니다Leave.catch
filter
및 finally
블록은 논리적으로 예외 처리의 일부이며 코드가 포함된 메서드가 아니므로 올바르게 생성된 MSIL(Microsoft Intermediate Language) 지침은 또는 finally
내에서 메서드 반환을 filter
수행하지 않습니다.
다음 Emit 메서드 오버로드는 opcode를 ret
사용할 수 있습니다.
적용 대상
.NET