OpCodes.Ldfld 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í.
Vyhledá hodnotu pole v objektu, jehož odkaz je aktuálně ve zkušebním zásobníku.
public: static initonly System::Reflection::Emit::OpCode Ldfld;
public static readonly System.Reflection.Emit.OpCode Ldfld;
staticval mutable Ldfld : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldfld As OpCode
Hodnota pole
Poznámky
Následující tabulka uvádí šestnáctkový formát sestavení instrukce a formát sestavení MSIL (Microsoft Intermediate Language) spolu se stručným přehledem referencí:
Formát | Formát sestavení | Description |
---|---|---|
7B <T > |
Ldfld field |
Nasdílí hodnotu pole v zadaném objektu do zásobníku. |
Přechodné chování zásobníku v sekvenčním pořadí je:
Odkaz na objekt (nebo ukazatel) je vložen do zásobníku.
Odkaz na objekt (nebo ukazatel) je vyskočil ze zásobníku; hodnota zadaného pole v objektu byla nalezena.
Hodnota uložená v poli se odešle do zásobníku.
Instrukce ldfld
vloží hodnotu pole umístěného v objektu do zásobníku. Objekt musí být v zásobníku jako odkaz na objekt (typ O
), spravovaný ukazatel (typ &
), nespravovaný ukazatel (typ native int
), přechodný ukazatel (typ *
) nebo instance typu hodnoty. Použití nespravovaného ukazatele není v ověřitelném kódu povoleno. Pole objektu je určeno tokenem metadat, který musí odkazovat na člena pole. Návratový typ je stejný jako typ přidružený k poli. Pole může být buď pole instance (v takovém případě nesmí být objekt null odkaz) nebo statické pole.
Pokynu ldfld
může předcházet předpona nebo obě Unaligned předpony a Volatile .
NullReferenceException je vyvolán, pokud má objekt hodnotu null a pole není statické.
MissingFieldException vyvolá se, pokud zadané pole není v metadatech nalezeno. To se obvykle kontroluje, když jsou instrukce jazyka MSIL (Microsoft Intermediate Language) převedeny na nativní kód, nikoli za běhu.
Následující Emit přetížení metody může použít ldfld
opcode: