0

2 つのカスタム サーバー コントロール クラスがあります。1 つは TextBox から継承し、もう 1 つは Label から継承します。

両方のクラスには、かなり多くの共通コード (さまざまなプロパティと属性レンダリング ロジック) が含まれていますが、クラスにはいくつかの異なるコードも含まれています。

理想的には、共通コードは抽象クラスに含まれ、各カスタム コントロールはその抽象クラスから継承されます。もちろん、これは不可能です。これらはそれぞれの基本クラスから既に継承されており、c# は多重継承をサポートしていないためです。コードの重複の問題を解決するにはどうすればよいですか?

4

1 に答える 1

0

それは正確な機能に依存します。それらが同じ場所から継承する方法がない場合 (そうであるように)、最善の策は、共通の機能を含む 3 番目のクラスを持ち、そのインスタンスを持つことによって、何らかの方法でそれを含めることです。コントロールクラスで、または単に静的メソッドを呼び出すだけで。私がどちらを選ぶかは、おそらくあなたのコードが何であるかに依存しており、うまくいけば比較的明白になるでしょう。

于 2012-10-17T14:56:27.657 に答える