1

私は疑問に思っています... 2 つのクラスを継承する必要がある aspx ページがあります。

1) クラス展開: ページ、IPostBackEventHandler 2) mydll.classX

しかし、私は同じことを達成することができません。提案できる回避策は本当に役に立ちます...

ありがとう

4

2 に答える 2

3

.NET では、複数のクラスから継承することはできません。問題を解決するには、次のいずれかの方法を検討する必要があります。

  • あなたのclassX継承を行いますPage。これで、新しいクラスは を継承できるようclassXになり、 と の両方の子クラスにclasXなりPageます。
  • クラスの代わりにインターフェイスを使用します。あなたはすでにそれをやっていますIPostBackEventHandler. 複数のクラスから継承することはできませんが、必要な数のインターフェイスを実装できます。
  • コンポジションを使用します。つまり、クラスにはタイプのメンバーがありclassXます。オブジェクト指向の設計パターンについて読んでください。これは、物事を簡単にするエレガントな方法で目的を達成するのに役立つ場合があります。この質問を参照してください:オブジェクト指向設計に関連する構成とは何ですか?
于 2013-09-18T13:28:25.000 に答える
1

C#のように見えるものでは多重継承を行うことができないため、次のことを行う必要があると思います。

を。myDll.classX のパブリック インターフェイスを複製し、呼び出しを myDll.classX のインスタンスに転送する

また

b. myDll.classX が Page を継承するようにしますが、それは実際にはオプションではない場合があります。

あなたが達成しようとしていることについての詳細な情報がなければ、他のオプションは本当に見えません。

于 2013-09-18T13:27:21.713 に答える