大家好,问题是这样的:
public abstract class BaseClass
{
protected BaseClass()
{
// some logic here
}
protected BaseClass(Object parameter) : this()
{
// some more logic
}
}
public class Descendant : BaseClass
{
// no constructors
}
我试图在 Descendant 类上调用Activator.CreateInstance ,但没有找到构造函数。
我需要在 Descentant 类上明确定义它吗?
我使用的绑定是这些:BindingFlags.Instance | BindingFlags.NonPublic
注意 1:我在现实中调用 AppDomain.CreateInstanceAndUnwrap(),如果它应该有一些影响的话。
domain.CreateInstanceAndUnwrap(path, typeName, false, BindingFlags.Instance |
BindingFlags.NonPublic, null, new[] { parameter }, null, null);
注意 2:如果我在 Descendant 类中明确定义受保护的构造函数,那么它可以工作,但如果可能的话,我想避免这种情况。