部分类就是一个类可以分解成部分类,分别放在不同的文件夹里。

怎么使用部分类?

使用partial关键字。

:::info 把partial放在class、struct或interface关键字的前面。 :::

  1. //SampleClassAutogenerated.cs
  2. partial class SampleClass
  3. {
  4. public void MethodOne() { }
  5. }
  6. //SampleClass.cs
  7. partial class SampleClass
  8. {
  9. public void MethodTwo() { }
  10. }
  11. //编译包含这两个源文件的项目时,会创建一个SampleClass类,它有两个方法MethodOne()和MethodTwo()。

如果声明类时使用了下面的关键字,则这些关键字就必须应用于同一个类的所有部分:
● public
● private
● protected
● internal
● abstract
● sealed
● new
● 一般约束

只要partial关键字位于class关键字的前面,就可以嵌套部分类。

  1. // SampleClassAutogenerated.cs
  2. [CustomAttribute]
  3. partial class SampleClass: SampleBaseClass, ISampleClass
  4. {
  5. public void MethodOne() { }
  6. }
  7. // SampleClass.cs
  8. [AnotherAttribute]
  9. partial class SampleClass: IOtherSampleClass
  10. {
  11. public void MethodTwo() { }
  12. }
  13. //编译后,等价的源文件变成:
  14. [CustomAttribute]
  15. [AnotherAttribute]
  16. partial class SampleClass: SampleBaseClass, ISampleClass, IOtherSampleClass
  17. {
  18. public void MethodOne() { }
  19. public void MethodTwo() { }
  20. }

:::info 管partial关键字很容易创建跨多个文件的巨大的类,且不同的开发人员处理同一个类的不同文件,但该关键字并不用于这个目的。
在这种情况下,最好把大类拆分成几个小类,一个类只用于一个目的. :::