您好,我有一个在
.Net Standard
装配
现在,我从我的
.Net Core
项目
当我试图反序列化我的
.Net核心
我的类字段是默认值。
默认情况下,我的意思是值类型获取所有内部值,并且类字段为空。
在我的例子中,如果
Val
是一个
int
它会有它的价值
0
在反序列化之后,它会是一个
class
它将是空的。
.NET标准
班
public class Matrix
{
public int Val { get; set; }
public Matrix(int set) //value is default
{
this.Val = set;
}
}
.NET核心
static void Main(string[] args)
{
Matrix matr = new Matrix(3);
var str=JsonConvert.SerializeObject(matr);
var bytes=Encoding.Utf8.GetBytes(str);
var str = Encoding.UTF8.GetString(bytes); //string looks ok !
var deser = JsonConvert.DeserializeObject<Matrix>(str);
}
请注意,我的类在构造函数中使用了一个参数。这可能是问题所在吗?如果我的参数构造函数真的是个问题。。。如何通过参数序列化需要在构造函数中执行某些逻辑的对象?