C#中无法加载进行反序列化所需的类型 ,为什么

class Program
{
static void Main(string[] args)
{

        Person P;
        using (FileStream Flread = new FileStream(@"C:\Users\DELL\Desktop\111.txt", FileMode.OpenOrCreate, FileAccess.Read))
        {
            BinaryFormatter bf = new BinaryFormatter();
            P = (Person)bf.Deserialize(Flread);
        }
            Console.WriteLine(P.Name);
            Console.ReadKey();
        
    }
    }
}

[Serializable]
public class Person
{
private string _name;

public string Name
{
    get { return _name; }
    set { _name = value; }
}

private int _age;
public int Age
{
    get { return _age; }
    set { _age = value; }
}

private char _gender;
public char Gender
{
    get { return _gender; }
    set { _gender = value; }
}


}

没问题啊,111.txt是person实例序列化后写入的内容吗?

img


using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
namespace ConsoleApp3
{
    [Serializable]
    public class Person
    {
        private string _name;

        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }

        private int _age;
        public int Age
        {
            get { return _age; }
            set { _age = value; }
        }

        private char _gender;
        public char Gender
        {
            get { return _gender; }
            set { _gender = value; }
        }


    }

    class Program
    {
        static void Serialize()
        {
            var p = new Person { Name="张三", Age=20, Gender='男'};
            FileStream fs = new FileStream("111.txt", FileMode.Create);
            BinaryFormatter bf = new BinaryFormatter();
            bf.Serialize(fs, p);
            fs.Close();
        }
        static void Main(string[] args)
        {
            Serialize();
            Person P;
            using (FileStream Flread = new FileStream("111.txt", FileMode.OpenOrCreate, FileAccess.Read))
            {
                BinaryFormatter bf = new BinaryFormatter();
                P = (Person)bf.Deserialize(Flread);
            }
            Console.WriteLine(P.Name);

            Console.ReadKey();
        }
    }

}



img


有其他问题可以继续交流~