使用内部 ctor 从不同的程序集实例化类

本文关键字:程序集 实例化 内部 ctor | 更新日期: 2023-09-27 18:36:02

我认为无法从其他程序集访问internal ctor。今天我第一次真正需要使用这个想法,但它并没有像我预期的那样工作 - 它可以从不同的程序集访问。

namespace A {
  public class AA {
    internal AA() { }
  }
}
namespace TestNamespace {
  public class TestClass {
    public void TestMethod() {
      var instance = new A.AA();     // <-- this compiles!
    }
  }
}

。所以我做错了,或者不知道我在做什么。

使用内部 ctor 从不同的程序集实例化类

Assembly != Namespace

命名空间提供逻辑组织系统。命名空间是 既用作程序的"内部"组织系统,又用作 "外部"组织系统——一种呈现程序的方式 向其他程序公开的元素。

程序集用于 物理打包和部署。程序集可能包含类型,即 用于实现这些类型的可执行代码,以及对其他类型的引用 组件。

程序集通常是项目,C#明智

在此处阅读更多相关信息。