mstkwb回答ポイント 200ptウォッチ 1

C#で継承元を指定したジェネリッククラスを作成したいです。


System.Windows.FormsのPanelとLabelを継承したカスタムコントロール(PanelEx、LabelEx)を作成していますが、それぞれに共通した処理があるため、切り出して別クラス(classLib)に実装したいと考えています。

この共通した処理の中にはPanelとLabelの継承元であるControlのprotectedメソッドを呼び出す処理もあるためclassLibの継承元を指定して宣言したいのです。

つまり以下のようなことがしたいです。
class classLib<T> : T
class PanelEx : classLib<Panel>
class LabelEx : classLib<Label>

しかし、ジェネリックの型パラメータは派生させることができず困っています。
こういうことはそもそもできないのでしょうか?それとも別の方法で実現できる手段が提供されているのでしょうか?

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

みんなの回答

この質問へのコメント

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2011-09-16 11:34:50
終了日時
2011-09-21 09:58:29
回答条件
1人5回まで

この質問のカテゴリ

この質問に含まれるキーワード

C#561ジェネリック18Windows5693メソッド515Class541パラメータ533継承143

人気の質問

メニュー

PC版