【发布时间】:2015-04-06 02:43:59
【问题描述】:
我正在使用 .NET 4.5.2 并且需要从程序集 B 访问在程序集 A 中定义的 ClassA,但想要声明 ClassA 作为内部以避免其他程序集访问它。
我不想使用 InternalsVisibleTo,因为我不希望所有程序集 A 类型的内部端都暴露给程序集 B。
总结:我需要对我的程序集类型进行离散定义的可见性。这可能吗?
编辑:StrongNameIdentityPermissionAttribute 与我需要的非常相似,但我只是不希望类型公开,因为我也希望它们在编译时隐藏。
【问题讨论】:
-
您尝试这样做的事实表明您的设计存在架构缺陷。为什么一开始还有两个程序集?
-
@EricLippert 完全不同意你的观点。不是微不足道的解释为什么我需要离散地授予对另一个程序集的访问权限,但基本上与 DDD 分层架构以及需要从基础设施层而不是来自应用层,并且一些Creation Factories只需要从应用层而不是基础设施层访问。这只是一个例子。
标签: c# .net types visibility .net-assembly