OpCodes.Castclass 필드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
참조로 전송된 개체를 지정된 클래스로 캐스팅하려고 합니다.
public: static initonly System::Reflection::Emit::OpCode Castclass;
public static readonly System.Reflection.Emit.OpCode Castclass;
[System.Runtime.InteropServices.ComVisible(true)]
public static readonly System.Reflection.Emit.OpCode Castclass;
staticval mutable Castclass : System.Reflection.Emit.OpCode
[<System.Runtime.InteropServices.ComVisible(true)>]
staticval mutable Castclass : System.Reflection.Emit.OpCode
Public Shared ReadOnly Castclass As OpCode
필드 값
- 특성
설명
다음 표에서는 간단한 참조 요약과 함께 명령의 16진수 및 MSIL(Microsoft Intermediate Language) 어셈블리 형식을 나열합니다.
서식 | 어셈블리 형식 | Description |
---|---|---|
74 <T > |
castclass class |
개체를 형식 class 의 새 개체로 캐스팅합니다. |
스택 전환 동작은 순차적으로 다음과 같습니다.
개체 참조가 스택에 푸시됩니다.
개체 참조가 스택에서 튀어나온 경우 참조된 개체가 지정된 로 캐스팅됩니다
class
.성공하면 새 개체 참조가 스택에 푸시됩니다.
명령은 castclass
스택 위에 있는 개체 참조(형식 O
)를 지정된 클래스로 캐스팅하려고 시도합니다. 새 클래스는 원하는 클래스를 나타내는 메타데이터 토큰으로 지정됩니다. 스택 맨 위에 있는 개체의 클래스가 새 클래스를 구현하지 않고(새 클래스가 인터페이스라고 가정) 새 클래스의 파생 클래스가 아닌 경우 가 InvalidCastException throw됩니다. 개체 참조가 null 참조 castclass
이면 가 성공하고 새 개체를 null 참조로 반환합니다.
InvalidCastException obj를 클래스로 캐스팅할 수 없는 경우 throw됩니다.
TypeLoadException 클래스를 찾을 수 없는 경우 throw됩니다. 일반적으로 MSIL(Microsoft Intermediate Language) 명령이 런타임이 아닌 네이티브 코드로 변환될 때 검색됩니다.
다음 Emit 메서드 오버로드는 opcode를 castclass
사용할 수 있습니다.
적용 대상
.NET