OpCodes.Ret Pole

Definicja

Zwraca wartość z bieżącej metody, wypychając wartość zwracaną (jeśli istnieje) ze stosu oceny wywoływanego do stosu oceny obiektu wywołującego.

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 

Wartość pola

Uwagi

W poniższej tabeli wymieniono format zestawu szesnastkowy i Microsoft Intermediate Language (MSIL) instrukcji wraz z krótkim podsumowaniem referencyjnym:

Format Format zestawu Opis
2A Ret Zwraca wartość z metody, prawdopodobnie zwracając wartość.

Zachowanie przejściowe stosu w kolejności sekwencyjnej jest następujące:

  1. Wartość zwracana jest zwieńczona ze stosu oceny wywoływanej.

  2. Wartość zwracana uzyskana w kroku 1 jest wypychana do stosu oceny wywołującego.

Jeśli wartość zwracana nie jest obecna na stosie oceny wywoływanej, żadna wartość nie jest zwracana (żadne zachowania przejścia stosu dla metody wywoływanej lub wywołującej).

Typ wartości zwracanej, jeśli istnieje, bieżącej metody określa typ wartości do pobrania od góry stosu i skopiowany na stos metody, która nazwała bieżącą metodę. Stos oceny dla bieżącej metody musi być pusty z wyjątkiem zwracanej wartości.

Instrukcji ret nie można użyć do transferu kontroli z blokutry , filter, catchlub finally . Z wewnątrz obiektu try lub catchużyj Leave instrukcji z miejscem docelowym instrukcji znajdującej ret się poza wszystkimi otaczającymi blokami wyjątków. Ponieważ bloki filter i finally są logicznie częścią obsługi wyjątków, a nie metody, w której jest osadzony ich kod, poprawnie wygenerowane instrukcje języka pośredniego Microsoft (MSIL) nie wykonują metody zwracanej z poziomu filter lub finally.

Następujące Emit przeciążenie metody może używać ret kodu opcode:

Dotyczy