这是我用来从文件中读取的代码:
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
}
}
}
}