C# 使用实现接口(interface)的类而不添加对定义接口(interface)的程序集的引用

标签 c#

我有 3 个用 C# 编写的程序集,即 A.exe、B.dll、C.dll

  • C.dll 定义了一个公共(public)接口(interface) IfaceC。
  • A.exe定义了一个公共(public)类ClassA:IfaceC
  • B.dll 使用 ClassA 但没有明确使用 IfaceC

我的问题:是否可以引用 C.dll 来编译 B?我不使用它,我想阻止开发人员使用它(即不小心在 B 的代码中键入“IfaceC”)。但是 A.exe 仍然需要它。

编辑

鉴于我的架构,A 可以引用 C 但不能引用 B,C 不能引用 B 也不能引用 A,B 不能引用 A 但不能(如果可能)C

最佳答案

没有。您需要引用任何包含基类型或由您使用的任何类型实现的接口(interface)的程序集。

关于C# 使用实现接口(interface)的类而不添加对定义接口(interface)的程序集的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7646769/

相关文章:

c# - 三层架构中的外部通信

c# - 将字节数组传递给 T4 模板代码到另一个相同类型的数组

c# - 如何使用 MySQL 的 OdbcParameter?

c# - 需要多个相似字符串的正则表达式

c# - ASP.NET Core 传递 Ienumerable 对象以在 Controller 上获取操作

c# - 将图像(按路径选择)转换为 base64 字符串

c# - 将所有低位设置为 0,直到剩下两个 1(对于存储为字节数组的数字)

c# - 使用表优化中继器的 asp.net C# 代码

c# - 将两个 PHP 函数转换为 C#

c# - 在 C# 中从服务器向客户端发送一些约束