Опитвам се да използвам част от моя код от приложение Silverlight в приложение за WindowsPhone. Въпреки това имам проблем със замяната на динамичната ключова дума с нещо друго, така че моят код все още се компилира и работи. Имам списък с динамични обекти
private readonly List<dynamic> _awaitingActionsList = new List<dynamic>();
този списък се използва за съхраняване на делегати на този подпис
Action<T> where T: class
В друга част от моя клас извиквам делегатите, използвайки този код
foreach (var action in _awaitingActionsList)
{
InvokeAction(action)
}
Функцията InvokeAction изглежда така
public void InvokeAction<T>(Action<T> action)
{
action.Invoke(someObject);
}
Благодарение на динамичната ключова дума този код работеше добре на Silverlight, но динамичната ключова дума не присъства в WindowsPhone, така че се чудех как да я заменя. Не искам да променя подписа на функцията InvokeAction, защото благодарение на използването на генерични и действия мога да предам делегати, за да функционират по следния начин:
InvokeAction<SomeType>(val => val.DoStuff(param));
someObject
не еT
? - person SLaks   schedule 18.03.2012