私は3つのアセンブリを持っています:
- A はインターフェイスを定義します
- B は A を参照し、そのインターフェースを使用します
- C も A を参照する
Cがそのインターフェースを使用していないことを確認するにはどうすればよいですか?
アセンブリの分割 - オプションではありません。
私は3つのアセンブリを持っています:
Cがそのインターフェースを使用していないことを確認するにはどうすればよいですか?
アセンブリの分割 - オプションではありません。
インターフェースを内部にし、 を使用して の内部メンバーへのアクセスを許可することができます(属性を に追加することにより)。ただし、これは非常に粗粒度です。個々のメンバーに対して行うことはできません。それはすべてか無かです。InternalsVisibleToAttribute
B
A
A
ただし、一般に、この種の特定の制限は、.NET または C# 内のアクセス制御の設計の一部ではありません。
もちろん、インターフェイスを新しいアセンブリに分割して、それをA と B の両方で使用できるようにすることもInternalsVisibleTo
できますが、これをあまり頻繁に行うことは望ましくありません。プラットフォームは、この種のことのために設計されていません。(動作しますが、これを行うタイプが増えるほど、作業が難しくなります。)