我正在处理表单应用程序,似乎在误解我的方法范围。我有2个工作方法Split和AddToDatabase,我试图从button1_click事件处理程序中调用它们。但是,在处理程序中,Split()和AddToDatabase()用红色突出显示,表示它们在当前上下文中不存在。有人知道为什么会这样吗?谢谢

namespace WindowsFormsApplication1
{
    class Content
    {
        public void Split()
        {
           //
        }

        public void AddToDatabase()
        {
           //
        }
    }
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }
        public void Browse_Click(object sender, EventArgs e)
        {
            DialogResult result = openFileDialog1.ShowDialog();
            if (result == DialogResult.OK) // Test result.
            {
                string root = openFileDialog1.FileName;
            }
        }

        public void button1_Click(object sender, EventArgs e)
        {
            Split();
            AddtoDataBase();
        }
    }
}

最佳答案

那是因为他们在不同的阶级。您需要以下内容:

var c = new Content();
c.Split();
c.AddToDatabase();


但这引出了一个问题,即它们是否必须是实例方法。如果它们不存储任何状态,请使它们为static

public static void Split() ...

public static void AddToDatabase() ...


然后这样称呼他们:

Content.Split();
Content.AddToDatabase();

关于c# - 表单应用程序范围错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20074182/

10-11 04:06
查看更多