3

私は3つのアセンブリを持っています:

  • A はインターフェイスを定義します
  • B は A を参照し、そのインターフェースを使用します
  • C も A を参照する

Cがそのインターフェースを使用していないことを確認するにはどうすればよいですか?

アセンブリの分割 - オプションではありません。

4

3 に答える 3

6

インターフェースを内部にし、 を使用して の内部メンバーへのアクセスを許可することができます(属性を に追加することにより)。ただし、これは非常に粗粒度です。個々のメンバーに対して行うことはできません。それはすべてか無かです。InternalsVisibleToAttributeBAA

ただし、一般に、この種の特定の制限は、.NET または C# 内のアクセス制御の設計の一部ではありません。

もちろん、インターフェイスを新しいアセンブリに分割して、それをA と B の両方で使用できるようにすることもInternalsVisibleToできますが、これをあまり頻繁に行うことは望ましくありません。プラットフォームは、この種のことのために設計されていません。(動作しますが、これを行うタイプが増えるほど、作業が難しくなります。)

于 2013-09-20T13:47:58.260 に答える