OpCodes.Ret Campo

Definição

Retorna do método atual, enviando por push um valor retornado (se presente) da pilha de avaliação do receptor 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 Microsoft linguagem intermediária (MSIL) da instrução, juntamente com um breve resumo de referência:

Formato Formato de assembly Description
2A Ret Retorna do método, possivelmente retornando um valor.

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

  1. O valor retornado é extraído 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 chamador 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 para que o valor seja retornado.

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

A sobrecarga do método Emit a seguir pode usar o ret opcode:

Aplica-se a