Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 为什么私有字段是可访问的?_.net_Oop_Static - Fatal编程技术网

.net 为什么私有字段是可访问的?

.net 为什么私有字段是可访问的?,.net,oop,static,.net,Oop,Static,C#。为什么私有字段是可访问的 internal class MyClass { private int someInt; public static StaticMethod() { new MyClass().someInt = 3; } } 同一类的所有实例都可以访问它 可访问性是针对类的,而不是针对每个实例。同一类的所有实例都可以访问它 可访问性是针对类的,而不是针对每个实例的。您需要阅读一篇关于OOP的介绍性文章。如果类的方法无法访问,则可能会

C#。为什么私有字段是可访问的

internal class MyClass
{
   private int someInt;

   public static StaticMethod() 
   {
      new MyClass().someInt = 3;
   }
}

同一类的所有实例都可以访问它


可访问性是针对类的,而不是针对每个实例。

同一类的所有实例都可以访问它


可访问性是针对类的,而不是针对每个实例的。

您需要阅读一篇关于OOP的介绍性文章。如果类的方法无法访问,则可能会重复,它的用途是什么?我想你应该阅读这篇文章。你需要阅读一篇关于OOP的介绍性文章。如果类的方法无法访问它,它的用途是什么?我想你应该阅读这篇文章,或者在本例中,阅读这个类的静态方法。@Penfold-你是什么意思?它位于静态方法中,但该值应用于新实例。是的,但可以从静态方法访问它。您说过它只能由同一类的实例访问。它不能从其他类的实例或其他类的静态方法访问。@Penfold-我仍然不懂
newmyclass()
是该类的新实例。对其调用
.someInt
就是对类的实例调用它。新实例是在静态方法内部初始化的,这一点不在这里,也不在那里。这正是我们要讨论的。如果在另一个类的静态方法或另一个类的非静态方法中有相同的行
new MyClass().someInt=3
,则它将不起作用。这就是你所说的“可由同一类的所有实例访问”的意思,我将其扩展为包括同一类的静态方法。或者,在本例中,包括此类的静态方法。@Penfold-你是什么意思?它位于静态方法中,但该值应用于新实例。是的,但可以从静态方法访问它。您说过它只能由同一类的实例访问。它不能从其他类的实例或其他类的静态方法访问。@Penfold-我仍然不懂
newmyclass()
是该类的新实例。对其调用
.someInt
就是对类的实例调用它。新实例是在静态方法内部初始化的,这一点不在这里,也不在那里。这正是我们要讨论的。如果在另一个类的静态方法或另一个类的非静态方法中有相同的行
new MyClass().someInt=3
,则它将不起作用。这就是您所说的“可由同一类的所有实例访问”的意思,我将其扩展为也包括同一类的静态方法。