Вот фрагмент кода VB.NET
Public Class OOPDemo
Private _strtString as String
Public Function Func(obj as OOPDemo) as boolean
obj._strString = "I can set value to private member using a object"
End Function
End Class
Я думал, что мы не можем получить доступ к закрытым членам с помощью объекта, но, возможно, CLR позволяет нам это делать. Таким образом, это означает, что модификаторы доступа основаны на типе, а не на экземпляре этого типа. Я также слышал, что C ++ также позволяет это ..
Есть предположения, что может быть причиной этого?
Edit:
Я думаю, что эта строка из ссылки msdn, данной Роборгом, объясняет это поведение
«Код в типе, который объявляет закрытый элемент, включая код внутри содержащихся типов, может получить доступ к элементу»