手动更改类名后无法继承System.Window.Forms.Form类

时间:2011-12-03 02:28:56

标签: c# visual-studio-2010 refactoring compiler-errors

我在Visual Studio C#中编写了一个简单的Form1(继承自Form)类。一切都很好。

然后我想将类和名称空间的名称更改为有意义的名称,而不是默认的“WindowApplicationForm1”。我还更改了Form1.cs类的文件名以匹配新的类名(IRISReaderGUI和Com.Harmonysoft)。首先我手动重命名代码,然后编译,编译器给了我很多错误,我无法弄清楚。所以我尝试使用“重构”菜单重命名我的类和命名空间。我的代码仍然没有编译。

我做了一些研究并更改了'IRISReaderGUI.Designer.cs'类名和命名空间以匹配新名称。 C#仍然没有给我带来快乐。

  1. 编译器错误消息: 'Com.Harmonysoft.IRISReaderGUI.Dispose(bool)':没有合适的方法 发现要覆盖'
  2. 在设计师视图中说:无法设计基类'System.object'。
  3. 所以我猜我的IRISReaderGUI没有正确地继承System.Windows.Forms.Form类,这是通过将鼠标放在代码中的Form单词上来确认的,Visual Net不会弹出描述该类的文本,并按下F12不会让我进入表单定义。

    以下是代码:

    “IRISReaderGUI.Designer.cs”

    namespace Com.Harmonysoft
    {
    
        partial class IRISReaderGUI
        {
    .......
    
    }
    

    “IRISReaderGUI.cs”

       using System;
        using System.Collections.Generic;
        using System.ComponentModel;
        using System.Data;
        using System.Linq;
        using System.Text;
        using System.Data.Odbc;
        using System.Data.OleDb;
        using System.Data.OracleClient;
        using Com.StellmanGreene.CSVReader;
        using System.Windows.Forms;
        using System.IO;
    
    
    
    
          namespace Com.Harmonysoft
            {
                public partial class IRISReaderGUI : Form
                {
            ......
            }
    

    我是C#和Visual Studio的新手,我之前使用的是Java编译器和Vim编辑器。有人可以帮我编译我的代码吗?

1 个答案:

答案 0 :(得分:3)

VS2005及更高版本中的表单是部分类。您编辑了一部分而不是另一部分。在Solution Explorer窗口中,展开窗体旁边的节点,然后双击Designer.cs文件将其打开。

使用Refactor + Rename上下文菜单命令是更好的方法,它也不会忘记编辑其他源文件。当你尝试它时它没有用,因为损坏已经完成,部件不再具有相同的名称。