avi*_*irk 14 .net c# oop access-modifiers
我只是想知道私有和受保护的内部访问说明符之间的实际区别.我所知
可见自己的班级成员:私人和受保护的内部是
可见其他类为对象:两个 NO
可见的命名空间集合以外的其他类的对象:两个 NO
可见的命名空间集合外的子类为对象:两个 NO
如果私有与受保护的内部做同样的事情,为什么我们需要两者只是一个应该是否足够?
Wil*_*den 26
protected internal构件是在当前程序集中的任何代码可见或在另一组件上的派生类.在技术的话,它的逻辑和中protected和internal.private成员是可见只有在同一类的代码.protected internal实际上是第二个最宽松的访问修饰符之后public.
值得注意的是,protected它可以说比允许更宽松internal,因为它允许从您无法控制的代码(即其他程序集)进行访问.虽然internal允许从当前程序集中的所有代码访问,但此代码是您的,您可以控制它!
换句话说,protected(和protected internal)成员是程序集的公共API的一部分(因此应该记录在案).internal成员不是.