高手看看:简单的编程问题,我就是想不出解法

来源:百度知道 编辑: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);


}
}

这是一个域的问题,你的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 是不能互相访问的
但是缺省的可以