前提・実現したいこと
C#の継承についてですが、
以下のような継承関係のクラスを
ライブラリにします。
LibBase.cs
C#
1class LibBase 2{ 3}
LibSuper.cs
C#
1class LibSuper :LibBase 2{ 3}
LibBaseはLibSuper以外にも
ライブラリ内の複数のクラスで継承元として使用されます。
LibSuperは
ライブラリ使用側で共通で使用されます。
上記を使用する側では
LibSuperを用いる場合、
これをそのまま使用するのですが
この時LibBaseの機能を拡張して
LibSuperを使用したい場合、
使用する側で
LibBaseをパワーアップしたクラス
UserBaseをLibSuperに継承している状態にしたいです。
LibSuperをライブラリを使用する側で
定義すれば可能ですが、
LibSuperにも共通要素がほとんどですので、
ライブラリ側に定義したいんですが、
なにか方法はございますでしょうか?
このようなサイトでの質問もまだ慣れておらず、情報不足ありましたら
ご指摘ください。
宜しくお願い致します。
試したこと
・ジェネリックを用いて継承
LibSuperでジェネリックを用いて指定したクラスを継承させようとしましたが、
できませんでした。
C#
1class LibSuper<Base> : Base where Base: LibBase 2{ 3}
エラーメッセージ:
エラー CS0689 Base' は型パラメーターであるため、派生させることはできません。
補足情報(FW/ツールのバージョンなど)
・OS バージョン Windows10