2013-03-27 102 views
0

我在一個類中創建了一個方法,我想從同一個類中的另一個方法訪問streamreader sr1,但我似乎無法獲得訪問方法!C#方法內的訪問功能

public void showSelectedFile() 
    { 
     StreamReader sr1 = new StreamReader(File.OpenRead(ReturnTxt)); 
     ReturnContenctRD = sr1.ReadToEnd(); 
    } 
public void DisposeSR1() 
    { 

    } 

任何人都可以向我解釋如何從其他函數訪問/更改這些方法嗎?

回答

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(); 
    } 
} 
0

您需要將StreamReader存儲在類成員變量中

eg

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() 
    } 

}