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 odpowiedziJeś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;
}