我有一个类foo,它扩展了DynamicObject类。该类还包含一个Dictionary类型的属性。
当我尝试使用Newton.Soft Json转换器序列化它时,我得到了"{}"作为空对象。
以下是我的代码:
当我尝试使用Newton.Soft Json转换器序列化它时,我得到了"{}"作为空对象。
以下是我的代码:
public class Foo: DynamicObject
{
/// <summary>
/// Gets or sets the properties.
/// </summary>
/// <value>The properties.</value>
public Dictionary<string, object> Properties { get; set; } = new Dictionary<string, object>();
/// <summary>
/// Gets the count.
/// </summary>
/// <value>The count.</value>
public int Count => Properties.Keys.Count;
}
现在我提到,在序列化它时,我得到了一个空对象。 以下是序列化的代码:
public static void Main()
{
Foo foo= new Foo();
foo.Properties = new Dictionary<string, object>()
{
{"SomeId", 123},
{"DataType","UnKnonw"},
{"SomeOtherId", 456},
{"EmpName", "Pranay Deep"},
{"EmpId", "789"},
{"RandomProperty", "576Wow_Omg"}
};
//Now serializing..
string jsonFoo = JsonConvert.SerializeObject(foo);
//Here jsonFoo = "{}".. why?
Foo foo2= JsonConvert.DeserializeObject<Foo>(jsonFoo);
}
请告诉我是否有遗漏的内容?