如何在WindowsPhone中替换动态关键字
本文关键字:替换 动态 关键字 WindowsPhone | 更新日期: 2023-09-27 18:28:15
我正试图在WindowsPhone应用程序中使用Silverlight应用程序中的一些代码。然而,我在用其他东西替换dynamic关键字时遇到了问题,因此我的代码仍然可以编译和工作。我有一个动态对象的列表
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);
}
多亏了dynamic关键字,这段代码在Silverlight上运行得很好,但WindowsPhone中不存在dynamic关键字。所以我想知道如何替换它。我不想更改函数InvokeAction的签名,因为多亏了使用泛型和Action,我可以将委托传递给这样的函数:
InvokeAction<SomeType>(val => val.DoStuff(param));
您可以使用List<Delegate>
并调用DynamicInvoke
方法。
它会很慢,但dynamic
也很慢
(我不知道哪个慢)