类成员只能从同一个类的方法访问 - 如何?

时间:2011-11-25 15:41:27

标签: c# .net properties

我偶然发现了以下两个“怪异”的属性:

Process.GetCurrentProcess().MainModule;

Assembly.GetExecutingAssembly().Location;

这些属性是进程程序集类的一部分,但只能从这些类中的方法访问这些属性。

Private或Protected都不会将属性限制为仅可用于同一类中的方法。

您认为这些属性的保护级别是什么或者它的工作原理是什么?

2 个答案:

答案 0 :(得分:3)

这就是私人所做的事情

http://msdn.microsoft.com/en-us/library/ms173121(v=vs.80).aspx

“最后,可以使用private关键字将类或结构成员声明为私有,表示只允许声明该成员的类或结构访问该成员。”

答案 1 :(得分:2)

GetExecutingAssembly是一个静态方法,用于返回流程类型,使用此类型,您可以访问公共属性,例如MainModule,如下所示:

new Process().MainModule

所以你混淆了一个类和该类的一个对象。