.net 为什么私有字段是可访问的?
C#。为什么私有字段是可访问的.net 为什么私有字段是可访问的?,.net,oop,static,.net,Oop,Static,C#。为什么私有字段是可访问的 internal class MyClass { private int someInt; public static StaticMethod() { new MyClass().someInt = 3; } } 同一类的所有实例都可以访问它 可访问性是针对类的,而不是针对每个实例。同一类的所有实例都可以访问它 可访问性是针对类的,而不是针对每个实例的。您需要阅读一篇关于OOP的介绍性文章。如果类的方法无法访问,则可能会
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
,则它将不起作用。这就是您所说的“可由同一类的所有实例访问”的意思,我将其扩展为也包括同一类的静态方法。