Definir um construtor com reflexão emitir
Um construtor é definido usando o TypeBuilder.DefineConstructor método. DefineConstructor retorna um ConstructorBuilder. DefineConstructor requer que o chamador especificar os atributos de construtor usando o MethodAttributes enumeração.
O construtor padrão para uma classe é definido usando o TypeBuilder.DefineDefaultConstructor método. DefineDefaultConstructor retorna um ConstructorBuilder. O construtor padrão simplesmente chama o construtor da classe pai. O common language runtime automaticamente define um construtor padrão para uma classe, se o chamador não fazê-lo.
Atributos
O runtime define o atributo MethodAttributes.SpecialName para o construtor.
Construtores particulares são especificados usando o MethodAttributes.Private atributo. Para outros atributos de visibilidade, consulte a descrição do MethodAttributes enumeração.
Problemas conhecidos
Embora ConstructorBuilder é derivada de ConstructorInfo, alguns dos métodos abstratos definidos a ConstructorInfo classe não são totalmente implementado em ConstructorBuilder. Essas ConstructorBuilder métodos lançam o NotSupportedException. A funcionalidade desejada pode ser obtida por recuperar o tipo que contém o construtor e refletindo nele. Por exemplo o ConstructorBuilder.Invoke método não é totalmente implementado.
Modificadores personalizados não são suportados no momento.