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 Intermediate Language (MSIL) 元件格式,以及簡短的參考摘要:
格式 | 元件格式 | Description |
---|---|---|
7B <T > |
ldfld field |
將指定物件中的域值推送至堆疊。 |
堆疊轉換行為會依循序順序為:
對象參考 (或指標) 會推送至堆疊。
對象參考 (或指標) 從堆疊快顯;找到物件中指定欄位的值。
儲存在欄位中的值會推送至堆疊。
指令 ldfld
會將位於物件中的域值推送至堆疊。 對象必須是堆疊上的對象參考 (類型 O
) 、managed 指標 (類型 &
) 、unmanaged 指標 (類型) 、暫時性指標 (類型 native int
*
) 或實值類型的實例。 在可驗證的程式代碼中不允許使用 Unmanaged 指標。 物件的欄位是由必須參考欄位成員的元數據標記所指定。 傳回型別與與欄位相關聯的類型相同。 欄位可以是實例欄位 (在此情況下,物件不得為 null 參考) 或靜態字段。
指令 ldfld
前面可以加上 或 兩個 Unaligned 和 Volatile 前置詞。
NullReferenceException 如果物件為 Null,而且字段不是靜態,則會擲回 。
MissingFieldException 如果在元資料中找不到指定的欄位,則會擲回 。 這通常會在 Microsoft Intermediate Language (MSIL) 指令轉換成機器碼時進行檢查,而不是在運行時間。
下列 Emit 方法多載可以使用 ldfld
opcode: