1

私有或受保护和公共类成员之间的编译代码有什么区别?在运行时是否有任何检查是否可以访问该成员?我在 C# 的上下文中问这些问题。

4

1 回答 1

2

编译到 IL 后,信息将被保留。编译后的模块(DLL)可以被其他代码引用,然后私有/公共/受保护确实很重要。

从 IL 编译为本机代码后,没有区别。

在运行时是否有任何检查是否可以访问该成员?

我不完全确定,但我认为这是 Type-loader 的一部分。(没有反射)访问它不应该知道的私有变量的代码必须在某处违反规则。

于 2013-07-09T16:55:26.710 回答