OpCodes.Isinst Pole
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Testuje, zda je odkaz na objekt (typ O) instance konkrétní třídy.
public: static initonly System::Reflection::Emit::OpCode Isinst;
public static readonly System.Reflection.Emit.OpCode Isinst;
staticval mutable Isinst : System.Reflection.Emit.OpCode
Public Shared ReadOnly Isinst As OpCode
Hodnota pole
Poznámky
Následující tabulka uvádí šestnáctkový formát sestavení jazyka MSIL (Intermediate Language) a Microsoft s stručným přehledem referenčních informací:
| Formát | Formát sestavení | Description |
|---|---|---|
75 <T> |
isinst class |
Testuje, zda je odkaz na objekt instance class, vrací buď nulový odkaz, nebo instanci této třídy nebo rozhraní. |
Přechodné chování zásobníku v sekvenčním pořadí je:
Odkaz na objekt se nasdílí do zásobníku.
Odkaz na objekt se zobrazí ze zásobníku a otestuje se, zda se jedná o instanci třídy předané
class.Výsledek (odkaz na objekt nebo odkaz null) se vloží do zásobníku.
Class je token metadat označující požadovanou třídu. Pokud třída objektu v horní části zásobníku implementuje class (pokud class je rozhraní) nebo je odvozenou třídou (pokud class je běžná třída class ), přetypuje se na typ class a výsledek se nasdílí do zásobníku, stejně jako kdyby Castclass byl volána. V opačném případě se do zásobníku vloží nulový odkaz. Pokud samotný odkaz na objekt je odkaz null, vrátí isinst podobně nulový odkaz.
TypeLoadException je vyvolán, pokud nelze najít třídu. To se obvykle zjistí, když se instrukce jazyka MSIL (Microsoft Intermediate Language) místo za běhu převedou na nativní kód.
Emit Následující přetížení metody může použít isinst opcode: