私は 2 つのクラス ライブラリ プロジェクトを持っています:DataAccessLibrary
とServiceLayerLibrary
.
ServiceLayerLibrary
のメソッドとプロパティにアクセスするDataAccessLibrary
必要がありますが、他のプロジェクトは にアクセスできませんDataAccessLibrary
。
どうすればこれを達成できますか?
私は 2 つのクラス ライブラリ プロジェクトを持っています:DataAccessLibrary
とServiceLayerLibrary
.
ServiceLayerLibrary
のメソッドとプロパティにアクセスするDataAccessLibrary
必要がありますが、他のプロジェクトは にアクセスできませんDataAccessLibrary
。
どうすればこれを達成できますか?
まず、コンパイル時または実行時のチェックを実行して、DataAccessLibrary が正しくアクセスされていることを確認する必要があるかどうか疑問に思うかもしれません。おそらく、コーディングのガイドラインと標準で適切な使用法を規定するだけで十分です。そして、開発者がこれらのガイドラインに従うことを信頼してください。繰り返しますが、私はあなたの状況を知りません:-)
次に、個別のプロジェクトを作成する必要があるかどうか疑問に思うかもしれません。DataAccessLibrary を ServiceLayerLibrary の内部クラスとして実装するだけで、外部に公開されません。
それをしたくない場合は、DataAccessLibrary のpublic
メソッドinternal
を作成してから、可視性を次のように指定できます。
[assembly: InternalsVisibleTo("ServiceLayerLibrary")]
それがきれいかどうかはあなた次第です。個人的に、私はそのような構造のファンではありません。