限制或审核接口的使用

Zdr*_*nev 3 c#

我有3个组件:

  • A定义了一个接口
  • B引用A并使用该接口
  • C也引用了A.

如何确保C不使用该接口?

拆分组件 - 不是一种选择.

Jon*_*eet 6

可以将接口设置为内部,并用于InternalsVisibleToAttribute允许B访问内部成员A(通过添加属性A).虽然它非常粗糙 - 你不能为个别成员做到这一点; 这是全有或全无.

但总的来说,这种特定的限制并不是.NET或C#中访问控制设计的一部分.

当然,您可以尝试将界面拆分为新的程序集,并通过它将其提供给A和B InternalsVisibleTo- 但您不希望经常这样做.该平台不是为此类设计的.(它会起作用,但是使用你执行此操作的类型越多,就越难.)