Невозможно наследовать класс System.Window.Forms.Form после изменения имени класса вручную. - PullRequest
1 голос
/ 03 декабря 2011

Я написал простой класс Form1 (наследовать от Form) в Visual Studio C #. Все было хорошо.

Затем я хотел изменить имя класса и пространство имен на что-то значимое вместо стандартного WindowApplicationForm1. Я также изменил имя файла класса Form1.cs, чтобы оно соответствовало новому имени класса (IRISReaderGUI и Com.Harmonysoft). Сначала я вручную переименовал код, затем скомпилировал, и компилятор выдал мне много ошибок, которые я не смог понять. Поэтому я попытался переименовать свой класс и пространство имен, используя меню «рефакторинг». Мой код все еще не скомпилирован.

Я провел некоторое исследование и изменил имя класса и пространство имен IRISReaderGUI.Designer.cs, чтобы они соответствовали новым именам. C # до сих пор не дал мне никакой радости.

  1. Сообщение об ошибке компилятора было : 'Com.Harmonysoft.IRISReaderGUI.Dispose (bool)': нет подходящего метода найдено переопределить '
  2. В представлении конструктора указано: : Базовый класс System.object не может быть спроектирован.

Так что я думаю, что мой IRISReaderGUI неправильно унаследовал класс System.Windows.Forms.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 Ответ

3 голосов
/ 03 декабря 2011

Формы в VS2005 и выше: частичные классы . Вы редактировали одну часть, но не другую. В окне обозревателя решений разверните узел рядом с формой и дважды щелкните файл Designer.cs, чтобы открыть его.

Лучше всего использовать команду контекстного меню Refactor + Rename, не забывая редактировать и другие исходные файлы. Это не сработало, когда вы попробовали его, потому что повреждение уже было сделано, части больше не имели одно и то же имя.

...