为什么Windows窗体应用程序中的窗体类被声明为部分?

Bab*_*abu 4 .net c# forms winforms

  1. 有人可以告诉为什么以及它被宣布为部分?
  2. 有什么用?
  3. 这是否可以在没有偏见的情况下声明它?

Mar*_*eck 7

它被声明为部分,因为VS.NET会将"设计器"代码放入一个单独的.cs文件中,该文件实际上是在编译时属于同一个类的一部分.

如果你有一个Form1.cs,你也应该在文件系统上有一个Form1.Designer.cs.当您将控件放到表单上时,VS.NET会将代码添加到该设计器文件中.它是独立的,因为您不希望看到或触摸该代码,并且不希望它妨碍您自己的代码.

因此,C#中的部分类功能主要用于分离代码和设计器代码.在编译时,构成分部类的两个(或更多)文件成为单个类 - 在运行时,定义为partial的类和不定义的类之间没有任何区别.

部分存在之前的"回到当天"所有的设计师代码都与你自己的代码混在一起,这使得凌乱的.cs文件以及开发人员改变VS.NET期望拥有专有权的代码的可能性.因此,表单可以正常工作(如果没有设计人员的支持),而不是部分(例如,如果您自己从T4模板生成整个文件).

你为什么要删除"部分"?