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 instrukcji i microsoft intermediate language (MSIL) 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 wyskoczona 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 przeniesienia kontroli z blokutry , filterlub catchfinally . Z wewnątrz obiektu try lub catchużyj Leave instrukcji z miejscem docelowym ret instrukcji, która znajduje się poza wszystkimi otaczającymi blokami wyjątków. filter Ponieważ bloki i finally są logicznie częścią obsługi wyjątków, a nie metodą, w której jest osadzony ich kod, poprawnie wygenerowane instrukcje języka Microsoft Intermediate Language (MSIL) nie zwracają metody z wewnątrz klasy filter lub finally.

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

Dotyczy