小编mil*_*emi的帖子

如何序列化 System.Text.Json 中的抽象类

我有以下课程

public abstract class Settings
    {
        private string _filename;
        
        protected virtual void defaults()
        {
            
        }

        public static T Load<T>(string filename) where T : Settings, new()
        {
            T theSetting;
            if (File.Exists(filename))
            {
                var reader = new StreamReader(filename);
                var configJson = reader.ReadToEnd();
                reader.Close();
                theSetting = System.Text.Json.JsonSerializer.Deserialize<T>(configJson);
            }
            else
            {
                theSetting = new T();
                theSetting.defaults();
            }

            theSetting._filename = filename;
            theSetting.Save();

            return theSetting;
        }

        public void Save()
        {
            var writer = new StreamWriter(_filename);
            writer.Write(JsonSerializer.Serialize(this));
            writer.Close();
        }

        public void SaveAs(string filename)
        {
            _filename = filename; …
Run Code Online (Sandbox Code Playgroud)

c# json .net-core system.text.json

-1
推荐指数
1
解决办法
1476
查看次数

标签 统计

.net-core ×1

c# ×1

json ×1

system.text.json ×1