다음을 통해 공유


리플렉션 내보내기를 사용하여 생성자 정의

생성자는 TypeBuilder.DefineConstructor 메서드를 사용하여 정의됩니다. DefineConstructorConstructorBuilder를 반환합니다. DefineConstructor에서는 호출자가 MethodAttributes 열거형을 사용하여 생성자 특성을 지정해야 합니다.

클래스의 기본 생성자는 TypeBuilder.DefineDefaultConstructor 메서드를 사용하여 정의됩니다. DefineDefaultConstructor에서는 ConstructorBuilder를 반환합니다. 기본 생성자는 부모 클래스의 생성자를 호출합니다. 공용 언어 런타임에서는 호출자가 정의하지 않은 경우 자동으로 클래스에 대한 기본 생성자를 정의합니다.

특성

  • 런타임에서 생성자에 대한 MethodAttributes.SpecialName 특성을 설정합니다.

  • 전용 생성자는 MethodAttributes.Private 특성을 사용하여 지정합니다. 다른 표시 특성은 MethodAttributes 열거형의 설명을 참조하십시오.

알려진 문제

  • ConstructorBuilderConstructorInfo에서 파생되더라도 ConstructorInfo 클래스에 정의된 일부 추상 메서드는 ConstructorBuilder에 완전히 구현되지 않습니다. 이러한 ConstructorBuilder 메서드는 NotSupportedException을 throw합니다. 생성자를 포함하는 형식을 검색하고 이를 반영하여 원하는 기능을 가져올 수 있습니다. 예를 들어, ConstructorBuilder.Invoke 메서드는 완전히 구현되지 않습니다.

  • 사용자 지정 한정자는 현재 지원되지 않습니다.

참고 항목

기타 리소스

리플렉션 내보내기 사용