查看System.Dynamic.ExpandoObject的定义时,我遇到了这样的情况:
public sealed class ExpandoObject : IDynamicMetaObjectProvider, IDictionary<string, object>, ICollection<KeyValuePair<string, object>>, IEnumerable<KeyValuePair<string, object>>, IEnumerable, INotifyPropertyChanged
{
public ExpandoObject();
}为什么ExpandoObject类不实现这些接口?
发布于 2012-06-19 21:40:59
ExpandoObject具有接口的explicit implementation。显式实现允许仅当强制转换为接口本身时才能访问它。
发布于 2012-06-19 21:44:46
使用类似于.Net Reflector的东西,您可以看到每个接口的实现。代码太长了,不能在这里发布,但它们都在这里。只需在reflector中搜索ExandoObject,您就会看到成员。
发布于 2012-06-19 21:44:39
我在System.Core 4.0.0.0和get上使用了ILSpy

所以实现实际上是存在的。
https://stackoverflow.com/questions/11102138
复制相似问题