これが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++でもそれが可能だと聞いています。
これの理由は何でしょうか?
編集:
RoBorgによって提供されたmsdnリンクからのこの行は、この動作を説明していると思います。「含まれる型内のコードを含む、プライベート要素を宣言する型のコードは、要素にアクセスできます」