如何解决“无法分配给‘this’”的问题因为它是只读的”错误 c#
我正在创建一个使用DataTable创建自己的自定义表的类。
我想要它,以便如果带有DataTable信息的JSON文件在我的计算机上;该代码将将JSON文件放入对象的实例中(在构造函数中完成),
这是我尝试这样做的方式,
public Table(string jsonfile)
{
if(File.Exists(jsonfile))
{
this = JsonConvert.DeserializeObject<Table>(File.ReadAllText(jsonfile));
return;
}
formatRegisterTable(jsonfile);
}
这线导致错误
this = JsonConvert.DeserializeObject<Table>(File.ReadAllText(jsonfile));
我该如何执行此操作?
如果需要的话,课程的完整代码:
using System.IO;
using System.Data;
using Newtonsoft.Json;
namespace abc.classess._table
{
class Table
{
public DataTable mTable = new DataTable("table");
private DataColumn mColumn;
private DataRow mRow;
public Table(string jsonfile)
{
if(File.Exists(jsonfile))
{
this = JsonConvert.DeserializeObject<Table>(File.ReadAllText(jsonfile));
return;
}
formatRegisterTable(jsonfile);
}
private void formatRegisterTable(string jsonfile)
{
//formatting table code
File.WriteAllText(jsonfile,JsonConvert.SerializeObject(this));
}
}
}
I am creating a class that creates my own custom table using DataTable.
I want it so that if a json file with the DataTable's info is on my computer; the code will put the json file into that instance of the object (done in the constructor)
This is how i am trying to do it
public Table(string jsonfile)
{
if(File.Exists(jsonfile))
{
this = JsonConvert.DeserializeObject<Table>(File.ReadAllText(jsonfile));
return;
}
formatRegisterTable(jsonfile);
}
this line is causing the error
this = JsonConvert.DeserializeObject<Table>(File.ReadAllText(jsonfile));
How can I do this without the error?
The full code of the class if needed:
using System.IO;
using System.Data;
using Newtonsoft.Json;
namespace abc.classess._table
{
class Table
{
public DataTable mTable = new DataTable("table");
private DataColumn mColumn;
private DataRow mRow;
public Table(string jsonfile)
{
if(File.Exists(jsonfile))
{
this = JsonConvert.DeserializeObject<Table>(File.ReadAllText(jsonfile));
return;
}
formatRegisterTable(jsonfile);
}
private void formatRegisterTable(string jsonfile)
{
//formatting table code
File.WriteAllText(jsonfile,JsonConvert.SerializeObject(this));
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这样的事情应该解决您的问题:
您内部
表
类创建以下函数:您的表构造函数现在应该看起来像这样:
然后您可以在ur code
var newtable = table.create中使用它(jsonfile);
Something like this should solve your problem:
Inside you
Table
class create the following function:Your table constructor should look now like this:
Then you can use it in ur code
var newTable = Table.Create(jsonFile);