它是什么以及如何在C#中使用.
你能在Python/Perl中使用相同的概念吗?
甲部分类型(它不必是类;结构和接口可以是部分的太)基本上是具有在多个文件的码扩展的单一类型.
这样做的主要用途是允许代码生成器(例如Visual Studio设计器)"拥有"一个文件,而手写代码则放在另一个文件中.
我不知道Python/Perl是否具有相同的功能.
这里已经解释了c#partial类,所以我将只介绍python部分.您可以使用多重继承来优雅地分发类的定义.
class A_part1: def m1(self): print "m1" class A_part2: def m2(self): print "m2" class A(A_part1, A_part2): pass a = A() a.m1() a.m2()
部分类只是包含在多个文件中的类.有时,一部分可以是机器生成的,另一部分是用户编辑的.
我在C#中使用它们时,我正在制作一个有点太大的课程.我将把访问器和构造函数放在一个文件中,将所有有趣的方法放在不同的文件中.
在Perl中,您只需要两个(或更多)文件,每个文件都声明自己在一个包中:
(主程序)
use MyClass;
(在MyClass.pm中)
use MyClassOtherStuff; package MyClass; # [..class code here...]
(在MyClassOtherStuff.pm中)
package MyClass; # [...rest of code here...]