繁体   English   中英

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

[英]Why the form class in windows form application is declared as partial?

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

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

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

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

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

你为什么要删除“部分”?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM