OpCodes.Ret Campo

Definição

Retorna do método atual, empurrando um valor de retorno (se presente) da pilha de avaliação do 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 de Campo

Observações

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

Formato Formato de Montagem Descrição
2A ret Retornos do método, possivelmente devolvendo um valor.

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

  1. O valor de retorno é extraído da pilha de avaliação do chamado.

  2. O valor de retorno obtido no passo 1 é empurrado para a pilha de avaliação do chamador.

Se o valor de retorno não estiver presente na pilha de avaliação do chamado, nenhum valor é devolvido (não há comportamentos de transição de pilha nem para o método do chamado nem para o do chamador).

O tipo do valor de retorno, se existir, do método atual determina o tipo de valor a ser obtido do topo 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 devolver.

A ret instrução não pode ser usada para transferir controlo de umtry, filter, catch, ou finally bloco. A partir de um try ou catch, use a Leave instrução com destino de uma ret instrução que esteja fora de todos os blocos de exceção que encerram. Como os blocos filter e finally fazem logicamente parte do tratamento de exceções e não do método em que o seu código é incorporado, instruções Microsoft Intermediate Language (MSIL) geradas corretamente não realizam um retorno de método dentro de um filter ou finally.

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

Aplica-se a