OpCodes.Ldfld Pole

Definice

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í jazyka MSIL (Intermediate Language) a Microsoft s stručným přehledem referenčních informací:

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:

  1. Odkaz na objekt (nebo ukazatel) se nasdílí do zásobníku.

  2. Odkaz na objekt (nebo ukazatel) se rozbalí ze zásobníku; hodnota zadaného pole v objektu je nalezena.

  3. Hodnota uložená v poli se vloží do zásobníku.

Instrukce ldfld nasdílí hodnotu pole umístěného v objektu do zásobníku. Objekt musí být v zásobníku jako odkaz na objekt (typO), spravovaný ukazatel (typ&), nespravovaný ukazatel (typ), přechodný ukazatel (typnative int*) nebo instance typu hodnoty. Použití nespravovaného ukazatele není povoleno v ověřitelném kódu. 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 odkazem null) nebo statické pole.

Instrukce ldfld může předcházet buď nebo obě předpony Unaligned a Volatile předpony.

NullReferenceException je vyvolán, pokud je objekt null a pole není statické.

MissingFieldException je vyvolán, pokud zadané pole není v metadatech nalezeno. To se obvykle kontroluje, pokud jsou instrukce jazyka MSIL (Microsoft Intermediate Language) převedeny na nativní kód, ne za běhu.

Emit Následující přetížení metody může použít ldfld opcode:

Platí pro