标签: c# access-modifiers
私有或受保护和公共类成员之间的编译代码有何不同?在运行期间是否可以检查是否可以访问该成员?我在C#的背景下问这些问题。
答案 0 :(得分:2)
编译到IL后,信息将被保留。编译模块(DLL)可以被其他代码引用,然后私有/公共/受保护就可以了。
从IL编译到本机代码后,没有区别。
运行期间是否可以检查是否可以访问该成员?
我不完全确定,但我认为这是Type-loader的一部分。 (没有反射)访问它不应该知道的私有变量的代码必须在某处破坏规则。