我已经确定了.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'的类型是Object。
您是否看到我如何解决.NET 4.0的这一新限制?
由于
答案 0 :(得分:1)
如果您将value
的类型更改为dynamic
,则可以正常使用。 (假设dateTimeList
为List<DateTime>
)。