如何封装被访问的子库类 c#?

How to encapsulate the child libraries classes being accessed c#?

我有 3 个项目。 项目 1 使用项目 2 的参考,项目 2 使用项目 3.Now 的参考,这就是我想要的。 与上述场景项目 1 一样,我也不想使用项目 3 的 classes。那么我如何封装项目 3 的 classes 以仅在项目 2 中使用而不在项目 1 中使用。

这是例子 class ABC 在项目 3 中,我通过将项目 3 引用到项目 2 来在项目 2 中使用它。项目 2 在项目 1 中被引用,ABC class 也在项目 1 中可用,它不应该是。

所有三个项目都是 class 具有 .net 核心的库

有一个解决方法是将 类 声明为内部类型,并在项目 3 的程序集中使用 InternalsVisibleToAttribute 以允许所有内部类型对项目 2 in/visible 可用。当然,内部 类 将无法在项目 1 以及任何其他项目中使用。