如何将常见的C#代码添加到Visual C#2008 Express项目/解决方案中?

时间:2009-01-08 19:54:42

标签: c# visual-studio visual-studio-2008

(我仍觉得在MS视觉环境中是一个完整的新手...所以请忍受!)

我正在使用Microsoft Visual C#2008 Express Edition。

我有一个项目,在该项目中有两种不同的形式。每个表单的.cs文件开头:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace MyNameSpace
{
    public partial class MyFormName : Form
    {
...

(......第二个是“MyFormName2”,但除此之外没有区别)

我想编写一个我知道两种表单都需要访问的函数。我右键单击我的项目,选择“添加”,选择“新项目”,然后选择“代码文件”并命名我的文件“Common.cs”,它给了我一个完全空白的文件,在我的项目中。

如何设置...?我以为我应该做以下......

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace MyNameSpace
{
}

...但是当我尝试添加如下函数时:

public void mytestfunc(){ } 在该命名空间中,我收到以下错误:

“预期的类,委托,枚举,接口或结构”

如何设置,以便MyFormName和MyFormName2可以使用“mytestfunc”?

谢谢!

-Adeena

更新: 理解(现在)一切都必须在一个类中,但后来我不明白如何真正使用它。这是否意味着我必须创建一个对象?这个常见的功能恰好是一些数学......

所以现在如果我有这个:

namespace MyNameSpace
{
    public class MyCommonClass
    {
        public void testFunc()
        {
            MessageBox.Show("Hee hee!");
            return;
        }
    }
}

...如何从我的表单中调用testFunc?我必须做以下事情:

MyCommonClass temp = new MyCommonClass;
temp.testFunc();

还是有另一种方法可以调用testFunc吗?

4 个答案:

答案 0 :(得分:2)

如果您执行以下操作:

namespace MyNameSpace
{
    public class myclass
    {
        public myMethod()
        {
            // Code
        }
    }
}

您将能够实例化并访问它。如果您将其更改为:

namespace MyNameSpace
{
    public class myclass
    {
        public static myMethod()
        {
            // Code
        }
    }
}

您可以在不实例化新myClass的情况下调用myClass.myMethod。

答案 1 :(得分:1)

简短的回答是,一切都需要在课堂内;我建议你坐下a basic tutorial来帮助你掌握基础知识......

答案 2 :(得分:0)

代码需要在类内部。

它看起来像这样:

using System;

namespace MyNameSpace
{
   public class CommonHelper
   {
       public string FormatMyData(object obj)
       {
            //do something
            return String.Empty;
       }
   }
}

答案 3 :(得分:0)

如果您调用的函数与表单无关,请将其设为静态

namespace myns
{
    public static class myhelper
    {
        public static void DoSomething()
        {
        }
    }
}

并使用myhelper.DoSomething();

调用该方法

如果您要调用的功能与表单有关,例如跨多个表单的通用功能,从Form派生一个类(不需要可视化表单),并使其成为可视表单的基类:

namespace myns
{
    public class MyFormBase : Form
    {
        protected void DoSomethingWithTheForm()
        {
        }
    }
}

并在您的表单中.cs:

namespace myns
{
    public partial class MyFormName : MyFormBase
    {
    }
}