C# json 反序列化到(this)内部对象

jim*_*afe 5 c# json

我正在尝试让一个对象反序列化为自身。我尝试过以下方法:-

   public class JobID
    {
        public string jobname;
        public string first;
        public string second;
        public string third;
        public string clientName;
        public string workflow;
    }

    public void load(string fname)
    {
        string s = File.ReadAllText(fname);
        this = JsonConvert.DeserializeObject<JobID>(s);    
    }
Run Code Online (Sandbox Code Playgroud)

但根据我得到的错误,这个词是“只读”的。我用过 'this.jobname = "X";' 之前很清楚“这个”不是只读的。我正在使用 Newtonsof.Json。

小智 4

为什么不使用静态方法来加载对象。例如 :

public class JobID
{
    public string jobname;
    public string first;
    public string second;
    public string third;
    public string clientName;
    public string workflow;
    public static JobId Load(string fname){
        string s = File.ReadAllText(fname);
        return JsonConvert.DeserializeObject<JobID>(s);    
    }
}
Run Code Online (Sandbox Code Playgroud)