Почему я могу вызвать закрытый метод другого экземпляра того же типа вне этого экземпляра? [Дубликат]

На этот вопрос уже есть ответ:

Почему и как C # разрешает доступ к закрытым переменным вне самого класса, если он находится внутри того же самого содержащего класса? 3 ответа

Если у меня есть ObjectA, и у него есть приватный методGetPrice() а также имеет «родительское» поле того же типа, почему я могу позвонитьGetPrice() на родительском экземпляре из дочернего экземпляра?

Пример

private decimal GetPrice()
{
    ObjectA parent = Parent;

    if(parent != null)
    {
        return parent.GetPrice(); // Why is this OK?
    }

    return 0;
}

Ответы на вопрос(3)

Ваш ответ на вопрос