Freigeben über


OpCodes.Ret Feld

Definition

Wird von der aktuellen Methode zurückgegeben und legt einen Rückgabewert (sofern vorhanden) vom Auswertungsstapel des Aufgerufenen auf dem Auswertungsstapel des Aufrufenden ab.

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 

Feldwert

Hinweise

In der folgenden Tabelle sind das Hexadezimal- und MSIL-Assemblyformat (Microsoft Intermediate Language) der Anweisung sowie eine kurze Referenzzusammenfassung aufgeführt:

Format Assemblyformat BESCHREIBUNG
2A Ret Gibt von der -Methode zurück, wobei möglicherweise ein Wert zurückgegeben wird.

Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:

  1. Der Rückgabewert wird aus dem Auswertungsstapel des Aufgerufenen geknallt.

  2. Der in Schritt 1 abgerufene Rückgabewert wird in den Aufruferauswertungsstapel gepusht.

Wenn der Rückgabewert im Auswertungsstapel des Aufgerufenen nicht vorhanden ist, wird kein Wert zurückgegeben (kein Stapelübergangsverhalten für die aufgerufene oder aufruferische Methode).

Der Typ des Rückgabewerts (sofern vorhanden) der aktuellen Methode bestimmt den Typ des Werts, der vom Anfang des Stapels abgerufen und in den Stapel der Methode kopiert wird, die die aktuelle Methode aufgerufen hat. Der Auswertungsstapel für die aktuelle Methode muss leer sein, mit Ausnahme des zurückzugebenden Werts.

Die ret -Anweisung kann nicht verwendet werden, um die Steuerung aus einemtry - , filter- catchoder finally -Block zu übertragen. Verwenden Sie in einem try oder catchdie Leave -Anweisung mit dem Ziel einer ret Anweisung, die sich außerhalb aller einschließenden Ausnahmeblöcke befindet. Da die filter Blöcke und finally logisch Teil der Ausnahmebehandlung sind und nicht die Methode, in die ihr Code eingebettet ist, führen ordnungsgemäß generierte MSIL-Anweisungen (Microsoft Intermediate Language) keine Methodenrückgabe aus einem oder finallyausfilter.

Die folgende Emit Methodenüberladung kann den ret Opcode verwenden:

Gilt für: