Добавить частичный файл в существующий файл формы

У меня есть проект приложения Window Form. На данный момент весь мой код находится в Form1.cs файл, который является файлом по умолчанию. Теперь у меня есть около 1300 строк кода в этом одном файле. Я хочу разбить этот один файловый код на несколько файлов, и я хочу использовать "частичное" ключевое слово (я не хочу делать ничего радикального). Так как мне добавить файлы

Щелкните правой кнопкой мыши имя проекта-> добавить-> новый элемент -> результаты класса в class1.cs, class2.cs и так далее

Но этот файл преобразуется в файл формы после компиляции. Как правильно добавить этот файл, чтобы новый файл интегрировался с моим существующим проектом? Form1.cs а также Form1.cs[Design]?

2 ответа

Вы должны сохранить пространство имен, имя класса и пометить его partial, Имя файла не очень важно для его работы, но это хорошая практика, чтобы разработчики могли быстро идентифицировать содержимое файла.

Form1.cs

namespace TheSameNamespace
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    }

    // other definitions
}

Form1.Designer.cs

namespace TheSameNamespace
{
    partial class Form1
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        // the rest of the designer class
    }
}

Form1.Calculations.cs

namespace TheSameNamespace
{
    partial class Form1
    {
        // calculation methods definitions
    }
}

Form1.EventHandlers.cs

namespace TheSameNamespace
{
    partial class Form1
    {
        // event handlers definitions
    }
}

и так далее...

partial Ключевое слово предназначено в первую очередь для сгенерированных файлов, которые могут быть расширены вашим собственным кодом - бесполезно разбивать один раздутый класс на несколько частей, но если вы действительно хотите это сделать, то вам необходимо:

  1. Создать новый класс.
  2. Переименуйте класс в соответствии с вашим собственным классом (Form1.xxx.cs)
  3. Используйте частичное ключевое слово и настройте имя и пространство имен.

Чтобы уточнить:

Form1.cs

public partial class Form1 { /* ... */ }

Form1.somepart.cs

public partial class Form1 { /* ... */ }
Другие вопросы по тегам