Доступ к закрытому потоку невозможен - C# (219321)

Узнай цену своей работы

Формулировка задачи:

Вылетает ошибка: "Доступ к закрытому потоку невозможен."
MemoryStream _tempMem;
 
_tempMem.Position = 0;
string subject = ReadField(_tempMem, "subject", "msgtitle"); //считываю данные с помощью XmlTextReader
 
_tempMem.Position = 0;     //здесь Exception!
string body = ReadField(_tempMem, "body", "msgtitle");
Что посоветуете?

Решение задачи: «Доступ к закрытому потоку невозможен»

textual
Листинг программы
class ReadXML
{
    private MemoryStream _tempMem;
    private string _itemName;
    private string _itemName2;
 
    public ReadXML(string tempMem, string itemName, string itemName2)
    {
        byte[] byteStr = Encoding.GetEncoding(1251).GetBytes(tempMem);
        MemoryStream ms = new MemoryStream();
        ms.Write(byteStr, 0, byteStr.Length);
        ms.Position = 0;
        _tempMem = ms;
        _itemName = itemName;
        _itemName2 = itemName2;
    }
 
    internal string Run()
    {
        string str = "";
        XmlTextReader reader = new XmlTextReader(_tempMem);
        while (reader.Read())
        {
            if (reader.NodeType == XmlNodeType.EndElement)
                if (reader.Name == _itemName2) break;
            if (reader.NodeType == XmlNodeType.Element)
                if (reader.Name == _itemName) 
                    str = reader.GetAttribute("value").ToString();
        }
 
        reader.Close();
 
        return str;
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5
Похожие ответы