簡體   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