[英]VS2017 C# Importing WinForms generates namespace errors
我有兩種解決方案,一種是功能性的,另一種是實驗性的。 我做了一些 forms 和我想從實驗導入到功能的代碼。
我按照此處找到的說明導入 forms。
我遇到的是我需要更改 FormOne.Designer.cs 文件上的命名空間以匹配功能解決方案的命名空間:
namespace WindowsFormsApp1
變成:
namespace ProjName
這樣做並保存后,它適用於 FormOne。
但是對於 FormTwo 和 FormThree 遵循完全相同的程序(一次一個表單)失敗了。 當我嘗試構建或重建解決方案或項目時,我得到:
FormTwo.Dispose(bool): no suitable method found to override
FormTwo 和 FormThree 都出現同樣的錯誤。 我復制/粘貼了命名空間行,以確保在輸入時沒有打錯字。
Forms 使用partial
class 功能將您編輯的代碼文件 ( Form1.cs
) 中的Form1
與設計師編輯的文件 ( Form1.Designer.cs
) 中的Form1
結合起來
設計器代碼覆蓋了Dispose()
,這是一個可以覆蓋的方法,因為 Form1.cs 中的Form1
class 繼承自Form
,后者具有可覆蓋的Dispose()
。 設計器文件中的partial class Form1
不繼承任何東西(它也不能繼承Form
,因為這已經在Form1.cs
中完成;你不能繼承兩次)
如果您在 Form1.cs class 中更改Form1
class 的命名空間而忘記更改 Form1.Designer.cs 中 class 的命名空間,您將在不同的命名空間中生成兩個名為Form1
的類。 Form1 in the Designer file, that doesn't inherit from Form, cannot thus have a
Dispose()` 來覆蓋:
FWIW 你不需要編輯命名空間; 您的舊命名空間中的 forms 可以在新命名空間的 forms 中使用,只需在新命名空間中的 forms 頂部添加“使用 OldNamespace”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.