我正在编写一个库,它在运行时动态生成抽象类的派生类。派生类的构造函数需要基类构造函数的MethodInfo
,以便它可以调用它。但是,出于某种原因,Type.GetConstructor()
会返回null
。例如:
abstract class Test
{
public abstract void F();
}
public static void Main(string[] args)
{
ConstructorInfo constructor = typeof(Test).GetConstructor(
BindingFlags.NonPublic | BindingFlags.Public,
null, System.Type.EmptyTypes, null); // returns null!
}
请注意GetConstructor
返回null
,即使我在Test
中明确声明了构造函数,即使Test不是抽象的。
答案 0 :(得分:0)
想出来。我忘记了BindingFlags.Instance
旗帜。
奇怪的是那个
ConstructorInfo constructor = typeof(Test).GetConstructor(System.Type.EmptyTypes);
返回null。它有缺陷吗?