我正在处理表单应用程序,似乎在误解我的方法范围。我有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/