Compartilhar via


OpCodes.Ret Campo

Definição

Retorna do método atual, enviando um valor retornado (se houver) da pilha de avaliação do computador chamado para a pilha de avaliação do chamador.

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 

Valor do campo

Comentários

A tabela a seguir lista o formato de assembly hexadecimal e MSIL (Microsoft Intermediate Language) da instrução, juntamente com um breve resumo de referência:

Formatar Formato de assembly Descrição
2A Ret Retorna do método , possivelmente retornando um valor.

O comportamento de transição da pilha, em ordem sequencial, é:

  1. O valor retornado é exibido da pilha de avaliação do receptor.

  2. O valor retornado obtido na etapa 1 é enviado por push para a pilha de avaliação do chamador.

Se o valor retornado não estiver presente na pilha de avaliação do receptor, nenhum valor será retornado (nenhum comportamento de transição de pilha para o receptor ou o método de chamador).

O tipo do valor retornado, se houver, do método atual determina o tipo de valor a ser buscado da parte superior da pilha e copiado para a pilha do método que chamou o método atual. A pilha de avaliação do método atual deve estar vazia, exceto pelo valor a ser retornado.

A ret instrução não pode ser usada para transferir o controle de umtry bloco, filter, catchou finally . De dentro de um try ou catch, use a Leave instrução com um destino de uma ret instrução que esteja fora de todos os blocos de exceção delimitando. Como os filter blocos e finally fazem parte logicamente do tratamento de exceções e não do método no qual seu código é inserido, as instruções msil (Microsoft Intermediate Language) geradas corretamente não executam um retorno de método de dentro de um filter ou finally.

Emit A seguinte sobrecarga de método pode usar o ret opcode:

Aplica-se a