OpCodes.Stelem_Ref Alan
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirli bir dizindeki dizi öğesini değerlendirme yığınındaki nesne başvuru değeriyle (tür O) değiştirir.
public: static initonly System::Reflection::Emit::OpCode Stelem_Ref;
public static readonly System.Reflection.Emit.OpCode Stelem_Ref;
staticval mutable Stelem_Ref : System.Reflection.Emit.OpCode
Public Shared ReadOnly Stelem_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:
| Format | Derleme Biçimi | Açıklama |
|---|---|---|
| A2 | stelem.ref | Sağlanan dizindeki bir dizi öğesini yığındaki ref değerle (tür O) değiştirir. |
Sıralı sırada yığın geçiş davranışı şöyledir:
bir diziye nesne başvurusu,
arrayyığına gönderilir.içindeki bir öğe
arrayiçin geçerli bir dizin yığına gönderilir.Bir değer yığına gönderilir.
Değer, dizin ve dizi başvurusu yığından çıkarılır; değeri verilen dizindeki dizi öğesine konur.
Yönerge, stelem.ref tek boyutlu dizide array sağlanan dizindeki öğesinin değerini yığına gönderilen (tür ref) değeriyle O değiştirir.
Diziler nesnelerdir ve bu nedenle türünde Obir değerle gösterilir. Dizin türüdür native int.
stelem.ref Değeri dizi öğesine atamadan önce sağlanan değeri öğesi türüne array örtük olarak atadığını unutmayın. Doğrulanmış kod için bile bu atama başarısız olabilir.
stelem.ref Bu nedenle yönerge oluşturabilirInvalidCastException. Sıfır tabanlı olmayan tek boyutlu diziler ve çok boyutlu diziler Array için sınıfı bir SetValue yöntem sağlar.
NullReferenceException null başvuru ise array oluşturulur.
IndexOutOfRangeExceptionnegatifse veya sınırından indexbüyükse array oluşturulur.
ArrayTypeMismatchException , gerekli türdeki öğeleri tutmazsa array oluşturulur.
Aşağıdaki Emit yöntem aşırı yüklemesi, opcode'unu stelem.ref kullanabilir: