Freigeben über


OpCodes.Ret-Feld

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

Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Shared ReadOnly Ret As OpCode
'Usage
Dim value As OpCode

value = OpCodes.Ret
public static readonly OpCode Ret
public:
static initonly OpCode Ret
public static final OpCode Ret
public static final var Ret : OpCode

Hinweise

In der folgenden Tabelle werden das hexadezimale und das Assemblyformat der MSIL (Microsoft Intermediate Language) jeweils mit einer Kurzreferenz aufgeführt:

Format

Assemblyformat

Beschreibung

2A

ret

Wird von der Methode zurückgegeben und gibt möglicherweise einen Wert zurück.

Im Stapel laufen die folgenden Aktionen in der angegebenen Reihenfolge ab:

  1. Der Rückgabewert wird vom Auswertungsstapel des Aufgerufenen geholt.

  2. Der in Schritt 1 abgerufene Rückgabewert wird auf den Auswertungsstapel des Aufrufenden gelegt.

Wenn der Rückgabewert im Auswertungsstapel des Aufgerufenen nicht vorhanden ist, wird kein Wert zurückgegeben (weder für die Methode des Aufgerufenen noch für die Methode des Aufrufenden ist ein Zustandswechsel im Stapel angegeben).

Der Typ des Rückgabewerts der aktuellen Methode, sofern ein solcher Wert vorhanden ist, bestimmt den Typ des Werts, der von der obersten Position des Stapels geholt und auf den Stapel der Methode kopiert wird, von der die aktuelle Methode aufgerufen wurde. Der Auswertungsstapel für die aktuelle Methode muss bis auf den zurückzugebenden Wert leer sein..

Die ret-Anweisung kann nicht dazu verwendet werden, die Steuerung aus einem try-Block, filter-Block, catch-Block oder finally-Block zu übertragen. Verwenden Sie in try oder catch die Leave-Anweisung mit einer ret-Anweisung, die sich außerhalb aller einschließenden Ausnahmeblöcke befindet, als Ziel. filter-Blöcke und finally-Blöcke sind logische Bestandteile der Ausnahmebehandlung und nicht der Methode, in die ihr Code eingebettet ist. Ordnungsgemäß generierte MSIL (Microsoft Intermediate Language)-Anweisungen geben daher keine Methoden aus filter oder finally zurück.

Die folgende Überladung der Emit-Methode verwendet den ret-Opcode:

  • ILGenerator.Emit(OpCode)

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

OpCodes-Klasse
OpCodes-Member
System.Reflection.Emit-Namespace