C# - "部分"课程的好处是什么?

sha*_*kin 13 c# language-design partial-classes

我问这个是因为我发现分发类定义是一个非常危险的特性,所以你不能确定你是否知道它的全部内容.即使我找到三个部分定义,我怎么知道某个地方没有第四个?

我是C#的新手但是已经花了10年时间使用C++,也许这就是为什么我被动摇了?

无论如何,"部分"概念必须有一些很大的好处,我显然不知道.我想更多地了解它背后的哲学.

编辑:对不起,在搜索现有帖子时错过了这个副本.

Mat*_*ton 31

使用代码生成时,部分类很方便.如果要修改生成的类(而不是从中继承),则在重新生成代码时可能会丢失更改.如果您能够在单独的文件中定义额外的方法等,则可以重新创建类的生成部分,而无需编制手工制作的代码.

  • +1 - 事实上,Visual Studio附带的表单构建器工具使用了这个功能. (2认同)

tan*_*ius 11

最大的好处是隐藏计算机生成的代码(由设计师).
Eric Lippert最近发表了一篇关于部分关键字的博客文章.

另一种用法可能是为嵌套类提供自己的文件.