Я пишу класс, который экспортирует данные в CSV-файл, и его конструктор принимает TextWriter. Причина, по которой я использую TextWriter, а не StreamWriter, заключается в том, чтобы облегчить тестирование: я могу использовать тот же самый конструктор для записи в StreamWriter (который записывает файлы, предполагаемый прецедент) и писать в StringWriter (что полезно для тестирования).Есть ли способ проверить, закрыт ли TextWriter?
В моем конструкторе я хотел бы выполнить некоторую проверку на переданной в TextWriter. Проблема в том, что я не могу понять, как проверить, открыт или закрыт TextWriter. Это возможно для StreamWriter, если свойство BaseStream равно null. Однако TextWriter не обладает этим свойством. Есть ли другой способ проверить, открыт ли TextWriter или нет?
Я не думаю, что вы можете сделать это без взлома в частных полях, но я также не думаю, что это действительно имеет значение. Ошибка при доступе не очень плохая ситуация для вашего случая, потому что в общем случае ваш класс будет использоваться для записи сразу после инициализации. – tia
Класс, который я пишу, не будет писать сразу после инициализации. Класс имеет поток, который будет работать в фоновом режиме и продолжать писать в течение определенного периода времени, пока ему не будет предложено остановиться. – 9a3eedi