OpCodes.Ldflda 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á adresu pole v objektu, jehož odkaz je aktuálně ve zkušebním zásobníku.
public: static initonly System::Reflection::Emit::OpCode Ldflda;
public static readonly System.Reflection.Emit.OpCode Ldflda;
staticval mutable Ldflda : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldflda As OpCode
Hodnota pole
Poznámky
V následující tabulce je uveden šestnáctkový formát sestavení jazyka MSIL (Microsoft Intermediate Language) a stručný přehled referenčních informací:
Formát | Formát sestavení | Description |
---|---|---|
7C < T > |
ldflda field |
Nasdílí adresu field 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) se rozbalí ze zásobníku; adresa zadaného pole v objektu je nalezena.
Adresa zadaného pole se nasdílí do zásobníku.
Instrukce ldflda
nasdílí adresu 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 instanci 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.
Hodnota vrácená ldflda
je spravovaným ukazatelem (typem &
), pokud není objekt vložen do zásobníku jako nespravovaný ukazatel, v takovém případě je vrácená adresa také nespravovaným ukazatelem (typem native int
).
Instrukce ldflda
může předcházet buď nebo obě předpony Unaligned a Volatile předpony.
InvalidOperationException je vyvolána, pokud objekt není v doméně aplikace, ze které se přistupuje. Adresu pole, které není uvnitř domény aplikace pro přístup, nelze načíst.
NullReferenceException je vyvolán, pokud je objekt null a pole není statické.
MissingFieldException je vyvolán, pokud zadané pole není nalezeno v metadatech. Obvykle se kontroluje, když se pokyny jazyka MSIL (Microsoft Intermediate Language) převedou na nativní kód, ne za běhu.
Emit Následující přetížení metody může použít ldflda
opcode: