在C ++朋友关键字允许class A指定class B作为其朋友。这允许Class B访问的private/ protected成员class A。
我从来没有读过任何有关为什么C#(和VB.NET)不包含此内容的信息。这个早期的StackOverflow问题的大多数答案似乎都在说它是C ++的有用组成部分,并且有充分的理由使用它。以我的经验,我必须同意。
在我看来,另一个问题实际上是在问如何friend在C#应用程序中执行类似的操作。尽管答案通常围绕嵌套类,但似乎并不像使用friend关键字那样优雅。
原始的《设计模式》一书在整个示例中都定期使用它。
因此,总而言之,为什么friendC#缺少它?在C#中模拟它的“最佳实践”方法是什么?
(顺便说一句,internal关键字不是同一回事,它允许整个程序集中的所有类访问internal成员,而friend允许您为某个类提供对另一个类的完全访问权限)
陪伴而非守候