10
ExpandoObject的真正好处是什么?
添加到.NET 4 的ExpandoObject类使您可以在运行时将属性任意设置到对象上。 与使用Dictionary<string, object>甚至是哈希表相比,这有什么好处吗?据我所知,这不过是一个哈希表,您可以使用更简洁的语法来访问它。 例如,为什么这样: dynamic obj = new ExpandoObject(); obj.MyInt = 3; obj.MyString = "Foo"; Console.WriteLine(obj.MyString); 与以下内容相比确实更好,或有很大不同: var obj = new Dictionary<string, object>(); obj["MyInt"] = 3; obj["MyString"] = "Foo"; Console.WriteLine(obj["MyString"]); 什么真正的优势是通过使用ExpandoObject而不是只使用一个任意字典类型,比不是很明显,您使用的类型是怎么回事在运行时确定的其他获得。