Aracılığıyla paylaş


OpCodes.Ldfld Alan

Tanım

Başvurusu şu anda değerlendirme yığınında olan nesnedeki bir alanın değerini bulur.

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 

Alan Değeri

Açıklamalar

Aşağıdaki tabloda, yönergenin onaltılık ve Microsoft Ara Dil (MSIL) derleme biçiminin yanı sıra kısa bir başvuru özeti listelenmiştir:

Biçimlendir Derleme Biçimi Description
7B <T> Ldfld field Belirtilen nesnedeki bir alanın değerini yığına iletir.

Sıralı sırada yığın geçiş davranışı şu şekildedir:

  1. Yığına bir nesne başvurusu (veya işaretçi) gönderilir.

  2. Nesne başvurusu (veya işaretçisi) yığından çıkarılır; nesnesinde belirtilen alanın değeri bulunur.

  3. alanında depolanan değer yığına gönderilir.

Yönerge, ldfld bir nesnede bulunan alanın değerini yığına iter. Nesne yığında nesne başvurusu (türO), yönetilen işaretçi (tür), yönetilmeyen işaretçi (tür&native int), geçici işaretçi (tür*) veya değer türünün bir örneği olarak bulunmalıdır. Yönetilmeyen bir işaretçinin doğrulanabilir kodda kullanılmasına izin verilmez. Nesnenin alanı, bir alan üyesine başvurması gereken bir meta veri belirteci tarafından belirtilir. Dönüş türü, alanla ilişkilendirilmiş olanla aynıdır. Alan bir örnek alanı (bu durumda nesne null başvuru olmamalıdır) veya statik bir alan olabilir.

Yönergeden ldfld önce ve Volatile ön eklerinin biri Unaligned veya her ikisi de gelebilir.

NullReferenceException nesne null ise ve alan statik değilse oluşturulur.

MissingFieldException , belirtilen alan meta verilerde bulunmazsa oluşturulur. Bu genellikle Microsoft Ara Dil (MSIL) yönergeleri çalışma zamanında değil yerel koda dönüştürüldüğünde denetlenebilir.

Aşağıdaki Emit yöntem aşırı yüklemesi opcode'unu ldfld kullanabilir:

Şunlara uygulanır