1

プロジェクトA (メインプロジェクト)でWinFormを取得しました。これは、wpfユーザーコントロールをホストし、 Bと呼ばれる別のプロジェクトの下で維持されます。

ユーザーコントロールのボタンをクリックすると、プロジェクト「 C」にあるサーバーにクエリを実行し、データを取得して、ホストされているwpfユーザーコントロールに表示したいと思いました。カスタムコントロールのみを含むプロジェクトBにプロジェクト「 C 」への参照を配置するのは悪いコーディング慣行であることを私は知っています。

4

2 に答える 2

3

プロジェクトの依存関係を最小限に抑えるには、コントロールに必要な操作を反映するインターフェイスをコントロール プロジェクト (B) に作成します。

このインターフェイスを実装するクライアント (A) プロジェクトにクラスを実装します (データ プロジェクト (C) から必要な情報を取得し、インターフェイス メソッドを介してそれを返します)。

コントロールを初期化するときに、A で構築された (インターフェイスを実装する) サービス クラスをコントロール B に渡します。

于 2011-07-21T15:36:58.743 に答える
0

3 つのプロジェクトすべてで共有できる単なるクラス ライブラリである別のプロジェクトを作成します。プロジェクト間で共有する必要があるインターフェイスやクラスの実装をクラス ライブラリに配置し、それらをサーバー プロジェクトとユーザー コントロール プロジェクトで使用します。

于 2011-07-21T15:21:41.160 に答える