访问修饰符的编译
本文关键字:编译 访问 | 更新日期: 2023-09-27 18:21:45
私有类成员、受保护类成员和公共类成员在编译后的代码中有什么区别?在运行时是否检查是否可以访问该成员?我是在C#的背景下提出这些问题的。
编译到IL后,信息将被保留。编译后的模块(DLL)可以被其他代码引用,然后私有/公共/受保护。
从IL编译到本机代码后,没有任何区别。
在运行时是否检查是否可以访问该成员?
我不完全确定,但我认为这是类型加载器的一部分。(w/o反射)访问不应该知道的私有变量的代码必须在某个地方打破规则。