OpCodes.Ldfld 欄位
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
尋找物件中某欄位的值,該欄位目前在評估堆疊上。
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
欄位值
備註
下表列出指令的十六進位及 Microsoft 中介語言(MSIL)組合格式,並附有簡短參考摘要:
| Format | 組裝格式 | Description |
|---|---|---|
7B <T> |
LDFLD field |
將指定物件中欄位的值推入堆疊。 |
堆疊的過渡行為依序為:
一個物件參考(或指標)會被推入堆疊。
物件參考(或指標)會從堆疊中彈出;找到物件中指定欄位的值。
儲存在欄位中的數值會被推送到堆疊上。
指令會 ldfld 將物件中欄位的值推送到堆疊中。 物件必須以物件參考(類型 O)、受管理指標(類型 &)、非管理指標(類型 native int)、暫態指標(類型 *)或值類型的實例存在於堆疊中。 在可驗證的程式碼中,不允許使用非管理指標。 物件欄位由一個必須指向欄位成員的元資料標記來指定。 回傳類型與欄位相關的類型相同。 欄位可以是實例欄位(此時物件不得為空參考)或靜態欄位。
ldfld指令前可加上 和 Unaligned 其中一個或兩個Volatile前綴。
NullReferenceException 當物件為空且場非靜止時,該物件會被拋出。
MissingFieldException 若指定欄位未在元資料中,則會被拋出。 這通常在 Microsoft Intermediate Language(MSIL)指令轉換成原生程式碼時檢查,而非執行時。
以下 Emit 方法的超載可使用操作 ldfld 碼: