经常,我们需要一些临时的对象,这些对象无法预先定义,也很难用Dynamic类型来生成,而是存储为Dictionary格式。这时,我们可以使用ExpandoObject来生成动态对象。代码如下:
public static dynamic ToDynamic(IDictionary<string, object> dict)
{
dynamic result = new System.Dynamic.ExpandoObject();
foreach (var entry in dict)
{
(result as ICollection<KeyValuePair<string, object>>).Add(new KeyValuePair<string, object>(entry.Key, entry.Value));
}
return result;
}