OpCodes.Ret Campo
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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, é:
O valor de retorno é extraído da pilha de avaliação do chamado.
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: