Dlaczego mogę wywołać metodę prywatną innej instancji tego samego typu poza tą instancją? [duplikować

To pytanie ma już odpowiedź tutaj:

Dlaczego i w jaki sposób C # umożliwia dostęp do zmiennych prywatnych poza samą klasą, gdy znajduje się w tej samej klasie zawierające 3 odpowiedzi

Jeśli mam ObjectA i ma on prywatną metodęGetPrice(), a także ma pole „nadrzędne” tego samego typu, dlaczego mogę wywoływaćGetPrice() w instancji nadrzędnej z instancji podrzędnej?

Przykład

private decimal GetPrice()
{
    ObjectA parent = Parent;

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

    return 0;
}

questionAnswers(3)

yourAnswerToTheQuestion