在类中使用StreamReader / StreamWriter

时间:2018-10-20 15:04:25

标签: c# streamreader

这是我用来从文件中读取的代码:

string myPath = "file.txt";
using (StreamReader sr = new StreamReader(myPath))
{
     while (!sr.EndOfStream)
     {
          Console.WriteLine(sr.ReadLine());
     }
     sr.Close();
}

如果我将这段代码放在Program.cs文件的Main()中,则一切正常。但是,我创建了一个自定义类,该类具有一种执行此确切代码的方法,并且在 myPath 下显示红线,并说“参数1:无法从'string'转换为'System.IO .Stream“ ,并且在 sr.Close()下显示红线,表示”'StreamReader'不包含'Close'的定义,并且没有可访问的扩展方法'Close '可以找到接受类型为'StreamReader'的第一个参数”。

例如,我的课程的方法是这样的...

public void ReadFile() {
     string myPath = "file.txt";
     using (StreamReader sr = new StreamReader(myPath)) // Red lines under myPath
     {
          while (!sr.EndOfStream)
          {
               Console.WriteLine(sr.ReadLine());
          }
          sr.Close(); // Red lines under Close
     }
}

Program.cs和我的自定义类都在顶部使用System.IO;

关于我所缺少的东西有什么想法吗?

谢谢!

更新:

整个班级看起来像这样...

using System;
using System.IO;

namespace FileReaderLibrary
{
     public class FileReader
     {
          public void ReadFile() {
              string myPath = "file.txt";
              using (StreamReader sr = new StreamReader(myPath)) // Red lines under myPath
              {
                   while (!sr.EndOfStream)
                   {
                        Console.WriteLine(sr.ReadLine());
                   }
                   sr.Close(); // Red lines under Close
              }
         }
     }
}

0 个答案:

没有答案