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 進数と Microsoft Intermediate Language (MSIL) アセンブリ形式と、簡単なリファレンスの概要を示します。
| 形式 | アセンブリ形式 | 説明 |
|---|---|---|
74 <T> |
castclass class |
オブジェクトを 型の新しいオブジェクトにキャストします class。 |
スタック遷移の動作は、順番に次のようになります。
オブジェクト参照がスタックにプッシュされます。
オブジェクト参照はスタックからポップされます。参照先オブジェクトは、指定した としてキャストされます
class。成功した場合、新しいオブジェクト参照がスタックにプッシュされます。
命令は castclass 、スタックの上にあるオブジェクト参照 (型 O) を指定したクラスにキャストしようとします。 新しいクラスは、目的のクラスを示すメタデータ トークンによって指定されます。 スタックの上部にある オブジェクトのクラスが新しいクラスを実装せず (新しいクラスがインターフェイスであると仮定)、新しいクラスの派生クラスでない場合は、 InvalidCastException がスローされます。 オブジェクト参照が null 参照の場合、 は成功し、 castclass 新しいオブジェクトを null 参照として返します。
InvalidCastException は、obj をクラスにキャストできない場合にスローされます。
TypeLoadException クラスが見つからない場合は がスローされます。 これは通常、Microsoft Intermediate Language (MSIL) 命令が実行時ではなくネイティブ コードに変換されるときに検出されます。
次 Emit のメソッド オーバーロードでは、オペコードを castclass 使用できます。