在C ++朋友关键字允许class A指定class B作为其朋友。这允许Class B访问的private/ protected成员class A。我从来没有读过任何有关为什么C#(和VB.NET)不包含此内容的信息。这个早期的StackOverflow问题的大多数答案似乎都在说它是C ++的有用组成部分,并且有充分的理由使用它。以我的经验,我必须同意。在我看来,另一个问题实际上是在问如何friend在C#应用程序中执行类似的操作。尽管答案通常围绕嵌套类,但似乎并不像使用friend关键字那样优雅。原始的《设计模式》一书在整个示例中都定期使用它。因此,总而言之,为什么friendC#缺少它?在C#中模拟它的“最佳实践”方法是什么?(顺便说一句,internal关键字不是同一回事,它允许整个程序集中的所有类访问internal成员,而friend允许您为某个类提供对另一个类的完全访问权限)
4 回答
陪伴而非守候
TA贡献1757条经验 获得超8个赞
通过使用C#中的接口,您应该能够完成与“朋友”在C ++中相同的工作。它要求您明确定义在两个类之间传递的成员,这是额外的工作,但也可能使代码更易于理解。
如果有人举了一个合理使用“朋友”的示例,而该示例不能使用界面来模拟,请分享一下!我想更好地了解C ++和C#之间的区别。
- 4 回答
- 0 关注
- 1394 浏览
添加回答
举报
0/150
提交
取消