【发布时间】:2010-06-08 18:19:46
【问题描述】:
我发现 .NET 4.0 Beta 2 与 .NET 4.0 的最新版本之间的 DLR 存在差异。
在 .NET 4.0 Beta 2 中,此代码在运行时完美运行:
var dateTimeList = new List<DateTime>();
dynamic myDynamicObject = dateTimeList;
object value = DateTime.Now;
myDynamicObject.Add(value);
现在,随着 .NET 4.0 的最新版本,我在运行时出现异常(解决 myDynamicObject.Add(value);):-(
在我的真实代码中,“myDynamicObject”是一个动态的(但我知道它始终是一个 ObservableCollection,其中 T 可以是任何东西)。 'value' 是通过一些反射得到的实例。由于 'value' 可以有任何类型,所以 'value' 的类型是 Object。
您知道如何解决 .NET 4.0 的这一新限制吗?
谢谢
【问题讨论】:
-
很高兴他们修复了这个错误。一个对象不应该突然变成动态的。
标签: c#-4.0 reflection .net-4.0