1

我正在编写一个库,它在运行时动态生成抽象类的派生类。派生类的构造函数需要一个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!
}

请注意,即使我在 中明确声明了构造函数,并且即使 Test 不是抽象的,也会GetConstructor返回。nullTest

4

1 回答 1

1

弄清楚了。我忘记了BindingFlags.Instance国旗。

奇怪的是

ConstructorInfo constructor = typeof(Test).GetConstructor(System.Type.EmptyTypes);

返回空值。它有缺陷吗?

于 2010-06-13T03:17:45.427 回答