小编Pra*_*nik的帖子

如何跨越多个程序集的 C# 命名空间?

单线问题没有意义,所以让我详细说明我的挑战:

我创建了 3 个 DLL(MyUtils、MyConnector、MyAgent),每个都包含它自己的一组“内部”类、类型和成员。所有的类、类型和成员都是它们各自的默认命名空间(与它们的程序集名称相同)。

  1. MyAgent 需要添加对 MyConnector 的引用并使用它的一些类。MyConnector 需要添加对 MyUtils 的引用并使用它的一些类。就目前而言,MyAgent 可能还需要访问 MyUtils 中的某些类型。

    现在,由于 MyUtils 中的所有类型和成员都是内部的,我无法将其添加为对 MyConnector 的引用,同样从 MyConnector 到 MyAgent。我不想公开任何这些类型,因为我不希望使用我的 DLL 的应用程序直接访问它们。

    我知道理论上可以跨越多个程序集的命名空间,但不清楚如何实际实现上述场景。

  2. 最后,我只想部署要在 EXE 中使用的 MyAgent.dll。该 EXE 应该只能访问 MyAgent 中的公共类型,但有一个例外:MyConnection 对象(包含在 MyConnector 中的类型)将从 MyAgent 方法返回。再次,我的访问说明符(内部)限制了这种可能性。

我一直在想太多,以至于我现在完全糊涂了。非常感谢有经验的程序员的一些指导。

提前致谢。

c# dll namespaces exe

1
推荐指数
1
解决办法
428
查看次数

标签 统计

c# ×1

dll ×1

exe ×1

namespaces ×1