OpCodes.Unbox Veld

Definitie

Converteert de vakkenweergave van een waardetype naar het niet-geplaatste formulier.

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

Waarde van veld

Opmerkingen

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

Format Assembly-indeling Description
79 <T> Postvak UIT valType Extraheert de waardetypegegevens uit obj, de vakkenweergave.

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 en wordt uitgepakt naar een aanwijzer voor het waardetype.

  3. De aanwijzer voor het waardetype wordt naar de stapel gepusht.

Een waardetype heeft twee afzonderlijke weergaven in de Common Language Infrastructure (CLI):

  • Een onbewerkt formulier dat wordt gebruikt wanneer een waardetype is ingesloten in een ander object.

  • Een 'boxed'-formulier, waarbij de gegevens in het waardetype worden verpakt (in een vak) in een object, zodat het kan bestaan als een onafhankelijke entiteit.

Met unbox de instructie wordt de objectverwijzing (type O), de vakkenweergave van een waardetype geconverteerd naar een waardetypepointer (een beheerde aanwijzer, type &), het niet-ingepakte formulier. Het opgegeven waardetype (valType) is een metagegevenstoken dat aangeeft welk type waarde is opgenomen in het object in het vak.

In tegenstelling tot Box, wat vereist is om een kopie van een waardetype te maken voor gebruik in het object, unbox is niet vereist om het waardetype van het object te kopiƫren. Normaal gesproken wordt eenvoudig het adres berekend van het waardetype dat al aanwezig is in het vakobject.

InvalidCastException wordt gegenereerd als het object niet in het vak wordt geplaatst als valType.

NullReferenceException wordt gegenereerd als de objectverwijzing een null-verwijzing is.

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

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

Van toepassing op