Definir um construtor com reflexão Emit
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 linguagem tempo de execução automaticamente define um construtor padrão para uma classe, se o chamador não fizer isso.
Atributos
O tempo de execução define o atributo MethodAttributes.SpecialName para o construtor.
Construtores particulares são especificados usando o MethodAttributes.particular atributo.Para obter outros atributos de visibilidade, consulte a descrição do MethodAttributes enumeração.
Problemas conhecidos
Embora ConstructorBuilder é derivado de ConstructorInfo, alguns dos métodos abstratos definidos na ConstructorInfo classe não são totalmente implementado ConstructorBuilder.Esses 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.