我真的很想知道.Net 4.0中的Expando对象是如何在内部实现的?
答案 0 :(得分:9)
您不必使用Reflector,DLR的源代码随时可用于download here。很好评论。您将在src \ Runtime \ Microsoft.Scripting.Core \ Actions \ ExpandoObject.cs中找到ExpandoObject的源代码
ExpandoObject的数据存储是ExpandoData,可在同一源文件中使用。这些值存储在一个简单的对象[]中。 ExpandoClass(相同目录)在简单的字符串[]中跟踪密钥。 ExpandoObject肯定不会像之前所说的那样使用Dictionary,但它确实实现了IDictionary。
答案 1 :(得分:3)
答案 2 :(得分:1)
使用Reflector,现在支持.Net 4.0。
答案 3 :(得分:0)