You do not need to bother with Reflector, the DLR source code is easily available for download here . Wonderfully commented. You will find the source code for ExpandoObject in src \ Runtime \ Microsoft.Scripting.Core \ Actions \ ExpandoObject.cs
The data store for ExpandoObject is ExpandoData, available in the same source file. Values are stored in a simple object []. ExpandoClass (the same directory) tracks keys in a simple string []. ExpandoObject definitely doesn’t use a dictionary, as mentioned earlier, but it implements IDictionary.
source share