Freigeben über


OpCodes.Refanyval Feld

Definition

Ruft die Adresse (Typ &) ab, die in einen typisierten Verweis eingebettet ist.

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

Feldwert

Hinweise

In der folgenden Tabelle sind das Hexadezimal- und MSIL-Assemblyformat (Microsoft Intermediate Language) der Anweisung sowie eine kurze Referenzzusammenfassung aufgeführt:

Format Assemblyformat BESCHREIBUNG
C2 <T> refanyval type Pusht die Adresse, die in einem typisierten Verweis gespeichert ist.

Das Stapelübergangsverhalten in sequenzieller Reihenfolge lautet:

  1. Ein Werttypverweis wird auf den Stapel gepusht.

  2. Der typisierte Verweis wird aus dem Stapel gekippt und die entsprechende Adresse abgerufen.

  3. Die Adresse wird auf den Stapel gepusht.

Ein typisierter Verweis enthält ein Typtoken und eine Adresse für ein Objekt instance.

Die refanyval Anweisung ruft die Adresse ab, die in den typisierten Verweis eingebettet ist. Der in den typisierten Verweis eingebettete Typ, der im Stapel bereitgestellt wird, muss mit dem von angegebenen Typ übereinstimmen (ein Metadatentoken type , entweder ein typedef oder ein typeref). Informationen zu verwandten Inhalten finden Sie in der Mkrefany Anweisung.

InvalidCastException wird ausgelöst, wenn type nicht mit dem im Typverweis gespeicherten Typ identisch ist (in diesem Fall die Klasse, die für die Anweisung bereitgestellt wird, type die Mkrefany diesen typisierten Verweis erstellt hat).

TypeLoadException wird ausgelöst, wenn type nicht gefunden werden kann.

Die folgende Emit Methodenüberladung kann den refanyval opcode verwenden:

Gilt für: