OpCodes.Castclass Veld

Definitie

Pogingen om een object te casten dat wordt doorgegeven door verwijzing naar de opgegeven klasse.

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 

Waarde van veld

Kenmerken

Opmerkingen

De volgende tabel bevat de hexadecimale en Microsoft MSIL-assembly-indeling (Tussenliggende taal), samen met een beknopt overzicht:

Format Assembly-indeling Description
74 <T> castclass class Cast een object naar een nieuw object van het type class.

Het overgangsgedrag van de stack, in opeenvolgende volgorde, is:

  1. Er wordt een objectverwijzing naar de stapel gepusht.

  2. De objectverwijzing wordt uit de stapel gepopt; het object waarnaar wordt verwezen, wordt gecast als de opgegeven class.

  3. Als dit lukt, wordt een nieuwe objectverwijzing naar de stack gepusht.

De castclass instructie probeert de objectverwijzing (type O) boven op de stack te casten naar een opgegeven klasse. De nieuwe klasse wordt opgegeven met een metagegevenstoken dat de gewenste klasse aangeeft. Als de klasse van het object boven aan de stack de nieuwe klasse niet implementeert (ervan uitgaande dat de nieuwe klasse een interface is) en geen afgeleide klasse van de nieuwe klasse is, wordt er een InvalidCastException gegenereerd. Als de objectverwijzing een null-verwijzing is, castclass slaagt en retourneert het nieuwe object als null-verwijzing.

InvalidCastException wordt gegooid als obj niet naar klasse kan worden gegooid.

TypeLoadException wordt gegenereerd als klasse niet kan worden gevonden. Dit wordt meestal gedetecteerd wanneer een Microsoft MSIL-instructie (Intermediate Language) wordt geconverteerd naar systeemeigen code in plaats van tijdens runtime.

De volgende Emit overbelasting van de methode kan de castclass opcode gebruiken:

Van toepassing op