ссылка на ссылку: Конец потока обнаружен до завершения анализа?
Код очень прост. просто новое консольное приложение, и весь код приведен ниже.
using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
namespace ConsoleDeserialize
{
class Program
{
static void Main(string[] args)
{
TestObj testObj = new TestObj()
{
abc = "abc"
};
Console.WriteLine(testObj.Clone());
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
}
[Serializable]
class TestObj
{
public String abc { get; set; }
public object Clone()
{
try
{
MemoryStream stream = new MemoryStream();
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, this);
stream.Seek(0, SeekOrigin.Begin);
var obj = formatter.Deserialize(stream);
return obj as TestObj;
}
catch (Exception e)
{
Console.WriteLine($"Deserialize Error: {e.Message}");
}
return this.MemberwiseClone();
}
public override string ToString()
{
return $"ABC: {abc}";
}
}
}
- отладка в VS, все в порядке!
- Запуск снаружи, встреча с ошибкой ... Я попытался стрим.Position = 0 и т. Д., Без помощи.
Любые дополнительные советы приветствуются!
захват:
Всплывающее окно с ошибкой снимка экрана
Спасибо.