这是一个 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 链接中的这一行解释了这种行为“声明私有元素的类型中的代码,包括包含类型中的代码,可以访问该元素”