对于 Private Class,我应该将我的属性声明为 Public 还是 Friend(C# 中的内部)? 除了父类之外,任何其他类都无法访问我的私有(private)类。
最佳答案
一般来说,尽量保持封装完好无损。类之间的关系应该建立在“需要知道”的基础上。
由于我不熟悉您的应用程序设计,我确信我过于简单化了,但我会问自己以下问题:
父类是唯一需要知道子类的类吗?如果是这样,它应该是
私有(private)
。如果不是,所有其他需要知道子类的实体是否都在同一个项目中?如果是这样,它应该是
内部
。如果项目外部的实体需要了解子类,则它应该是
public
。
关于属性。如果您决定使用子类 private
,则将属性设置为 public
是没有用的。
唯一可以拥有该类实例的对象是父类,它位于同一项目中,因此 internal
对于属性来说应该足够了。
注意
C# 没有 friend
修饰符。相反,您可以使用 internal
,或最相似但不太优雅的选项:InternalsVisibleTo
关于c# - 私有(private)类别中属性(property)的访问级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20781951/