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

时间:2009-11-20 08:48:35

标签: c# .net winforms forms

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

3 个答案:

答案 0 :(得分:6)

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

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

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

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

为什么要删除“部分”?

答案 1 :(得分:0)

它被声明为partial,因为该类是在两个文件中定义的。只要您想将类的定义拆分为多个文件,就可以使用关键字partial

答案 2 :(得分:0)

表单设计将其代码放在不同的.cs文件中,其事件和其他代码(您编写的代码)存储在不同的.cs文件中。但是这两个文件都使用相同的类名声明,即表单的名称。这就是为什么这被标记为“部分”。如果您使用代码隐藏,那么对于ASP.NET页面也是如此。