Я действительно раздражен, когда блок "using" изменяет мой предварительно созданный объект. У меня есть этот кусок кода
class Asset {
public Stream FileStream { get; set; }
public Asset(string fileName) {
FileStream = ...open a file stream...;
}
}
// Somewhere else
Asset asset = new Asset("file.txt");
using (var reader = new StreamReader(asset.FileStream)) {
//blah blah blah
}
// Somewhere else else
using (var reader2 = new StreamReader(asset.FileStream))
=> выдает это исключение:
System.ArgumentException: поток не читался.
Пошаговая отладка в Visual Studio помогла мне узнать, что asset.FileStream был удален после первого блока «using».
Пожалуйста, помогите мне спасти его жизнь: ((
Как я могу создать поток клонов из потока?