다음 클래스를 예로 들어 보겠습니다.
class Sometype
{
int someValue;
public Sometype(int someValue)
{
this.someValue = someValue;
}
}
그런 다음 리플렉션을 사용하여이 유형의 인스턴스를 만들고 싶습니다.
Type t = typeof(Sometype);
object o = Activator.CreateInstance(t);
일반적으로 이것은 작동하지만 SomeType
매개 변수없는 생성자를 정의 하지 않았기 때문에 를 호출하면 " 이 개체에 대해 매개 변수없는 생성자가 정의되지 않았습니다. "라는 메시지와 함께 Activator.CreateInstance
유형의 예외가 발생 합니다. 이 유형의 인스턴스를 만드는 다른 방법이 있습니까? 내 모든 클래스에 매개 변수없는 생성자를 추가하는 것은 다소 짜증날 것입니다.MissingMethodException
FormatterServices.GetUninitializedObject
초기화되지 않은 문자열을 만들 수 없습니다. 예외가 발생할 수 있습니다System.ArgumentException: Uninitialized Strings cannot be created.
.이 점을 명심하십시오.