考虑下面的代码。当我试图通过调用'SaveToFile‘方法来序列化它时,属性'Name’不会被序列化。
有什么想法吗?
public class Subs
{
    public string Something { get; set; } = "smew";
}
public class Plep : List<Subs>
{
    public string Name { get; set; } = "smew";
    public void SaveToFile(string file)
    {
        using (StreamWriter wrt = new StreamWriter(file))
        {
            wrt.WriteLine(JsonConvert.SerializeObject(this, Formatting.Indented, new JsonSerializerSettings
            {
                TypeNameHandling = TypeNameHandling.All,
                //TypeNameAssemblyFormatHandling = TypeNameAssemblyFormatHandling.Simple,
            }));
        }
    }
}发布于 2019-10-14 11:38:16
不要像前面提到的那样从List<>派生类。
将您的类更改为:
public class Plep 
{
public string Name { get; set; } = "smew";
public List<Subs> Subs {get;set;}
public void SaveToFile(string file)
{
    using (StreamWriter wrt = new StreamWriter(file))
    {
        wrt.WriteLine(JsonConvert.SerializeObject(this, Formatting.Indented, new JsonSerializerSettings
        {
            TypeNameHandling = TypeNameHandling.All,
            //TypeNameAssemblyFormatHandling = TypeNameAssemblyFormatHandling.Simple,
        }));
    }
}https://stackoverflow.com/questions/58375903
复制相似问题