我正在尝试在 C# 中使用已编译程序集中的基类(DataStore)实现一个类。它想要这样的签名(RavenDb 的实现不相关):
public RavenDbDataStore(TimeSpan objectLifetime) : base(objectLifetime)
{
}
public RavenDbDataStore(TimeSpan objectLifetime, bool enableCaching) : base(objectLifetime, enableCaching)
{
}
但是,调用此类的对象期望构造函数采用两个字符串。我收到有关基类的警告,DataStore 不包含任何无参数构造函数。
这没有任何意义,看看我正在处理的项目的 API,另一个类正在做我正在尝试做的事情,并在仅从 DataStore 类继承的同时将两个字符串作为构造函数。
关于如何做到这一点的任何想法?
编辑:我犯了一个错误,将第二个构造函数标记为“私有”,它应该是公共的。
尝试时:
公共 RavenDbDataStore(TimeSpan objectLifetime, string param1, string param2) : base(objectLifetime) { }
我仍然得到:
在 ReflectionUtil.CreateObject 中找不到构造函数:RavenDbDataStore。构造函数参数可能不匹配,或者它可能是一个抽象类。参数信息:计数:2。参数类型:System.String、System.String