我正在尝试理解DynamicObject类型。发现这篇MSDN文章非常简明清晰,说明了如何创建和使用DynamicObject:
http://msdn.microsoft.com/en-us/library/system.dynamic.dynamicobject.aspx
本文包含一个简单的DynamicDictionary类,该类继承自DynamicObject。现在我想遍历动态创建的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;
}
显然这样做是不行的。我想学习如何在不改变我的DynamicDictionary类的情况下实现这一点,因为我真的想学习如何将其用于从DynamicObject继承的所有现有对象。
需要反射吗?我一定漏掉了什么...
DynamicObject
类,其中成员访问是通过各种方法解析的。或者,您可以像ExpandoObject一样明确实现IDictionary<string, object>
类,以使此过程更加容易。 - Jeff MercadoDynamicDictionary
类...” :) - Jeff Mercado