【发布时间】:2015-12-11 17:14:08
【问题描述】:
我想声明(仅)A 类可以访问/操作 B 类的(部分)成员。当C# 中不存在friend 时,如何实现这一点?
【问题讨论】:
-
我希望有人机界面标签 =)。更严重的是,这个机制不是故意跳过的,因为它通常表明或导致糟糕的设计吗?我认为关闭和最合适的方法是定义内部类。
-
关于
friendship 的好与坏有一些很长的讨论。我发现它很有用,并且会犹豫称它为坏。无论如何,整个文本作为我需要实施以实现客户要求的模式的最终定稿提出,我认为它可能对某人有所帮助。 -
您有什么理由不喜欢
internal? -
在我看来
internal太笼统了。据我所知,同一个程序集中的任何类都可以访问任何内部。 -
@sharpener:是的,而且你知道要参与这个程序集的每个人的名字。您可以通过要求这些人远离 B 类来解决问题,并为他们提供一个以业务为中心的充分理由,让他们这样做。