В настоящее время я пишу небольшой игрушечный ассемблер на c # (просматривая книгу по элементам вычислительных систем . Кстати, действительно хорошая книга.)
Ассемблер берет путь к входному файлу и удаляет ненужные строки (комментарии и т. Д.).
Затем файл передается парсеру, а затем, наконец, другому модулю, который создает двоичный код.
Это не слишком сложно, но я бы не хотел записывать временный файл в файловую систему каждый раз, когда один объект заканчивал обработку входного файла.
Я бы хотел просто передать поток следующему объекту.
Первоначально я думал, что каждый класс, участвующий в анализе / удалении мусора, будет реализовывать IDisposable, но я думаю, что это означает, что я не могу передать поток следующему объекту для обработки (поток будет закрыт, если я не сохраню все это в одном операторе using? ).
Мне кажется, я чего-то здесь упускаю, есть ли простой способ аккуратно передавать потоки между объектами или мне нужен другой подход?
Заранее спасибо за любую помощь!