Использование StreamReader / StreamWriter в классе - PullRequest
0 голосов
/ 20 октября 2018

Вот код, который я использую для чтения из файла:

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

Если я помещу этот код в Main () в файле Program.cs, все будет работать как положено.Тем не менее, я создал собственный класс с методом для выполнения этого точного кода, и я получаю красные линии под myPath , говоря «Аргумент 1: невозможно преобразовать из« строки »в« 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
              }
         }
     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...