コンパイル済みアセンブリで基本クラス (DataStore) を使用して C# でクラスを実装しようとしています。次のような署名が必要です (RavenDb の実装は関係ありません)。
public RavenDbDataStore(TimeSpan objectLifetime) : base(objectLifetime)
{
}
public RavenDbDataStore(TimeSpan objectLifetime, bool enableCaching) : base(objectLifetime, enableCaching)
{
}
ただし、このクラスを呼び出しているオブジェクトは、2 つの文字列を受け取るコンストラクターを想定しています。パラメーターなしのコンストラクターを含まない基本クラスの DataStore に関する警告が表示されます。
これは意味がありません。私が取り組んでいるプロジェクトの API を覗いてみると、別のクラスが私がやろうとしていることを行っており、DataStore クラスから継承するだけで 2 つの文字列をコンストラクタとして取り込んでいます。
これを達成する方法についてのアイデアはありますか?
編集:私は間違いを犯し、2番目のコンストラクターを「プライベート」としてマークし、パブリックにする必要があります。
しようとすると:
public RavenDbDataStore(TimeSpan objectLifetime, string param1, string param2) : base(objectLifetime) { }
私はまだ得る:
ReflectionUtil.CreateObject でコンストラクターが見つかりませんでした: RavenDbDataStore。コンストラクターのパラメーターが一致しないか、抽象クラスである可能性があります。パラメーター情報: カウント: 2. パラメーターの種類: System.String、System.String