Когда я писал некоторую подпрограмму ввода-вывода в C++
, я обычно делал ее как можно более универсальной, работая на интерфейсах из <iostream>
.
Например:
void someRoutine(std::istream& stream) { ... }
Как то же самое должно быть сделано в C#
?
Я подозреваю, что мог бы написать свои процедуры на основе System.IO.TextReader
или System.IO.TextWriter
, но я не уверен.
Очевидно, что я ищу тот же базовый класс в C#
, который является общим, как std::istream
или std::ostream
и который может быть расширен многими способами (например, boost::iostreams
расширяет потоки std::
).