【问题标题】:C# Access functions within methods方法中的 C# 访问函数
【发布时间】:2013-03-27 00:05:17
【问题描述】:

我在一个类中创建了一个方法,我想从同一个类中的另一个方法访问流读取器 sr1,但我似乎无法访问该方法!

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

    }

谁能向我解释如何从其他功能访问/更改这些方法?

【问题讨论】:

    标签: c# function methods external streamreader


    【解决方案1】:

    sr1showSelectedFile() 方法的本地;当方法返回时,它超出了范围。如果你想让它对其他方法可见,你必须让它成为你的类的成员:

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

    【讨论】:

      【解决方案2】:

      您需要将 StreamReader 存储在类成员变量中

      例如

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

      【讨论】:

        猜你喜欢
        • 2020-11-09
        • 1970-01-01
        • 1970-01-01
        • 2019-02-20
        • 2012-03-28
        • 1970-01-01
        • 2015-10-12
        • 2017-09-08
        • 2013-02-14
        相关资源
        最近更新 更多