.NET 4.0 beta 2和.NET 4.0的最后一个版本之间的不同行为?

时间:2010-06-08 18:19:46

标签: c#-4.0 reflection .net-4.0

我已经确定了.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的这一新限制?

由于

1 个答案:

答案 0 :(得分:1)

如果您将value的类型更改为dynamic,则可以正常使用。 (假设dateTimeListList<DateTime>)。