vkl*_*vet 8 lambda expression dispatcher c#-4.0
我有这样的问题:有一些方法
private List<int> GetStatusList()
{
return (List<int>)GetValue(getSpecifiedDebtStatusesProperty);
}
Run Code Online (Sandbox Code Playgroud)
在主线程中调用它 - 我使用
`delegate List<int> ReturnStatusHandler();` ...
this.Dispatcher.Invoke(new ReturnStatusHandler(GetStatusList));
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做,使用lambda表达式而不是自定义委托和方法?
Moh*_*bed 14
你可以通过这个:
new Action(GetStatusList)
Run Code Online (Sandbox Code Playgroud)
要么
(Action)(() => { GetStatusList; })
Run Code Online (Sandbox Code Playgroud)
您可以通过创建一个简单的方法来避免显式转换:
void RunInUiThread(Action action)
{
Dispatcher.Invoke(action);
}
Run Code Online (Sandbox Code Playgroud)
使用如下:
RunInUiThread(() =>
{
GetStatusList();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5954 次 |
| 最近记录: |