在Kathleen Dollard's 2008 blog post篇文章中,她提出了一个有趣的理由,在中使用嵌套类.网然而,她也提到FxCop不喜欢嵌套类.我假设写FxCop规则的人并不愚蠢,所以这个立场背后一定有道理,但我一直没能找到它.
在Kathleen Dollard's 2008 blog post篇文章中,她提出了一个有趣的理由,在中使用嵌套类.网然而,她也提到FxCop不喜欢嵌套类.我假设写FxCop规则的人并不愚蠢,所以这个立场背后一定有道理,但我一直没能找到它.
当您正在嵌套的类仅对包含的类有用时,请使用嵌套类.例如,嵌套类允许您编写类似(简化)的代码:
public class SortedMap {
private class TreeNode {
TreeNode left;
TreeNode right;
}
}
你可以在一个地方对你的类进行完整的定义,你不需要跳过任何PIMPL环来定义你的类是如何工作的,外部世界也不需要看到你的任何实现.
如果TreeNode类是外部的,那么您要么将所有字段设置为public
,要么创建一组get/set
个方法来使用它.外界将会有另一类人污染他们的智能感知.