我正在尝试理解DynamicObject类型.发现这篇MSDN文章非常简洁明了,如何创建和使用DynamicObject:
http://msdn.microsoft.com/en-us/library/system.dynamic.dynamicobject.aspx
本文包含一个继承自DynamicObject的简单DynamicDictionary类.
现在我想迭代我动态创建的DynamicObject属性:
dynamic d = new DynamicDictionary();
d.Name = "Myname";
d.Number = 1080;
foreach (var prop in d.GetType().GetProperties())
{
Console.Write prop.Key;
Console.Write prop.Value;
}
Run Code Online (Sandbox Code Playgroud)
显然这不起作用.我想学习如何在不改变DynamicDictionary类的情况下做到这一点,因为我真的想学习如何将它用于从DynamicObject继承的各种现有对象.
需要反思吗?我肯定错过了什么...
我正在测试我的Web API.模拟我有这个数据:
var objs = ((JArray)JsonConvert.DeserializeObject("{ \"PrintId\":10,\"Header\":\"header\",\"TC\":\"tc\",\"CompanyRef\":\"00000000-0000-0000-0000-000000000000\"}")).Values<JObject>();
Run Code Online (Sandbox Code Playgroud)
这给了我错误:
无法将"Newtonsoft.Json.Linq.JObject"类型的对象强制转换为"Newtonsoft.Json.Linq.JArray"
事情是工作.我必须改变一些东西,但我不知道是什么.
我的目的是将此JSON对象转换为名为.NET对象的列表,Print其中包含以下字段:
PrintId
Header
TX
CompnayRef
Run Code Online (Sandbox Code Playgroud)