我在类中创建了一个方法,我想从同一个类中的另一个方法访问streamreader sr1,但我似乎无法访问该方法!
public void showSelectedFile()
{
StreamReader sr1 = new StreamReader(File.OpenRead(ReturnTxt));
ReturnContenctRD = sr1.ReadToEnd();
}
public void DisposeSR1()
{
}
有人可以向我解释如何从其他功能访问/更改这些方法吗?
答案 0 :(得分:3)
sr1
是showSelectedFile()
方法的本地方法;当方法返回时,它超出范围。如果您想让其他方法可见,您必须使其成为您班级的成员:
StreamReader sr1;
public void showSelectedFile()
{
sr1 = new StreamReader(File.OpenRead(ReturnTxt))
ReturnContenctRD = sr1.ReadToEnd();
}
public void DisposeSR1()
{
}
如果仅仅是处理它的问题,请将其包装在using
声明中:
public void showSelectedFile()
{
using (StreamReader sr1 = new StreamReader(File.OpenRead(ReturnTxt)))
{
ReturnContenctRD = sr1.ReadToEnd();
}
}
答案 1 :(得分:0)
您需要将StreamReader存储在类成员变量
中e.g。
class YourClass
{
private StreamReader _sr1;
public void showSelectedFile()
{
_sr1 = new StreamReader(File.OpenRead(ReturnTxt));
ReturnContenctRD = _sr1.ReadToEnd();
}
public void DisposeSR1()
{
if(_sr1 != null)
_sr1.Dispose()
}
}