私は2つのプロジェクトに とP1
と言いP2
ます。
P1 にはP2の参照があります。
P2's methods
からアクセスできますP1
。P1's methods
しかし、そこからアクセスしたい場合はどうすればP2
アクセスできますか?
P1's
に参照を追加できないことはわかっていP2
ますか?
もし可能ならば?はいの場合、どのように?
私は2つのプロジェクトに とP1
と言いP2
ます。
P1 にはP2の参照があります。
P2's methods
からアクセスできますP1
。P1's methods
しかし、そこからアクセスしたい場合はどうすればP2
アクセスできますか?
P1's
に参照を追加できないことはわかっていP2
ますか?
もし可能ならば?はいの場合、どのように?
他の人が指摘したように、循環参照が問題です。P1 をコンパイルする前に P2 をコンパイルすることはできませんが、P1 が P2 に依存している場合、P2 がコンパイルされるまで P1 をコンパイルすることはできません... 問題はありますか?
今解決策:
簡単な方法: P1 と P2 の共有コードを配置する共有ライブラリを作成します。この共有プロジェクトは、P1 と P2 の両方から参照できます。
より良い解決策: 共有ライブラリで定義するインターフェイスを作成します。P1 の P2 の「参照」は、実際の実装ではなく、共有インターフェイスに基づいてください。そうすれば、よりテストしやすいソリューションが得られ、コードの一部を簡単に置き換えることができます。
簡単な回答: P1 を P2 プロジェクトの参照として追加する方法はありません。これは、許可されていない循環依存関係を作成するためです。コードをリファクタリングし、別の方法でアプリケーションを設計することを検討してください。1 つの方法は、両方のプロジェクトへの参照を含む別のプロジェクトを導入することです。
循環依存関係が作成されるため、P2 から P1 を参照することはできません。循環依存は悪い設計を示しています。これを回避する方法があります。たとえば、共有コードを別のプロジェクトにリファクタリングできます。