高手看看:简单的编程问题,我就是想不出解法
来源:百度知道 编辑:UC知道 时间:2024/05/25 02:14:16
问题:在同一个class文件中,把前一个private void里的字符串fpath,传递到后一个private void里面去。我本来想要参数的方式传递,但是行不通。
public partial class Form1 : Form
{
private void get_path()
{
…
…
//这里把选中的文件的地址的路径,赋值给fpath
string fpath = openFileDialog1.FileName;
…
…
}
private void treeview_NodeMouseDoubleClick(object sender, EventArgs e)
{
…
…
XmlDocument xDoc = new XmlDocument();
//这里要用到fpath里面保存的路径信息(字符串)
xDoc.Load(fpath);
…
…
}
}
public partial class Form1 : Form
{
private void get_path()
{
…
…
//这里把选中的文件的地址的路径,赋值给fpath
string fpath = openFileDialog1.FileName;
…
…
}
private void treeview_NodeMouseDoubleClick(object sender, EventArgs e)
{
…
…
XmlDocument xDoc = new XmlDocument();
//这里要用到fpath里面保存的路径信息(字符串)
xDoc.Load(fpath);
…
…
}
}
这是一个域的问题,你的fpath 定义在了一个方法体内,那么这个变量的域就是这个方法,这个方法以外的域是无法访问这个变量的。解决方法就是把这个内部变量改成一个类成员,方法如下:
public partial class Form1 : Form
{
//把fpath改成成员
private string fpath;
private void get_path()
{
…
…
//这里把选中的文件的地址的路径,赋值给成员fpath
fpath = openFileDialog1.FileName;
…
…
}
private void treeview_NodeMouseDoubleClick(object sender, EventArgs e)
{
…
…
XmlDocument xDoc = new XmlDocument();
//这里要用到fpath里面保存的路径信息(字符串)
xDoc.Load(fpath);
…
…
}
}
同一个类中 private 是不能互相访问的
但是缺省的可以