Aracılığıyla paylaş


OpCodes.Ldind_Ref Alan

Tanım

Bir nesne başvuruyu tür O (nesne başvurusu) olarak değerlendirme yığınına dolaylı olarak yükler.

public: static initonly System::Reflection::Emit::OpCode Ldind_Ref;
public static readonly System.Reflection.Emit.OpCode Ldind_Ref;
 staticval mutable Ldind_Ref : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldind_Ref 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
50 ldind.ref Adreste addr nesne başvuruyu tür olarak yığına yükler O

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

  1. Bir adres yığına gönderilir.

  2. Adres yığından çıkarılır; adreste bulunan nesne başvurusu getirilir.

  3. Getirilen başvuru yığına gönderilir.

Yönerge, ldind.ref belirtilen adrese (, &veya *türündenative int) başvuru nesnesini dolaylı olarak yığına türü Oolarak yükler.

Tüm yönergeler, ldind karşılık gelen yerleşik değer sınıfını belirten yönerge Ldobj kısayollarıdır.

Değerlendirme yığınına yüklendiklerinde 4 bayttan küçük tamsayı değerlerinin (değilnative int) olarak genişletildiğini int32 unutmayın. Kayan nokta değerleri değerlendirme yığınına yüklendiğinde türe F dönüştürülür.

Doğru biçimlendirilmiş Microsoft Ara Dili (MSIL), yönergelerin ldind işaretçinin türüyle tutarlı bir şekilde kullanılmasını sağlar.

Başlangıçta yığına gönderilen adres, makinedeki nesnelerin doğal boyutuna hizalanmalıdır veya bir NullReferenceException oluşabilir (önleyici ölçüler Unaligned için ön ek yönergesine bakın). Adresleri döndüren tüm MSIL yönergelerinin sonuçları (örneğin, Ldloca ve Ldarga) güvenli bir şekilde hizalanır. 1 bayttan büyük veri türleri için bayt sıralaması hedef CPU'ya bağlıdır. Bayt sıralamaya bağlı kod tüm platformlarda çalışmayabilir.

NullReferenceException geçersiz bir adres algılanırsa oluşturulabilir.

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

Şunlara uygulanır