Примечание. Я уже прочитал следующие два вопроса:
Можете ли вы объяснить концепцию потоков?
Я кодирую в С#
- Почти во всех примерах кода, использующих потоки, всегда вызываются .Dispose(),.Flush(),.Close().
- В концепции потока, что делает?
- Если я не размещаю поток, который я хранил в переменной, то где-то мое приложение течет?
- Почему мне нужно вызвать любую из этих функций? Я видел образцы кода, которые этого не делают, и все еще выполняют свою работу (без обрыва очевидного)
В настоящее время я создаю класс в своем приложении, который содержит первичный метод (позволяет вызвать его GetStream()), который возвращает поток через myWebRequest.GetResponse().GetResponseStream()
Основной метод GetStream() возвращает объект Stream, который может использоваться для любой операции, требующей потока (StreamReader, Bitmap() и т.д.).
Есть ли способ, чтобы поток удалялся автоматически после его последнего использования (сборщик мусора?), не заставляя кого-либо, который называет .GetStream(), вручную распоряжаться им?
Как вы, наверное, можете сказать, мои вопросы расплывчаты и общие. Мое понимание потоков не является твердым, поэтому любые ссылки на полезные статьи, которые предлагают более глубокий взгляд на потоки, чем предлагаемый вопрос SO, могут быть оценены.