【发布时间】:2015-07-20 07:39:08
【问题描述】:
我需要序列化一个类,它的源代码不能改变(把这当作事实),它来自不同的程序集。它只有一个构造函数
public class MyObject
{
string _s;
int _i;
internal MyObject(string s, int i)
{
// ...
}
}
JsonConvert.SerializeObject(object) 当然会因此而失败。我想知道是否有一种方法可以使用 Json.NET 来序列化此类,而无需添加代码甚至标记。
【问题讨论】:
-
失败时收到的错误信息是什么?我问的原因是,如果
DeserializeObject与构造函数有关,它不应该抛出异常吗,因为这是它必须再次构造对象的时候。 -
MyObject类是否密封?你能继承吗? -
@MarioStoilov 它没有密封。
-
你可以尝试继承类并在新类中定义一个无参数构造函数
-
@MarioStoilov 你不能在 C# 中做到这一点。构造函数是内部的。
标签: c# oop serialization json.net private-constructor