I have the following code:
public class PersonInitializer
{
private Person _person;
public static Person LoadFromFile(string path)
{
Per
It is accessible, because you are the class it is defined in!
Access modifiers apply to classes, not to instances of a class. That means, an instance of class A has access to all private members of another instance of class A.
I assume, you agree with me, that this is ok:
var p = this._person;
But what about this:
public void DoSomething(PersonInitializer personInitializer)
{
var p = personInitializer._person;
}
According to your assumption, this code would be valid depending on the input.
Example:
DoSomething(this); // ok
DoSomething(other); // not ok
This makes no sense :-)