OpCodes.Initobj Campo
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Inicializa cada campo do tipo de valor em um endereço especificado como uma referência nula ou 0 do tipo primitivo apropriado.
public: static initonly System::Reflection::Emit::OpCode Initobj;
public static readonly System.Reflection.Emit.OpCode Initobj;
staticval mutable Initobj : System.Reflection.Emit.OpCode
Public Shared ReadOnly Initobj 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 |
---|---|---|
FE 15 <T > |
initobj typeTok |
Inicializa um tipo de valor. |
O comportamento de transição da pilha, em ordem sequencial, é:
O endereço do tipo de valor a ser inicializado é enviado por push para a pilha.
O endereço é exibido da pilha; o tipo de valor no endereço especificado é inicializado como o tipo
typeTok
.
A initobj
instrução inicializa cada campo do tipo de valor especificado pelo endereço enviado por push (do tipo native int
, &
ou *
) para uma referência nula ou um 0 do tipo primitivo apropriado. Depois que esse método é chamado, a instância está pronta para um método de construtor a ser chamado. Se typeTok
for um tipo de referência, essa instrução terá o mesmo efeito ldnull
que seguido por stind.ref
.
Ao contrário Newobjde , initobj
não chama o método de construtor. Initobj
destina-se à inicialização de tipos de valor, enquanto newobj
é usado para alocar e inicializar objetos.
A sobrecarga do método Emit a seguir pode usar o initobj
opcode:
Aplica-se a
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de