Partager via


OpCodes.Ret Champ

Définition

Effectue un retour à partir de la méthode actuelle en exécutant un push d'une valeur de retour (si elle existe) à partir de la pile d'évaluation de l'appelé dans celle de l'appelant.

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 

Valeur de champ

Remarques

Le tableau suivant répertorie le format d’assembly MSIL et hexadécimal de l’instruction, ainsi qu’un bref résumé des références :

Format Format d’assembly Description
2A Ret Retourne à partir de la méthode, renvoyant éventuellement une valeur.

Le comportement transitoire de la pile, dans l’ordre séquentiel, est le suivant :

  1. La valeur de retour est extraite de la pile d’évaluation appelée.

  2. La valeur de retour obtenue à l’étape 1 est envoyée à la pile d’évaluation de l’appelant.

Si la valeur de retour n’est pas présente sur la pile d’évaluation appelée, aucune valeur n’est retournée (aucun comportement de transition de pile pour la méthode appelée ou appelante).

Le type de la valeur de retour, le cas échéant, de la méthode actuelle détermine le type de valeur à extraire du haut de la pile et à copier sur la pile de la méthode qui a appelé la méthode actuelle. La pile d’évaluation de la méthode actuelle doit être vide, à l’exception de la valeur à retourner.

L’instruction ret ne peut pas être utilisée pour transférer le contrôle à partir d’untry bloc, filter, catchou finally . À partir d’un try ou catch, utilisez l’instruction Leave avec une destination d’une ret instruction qui se trouve en dehors de tous les blocs d’exception englobants. Étant donné que les filter blocs et finally font logiquement partie de la gestion des exceptions et non de la méthode dans laquelle leur code est incorporé, les instructions MSIL (Microsoft Intermediate Language) correctement générées n’effectuent pas de retour de méthode à partir d’un filter ou finally.

La surcharge de méthode suivante Emit peut utiliser l’opcode ret :

S’applique à