Обнаружена ли исключительная ситуация конца потока перед повторным анализом? - PullRequest
0 голосов
/ 11 октября 2019

ссылка на ссылку: Конец потока обнаружен до завершения анализа?

Код очень прост. просто новое консольное приложение, и весь код приведен ниже.

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}";
        }
    }
 }
  1. отладка в VS, все в порядке!
  2. Запуск снаружи, встреча с ошибкой ... Я попытался стрим.Position = 0 и т. Д., Без помощи.

Любые дополнительные советы приветствуются!

захват:

Всплывающее окно с ошибкой снимка экрана

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...