OpCodes.Ret 필드
현재 메서드에서 제어를 반환하고 반환 값이 있을 경우 호출 수신자의 계산 스택에서 호출자의 계산 스택으로 푸시합니다.
네임스페이스: System.Reflection.Emit
어셈블리: mscorlib(mscorlib.dll)
구문
‘선언
Public Shared ReadOnly Ret As OpCode
‘사용 방법
Dim value As OpCode
value = OpCodes.Ret
public static readonly OpCode Ret
public:
static initonly OpCode Ret
public static final OpCode Ret
public static final var Ret : OpCode
설명
다음 표에서는 명령의 16진수 및 MSIL(Microsoft Intermediate Language) 어셈블리 형식을 간단한 설명과 함께 나열합니다.
형식 |
어셈블리 형식 |
설명 |
---|---|---|
2A |
ret |
메서드에서 제어를 반환하고 가능한 경우 값을 반환합니다. |
다음과 같이 순차적으로 스택 전환 동작이 발생합니다.
호출 수신자의 계산 스택에서 반환 값이 팝됩니다.
1단계에서 구한 반환 값이 호출자의 계산 스택으로 푸시됩니다.
호출 수신자 계산 스택에 반환 값이 없으면 값이 반환되지 않습니다. 호출 수신자나 호출자 메서드에는 스택 전환 동작이 없습니다.
현재 메서드의 반환 값이 있을 경우 반환 값 형식이 스택 맨 위에서 페치될 값 형식과 현재 메서드를 호출한 메서드의 스택으로 복사될 값 형식을 결정합니다. 현재 메서드에 대한 계산 스택은 반환될 값을 제외하고 비어 있어야 합니다.
ret 명령을 사용하여 try, filter, catch 또는 finally 블록 밖으로 제어를 전달할 수 있습니다. try나 catch에서 모든 상위 예외 블록 밖에 있는 ret 명령의 대상과 함께 Leave 명령을 사용하십시오. filter와 finally 블록은 논리적으로 예외 처리의 일부이며 코드가 포함된 메서드가 아니므로 올바르게 생성된 MSIL(Microsoft Intermediate Language) 명령은 filter나 finally에서 메서드를 반환하지 않습니다.
다음 Emit 메서드 오버로드는 ret opcode를 사용할 수 있습니다.
- ILGenerator.Emit(OpCode)
플랫폼
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
2.0, 1.1, 1.0에서 지원