1

私は 2 つのクラス ライブラリ プロジェクトを持っています:DataAccessLibraryServiceLayerLibrary. ServiceLayerLibraryのメソッドとプロパティにアクセスするDataAccessLibrary必要がありますが、他のプロジェクトは にアクセスできませんDataAccessLibrary

どうすればこれを達成できますか?

4

2 に答える 2

3

まず、コンパイル時または実行時のチェックを実行して、DataAccessLibrary が正しくアクセスされていることを確認する必要があるかどうか疑問に思うかもしれません。おそらく、コーディングのガイドラインと標準で適切な使用法を規定するだけで十分です。そして、開発者がこれらのガイドラインに従うことを信頼してください。繰り返しますが、私はあなたの状況を知りません:-)

次に、個別のプロジェクトを作成する必要があるかどうか疑問に思うかもしれません。DataAccessLibrary を ServiceLayerLibrary の内部クラスとして実装するだけで、外部に公開されません。

それをしたくない場合は、DataAccessLibrary のpublicメソッドinternalを作成してから、可視性を次のように指定できます。

[assembly: InternalsVisibleTo("ServiceLayerLibrary")]

それがきれいかどうかはあなた次第です。個人的に、私はそのような構造のファンではありません。

于 2013-01-09T10:56:24.640 に答える