Definindo um campo com reflexão emitir.

Um campo é definido como um membro de tipo usando o TypeBuilder.DefineField método. O DefineField método requer que o chamador especificar o nome do campo, o tipo de campo e os atributos de campo (usando o FieldAttributes enumeração). DefineField retorna um FieldBuilder.

FieldBuilder.SetOffset define o layout do campo. FieldBuilder.SetMarshal define como um campo é empacotado. FieldBuilder.SetConstant define o valor padrão de um campo.

Um campo também pode fazer referência a dados na seção .sdata o arquivo de executável portável (PE). Campos que representam dados inicializados são definidos usando ModuleBuilder.DefineInitializedData. Campos que representam os dados não inicializados são definidos usando ModuleBuilder.DefineUninitializedData.

Atributos

  • Campos estáticos são especificados usando o FieldAttributes.Static atributo.

  • Os campos que podem ser inicializados, mas não subseqüentemente gravados são especificados usando o FieldAttributes.InitOnly atributo.

  • Os campos são constantes de tempo de compilação são especificados usando o FieldAttributes.Literal atributo.

  • Há vários atributos que determinam a visibilidade do campo. Consulte a descrição do FieldAttributes enumeração.

Consulte também

Outros recursos

Usando a reflexão emitir.