【C#】内部だけで有効なインターフェースを作りたい
C#2005でコンポーネントを作ろうと思っています。
そこであらゆるコンポーネントに共通な内部インターフェースが存在し、
更にはコンポーネントはいくつかの種類のコンポーネントを継承したいです。
不可能なコードで記すと、このようなことがしたいです。
【拡張TextBox】
public class ExTextBox : AbstractTextBox {
}
【抽象TextBox】
public abstract class AbstractTextBox : TextBox, ICommonControl {
public AbstractTextBox() {
_ifMethod();
}
private void _ifMethod() { ←これ
// 処理
}
}
【内部インターフェース】
public interface ICommonControl {
void _ifMethod();
}
インターフェースはpublic宣言以外定義が行えず、内部で利用される
インターフェースとしては使えません。
別にインターフェースをそのまま実装すれば出来なくはないですが、
外部にインターフェースを実装したメソッドが見えるのはマズいです。
もしくは多重継承的なことが出来れば解決すると思うのですが・・・。
コンポーネントを継承する関係で、直前のクラスはTextBoxやLabelなどと
いったクラスを継承するしかない為、それ以外の内部部分を共通化
したい場合に、どうすればいいのか分かりません。
実現させる方法が思いつかない為、何かシンプルな一例をご提示
頂けないでしょうか?
お礼
参考になりました。 ご返答ありがとうございました。