如何将一个类的代码拆分成几个文件?

时间:2012-04-18 14:35:08

标签: c# file

我正在使用visual studio 2010。

我想将一个类拆分成几个.cs文件。有可能吗?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
             InitializeComponent();
        }

        int i = 5;
        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}

我想将方法​​public void laugh()添加到public partial class Form1,但是在另一个文件中。怎么做?我不想在Form1.cs中使用该方法

10 个答案:

答案 0 :(得分:4)

使用适当的名称向您的项目添加新类(您不能使用Form1.cs,因为它已经存在),例如Form1.Code.cs。然后这工作:

using System.Windows.Forms;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public void laugh()
        {
            MessageBox.Show("Haha");
        }
    }
}

答案 1 :(得分:2)

可以将“Form1.Something.cs”文件添加到您的项目中,以使其靠近“Form1.cs”。

使用相同的命名空间和类名并添加您喜欢的任何代码:

namespace WindowsFormsApplication1
{
    public partial class Form1 // no need to inherit
    {
        public void Laugh() { ... }
    }
}

答案 2 :(得分:2)

Form1.part2.cs(或您想要提供文件的任何名称)中:

namespace WindowsFormsApplication1
{
    public partial class Form1 
    {
        public void laugh()
        {
        }
    }
}

确保命名空间和类名相同(以及辅助功能和partial修饰符),然后添加代码。还要确保新文件是项目的一部分。

答案 3 :(得分:2)

Partial type definitions MSDN参考。

答案 4 :(得分:1)

看看设计器生成的代码。它使用相同的方法 另请查看documentation

答案 5 :(得分:1)

试试这个 第一个文件

namespace WindowsFormsApplication1
{
 public partial class Form1 : Form
 {
    public void laugh()
 }
}

第二档

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {

     public classForm1()
     {
         InitializeComponent();
     }

     int i = 5;
     private void Form1_Load(object sender, EventArgs e)
     {

     }
    }
}

答案 6 :(得分:1)

partial关键字就是这样做的。

partial (Type) (C# Reference)

另一个文件看起来像这样:

public partial class Form1 : Form
{
    public void laugh()
    {

    }
}

答案 7 :(得分:1)

CS文件添加到您的项目中并写入以下内容:

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
       public void laugh()
       {
       }
    }
}

使用 partial 维护名称空间名称和类名。

答案 8 :(得分:1)

你已经有了:Form1.cs和Form1.designer.cs(设计师生成的东西) 如果您有另一个文件Form1.test.cs并将其包含在您的项目中,然后将其包装在一个分部类中:

namespace WindowsFormsApplication1
{
    partial class Form1 
    {
        public void laugh() 
        {
            //your stuff
        }
    }
}

答案 9 :(得分:0)

你已经在那里了:)只需将现有Form1.cs旁边的另一个文件添加到你的项目中 - 也许是FormMethods.cs?:

public partial class Form1 
{
  public void laugh() 
  {
    ...
  }
}