나는 reflection.emit을 통해 빌드 된 동적 유형에서 파생하고자하는 일반 추상 기본 클래스를 사용합니다. 또한 일부 필드를 초기화하려면 파생 클래스 기본 생성자를 사용자 지정해야합니다. 파생 클래스의 기본 생성자를 올바르게 빌드하려면 기본 클래스의 기본 생성자를 가져 와서 호출해야합니다. 문제는 기본 클래스에서 기본 생성자를 가져올 수 없다는 것입니다.일반 추상 클래스의 기본 생성자 얻기
예 : 나는 모든 길이를 해봤
public abstract class Test<T>
{
private T data;
public abstract void Go();
}
public class TestDerive : Test<int>
{
public override void Go()
{
}
}
class Program
{
static void Main(string[] args)
{
ConstructorInfo[] constructors = typeof(Test<>).GetConstructors();
int length = constructors.Length;
}
}
은 항상 0입니다. 나는 이해하지 못한다. 리플렉터에서 비슷한 경우를 검사했고 실제로 추상 클래스의 기본 생성자를 호출합니다. 문제는 어떻게해야 동일한 문제를 해결할 수 있을까요?
고마워요. 그게 다야. –