我在下面的两个“奇怪的”寻找性能跌跌撞撞:仅可从同一班级的方法访问的班级成员 - 如何?
Process.GetCurrentProcess().MainModule;
Assembly.GetExecutingAssembly().Location;
这些属性的类过程和大会的一部分,但性质与类中的方法只能访问。
Private或Protected都不会将属性限制为只能从同一个类中的方法使用。
你称这些属性的保护级别是什么或者它如何工作?
我在下面的两个“奇怪的”寻找性能跌跌撞撞:仅可从同一班级的方法访问的班级成员 - 如何?
Process.GetCurrentProcess().MainModule;
Assembly.GetExecutingAssembly().Location;
这些属性的类过程和大会的一部分,但性质与类中的方法只能访问。
Private或Protected都不会将属性限制为只能从同一个类中的方法使用。
你称这些属性的保护级别是什么或者它如何工作?
GetExecutingAssembly是静态方法返回一个过程类型,对于这种类型的,你可以访问公共属性,如MainModule这样的:
new Process().MainModule
所以你混淆类的对象那个班。
+1 @RedHat,这就是我对原始问题的评论 –
这就是私人做
http://msdn.microsoft.com/en-us/library/ms173121(v=vs.80).aspx
“最后,一个类或结构构件可以被声明为private与私营关键字,表示只有类或结构声明的成员被允许访问那个成员“。
你为什么说'私人'不完成这个?根据你的描述,这就是*“私人”所做的。 –
Process.MainModule和Assembly.Location都是公共的,并且可以被所有类中的方法访问。 – Henrik
对不起,没有理解你的问题,你的意思是“为什么我们不能写Process.MainModule; Assembly.Location;而是?” - 如果是这样,这是因为MainModule和Location属性不是静态的/ –