OpCodes.Ret OpCodes.Ret OpCodes.Ret OpCodes.Ret Field

Tanım

Arayanın değerlendirme yığın üzerine çağrıyı yapanın değerlendirme yığından (varsa) dönüş değeri gönderme geçerli yöntemi döndürür.Returns from the current method, pushing a return value (if present) from the callee's evaluation stack onto the caller's evaluation stack.

public: static initonly System::Reflection::Emit::OpCode Ret;
public static readonly System.Reflection.Emit.OpCode Ret;
 staticval mutable Ret : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ret As OpCode 

Alan Değeri

Açıklamalar

Aşağıdaki tabloda, yönergesinin onaltılık ve Microsoft Ara dil (MSIL) derleme biçimi başvurusu kısa bir özetiyle birlikte listelenmektedir:The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:

BiçimiFormat Derleme biçimiAssembly Format AçıklamaDescription
2A2A retret Büyük olasılıkla bir değer döndüren yöntemi döndürür.Returns from method, possibly returning a value.

Yığın geçiş, sıralı bir düzende, davranıştır:The stack transitional behavior, in sequential order, is:

  1. Dönüş değeri, çağrılan değerlendirme yığından kaldırılır.The return value is popped from the callee evaluation stack.

  2. 1. adımda elde ettiğiniz dönüş değeri, çağıran değerlendirme yığın üstüne itilir.The return value obtained in step 1 is pushed onto the caller evaluation stack.

Dönüş değeri çağrılan değerlendirme yığın üzerinde mevcut değilse (hiçbir yığın geçiş davranışları çağrılan veya çağıran yöntem için) hiçbir değer döndürülmez.If the return value is not present on the callee evaluation stack, no value is returned (no stack transition behaviors for either the callee or caller method).

Dönüş değerinin türü geçerli yöntemi varsa, yığının üst ve geçerli bir yöntemi çağıran yöntemin yığına kopyalanan getirilecek değerin türünü belirler.The type of the return value, if any, of the current method determines the type of value to be fetched from the top of the stack and copied onto the stack of the method that called the current method. Değerlendirme yığın geçerli yöntemi için döndürülecek değer dışında boş olmalıdır.The evaluation stack for the current method must be empty except for the value to be returned.

ret Kontrolünü dışarı aktarmak için yönerge kullanılamaz birtry, filter, catch, veya finally blok.The ret instruction cannot be used to transfer control out of atry, filter, catch, or finally block. İçinden bir try veya catch, kullanın Leave yönergesi hedefi olan bir ret dışında tüm kapsayan bir özel durum bloklarını olan yönergesi.From within a try or catch, use the Leave instruction with a destination of a ret instruction that is outside all enclosing exception blocks. Çünkü filter ve finally taşlarıdır mantıksal olarak özel durum işleme ve kodlarını gömüldüğü yöntem değil, Microsoft Ara dil (MSIL) yönergeleri doğru oluşturulan bir yöntem içinde dönüş gerçekleştirmeyin bir filter veya finally.Because the filter and finally blocks are logically part of exception handling and not the method in which their code is embedded, correctly generated Microsoft Intermediate Language (MSIL) instructions do not perform a method return from within a filter or finally.

Aşağıdaki Emit yöntemi aşırı yüklemesini kullanabilirsiniz ret opcode:The following Emit method overload can use the ret opcode:

  • ILGenerator.Emit(OpCode)ILGenerator.Emit(OpCode)

Şunlara uygulanır