1

私はこれに対する答えを知っていると思いますが、誰かがきちんとした解決策を持っていることを願っています. 現在、2 種類のドロップダウン コントロール (Telerik と .Net) を使用しています。これらを 1 つのコントロールに結合したいと考えていますが、ユーザー フレンドリーなデザインに苦労しています。

理想的には、コントロールは、継承するコントロールの種類を決定するために、"SimpleBox" などの bool プロパティを使用してデザイン ファイルに作成されます。インスタンス化はコード ビハインド デザイン ファイルで生成され、コンストラクターはベースを動的にロードします (これは不可能です)。簡単な解決策は、IDropDown インターフェイスを作成し、ファクトリに正しいインターフェイスを作成させることです。これに関する唯一の実際の問題は、インスタンス化を毎回手動で作成する必要があるという事実です。これは面倒であり、プロセスをまったくスピードアップしません。

直接可能ではありませんが、bool プロパティに基づいて、ベースを設定するためにオブジェクト コンストラクター内で実行されるファクトリに沿ったソリューションを探しています。

乾杯

4

1 に答える 1

4

ここでは、継承の代わりに構成/委任を検討することをお勧めします。

本質的には、いずれかのクラスを直接拡張するのではなく、拡張Control(または同様の低レベルのもの) を実装するラッパー クラスを作成し、使用する基本的なコントロール実装IDropDownのフィールドを追加し、IDropDown対象のすべてのメソッド呼び出しを選択したものに転送します。実装。ただし、メソッドが多数ある場合、これは急速に退屈になります。

于 2010-10-11T22:24:44.553 に答える