作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
最近我发现了一些允许将 .Net 库合并到 Windows 应用程序中的工具。
现在真正的问题是库的行为如何改变,
扩展问题:
最佳答案
类不能是私有(private)的,除非它们是嵌套的。
但考虑一下:如果您正在合并程序集 A 和 B,那么您必须在合并之前已经编译了它们。当它们被编译时,彼此无法访问每个的内部方法。因此,在合并后的代码中,不可能有调用其他程序集内部方法的方法。
Wont it be better that when merging the assembly that are internal should be made private so that that cant be used by the application they are merged in?
那将如何运作?如果顶级类型是私有(private)的,根本没有其他类型可以访问它。这就是为什么您不能定义私有(private)类型(除非它们嵌套在另一个类型中)。
假设程序集 A 有类 C 和 D,其中 C 是内部类,D 调用类 C 的一些方法。当类 C 被设为私有(private)时(在可能的 CTS 的某些假设版本中),类 D 中断。
关于c# - 当与 ILMerge 或 SmartAssembly 等工具合并时,内部类是否会变为私有(private)类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14041902/
我是一名优秀的程序员,十分优秀!