Различное поведение между .NET 4.0 beta 2 и последней версией .NET 4.0? - PullRequest
1 голос
/ 08 июня 2010

Я обнаружил разницу в DLR между .NET 4.0 Beta 2 и последним выпуском .NET 4.0.

В .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?

Спасибо

1 Ответ

1 голос
/ 08 июня 2010

Если вы измените тип value на dynamic, он будет работать нормально.(при условии dateTimeList равно List<DateTime>).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...