私有或受保护的类成员与公共类成员在编译后的代码中有什么区别?在运行时是否有任何检查是否可以访问该成员?我在C#的背景下提出了这些问题。
发布于 2013-07-10 00:55:27
编译为IL后,信息将被保留。编译后的模块(DLL)可以被其他代码引用,然后是私有/公共/受保护的模块。
从IL编译为本机代码后,没有区别。
在运行时是否有任何检查是否可以访问成员?
我不完全确定,但我认为这是类型加载器的一部分。(没有反射)访问私有变量(它不应该知道)的代码必须在某个地方违反规则。
https://stackoverflow.com/questions/17553528
复制相似问题