다음을 통해 공유


OpCodes.Leave 필드

정의

조건에 관계없이 특정 대상 명령으로 제어를 전송하여 보호되는 코드 영역을 끝냅니다.

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

필드 값

설명

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

서식 어셈블리 형식 Description
Dd <int32> 남겨 target 보호된 코드 영역을 종료합니다.

이 명령에 대해 지정된 스택 전환 동작이 없습니다.

명령은 leave 제어를 특정 대상 명령으로 무조건 전송합니다. 이 명령은 현재 지침에 따라 명령의 시작 부분에서 4 바이트 서명된 오프셋으로 표시됩니다.

leave 명령은 명령과 비슷하 br 지만 , filter또는 catch 블록을 종료try하는 데 사용할 수 있는 반면 일반 분기 명령은 이러한 블록에서만 제어를 전송할 수 있습니다. 명령은 leave 평가 스택을 비우고 적절한 주변 finally 블록이 실행되도록 합니다.

명령을 사용하여 leave 블록을 종료 finally 할 수 없습니다. 예외 처리기에 대한 코드 생성을 용이하게 하기 위해 catch 블록 내에서 제어를 연결된 try 블록 내의 모든 명령으로 전송하는 명령을 사용하는 leave 것이 유효합니다.

명령에 하나 이상의 접두사 코드가 있는 경우 컨트롤은 이러한 접두사 중 첫 번째 접두사로만 전송할 수 있습니다.

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

적용 대상