16

ウィンドウフォームアプリプロジェクトがあります。現在、私のコードはすべてForm1.csデフォルトのファイルであるファイルにあります。これで、この1つのファイルに約1300行のコードが含まれます。この1つのファイルコードを複数のファイルに分割し、「部分的な」キーワードを使用したいと思います(思い切った操作はしたくありません)。では、どのようにファイルを追加すればよいですか

プロジェクト名を右クリック->追加->新しいアイテム->結果をclass1.csにクラス化class2.csなど

ただし、このファイルはコンパイル後にフォームフォームファイルに変換されます。Form1.cs新しいファイルが既存のプロジェクトと統合されるように追加する正しい方法は何Form1.cs[Design]ですか?

4

2 に答える 2

10

名前空間、クラス名を保持し、 でマークする必要があり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.Calculation.cs

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

Form1.EventHandlers.cs

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

等々...

于 2013-02-19T08:49:18.220 に答える
1

このpartialキーワードは、主に生成されたファイル用であり、独自のコードで拡張できます。単一の肥大化したクラスを複数のパーシャルに分割しても意味がありませんが、本当にやりたい場合は、次のようにする必要があります。

  1. 新しいクラスを作成します。
  2. 独自のクラスに合わせてクラスの名前を変更します (Form1.xxx.cs)
  3. 部分的なキーワードを使用して、名前と名前空間を調整します。

クリアするには:

Form1.cs

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

Form1.somepart.cs

public partial class Form1 { /* ... */ }
于 2013-02-19T08:50:30.097 に答える