C# Dispatcher.CurrentDispatcher.Invoke
使用以下代码时,我收到以下错误: Dispatcher.CurrentDispatcher.Invoke(()=>actualServer.SetServerData(serverData)); 无法将lambda表达式转换为类型“System.Delegate”,因为它不是委托类型C# Dispatcher.CurrentDispatcher.Invoke,c#,wpf,C#,Wpf,使用以下代码时,我收到以下错误: Dispatcher.CurrentDispatcher.Invoke(()=>actualServer.SetServerData(serverData)); 无法将lambda表达式转换为类型“System.Delegate”,因为它不是委托类型 public override void OnApplyTemplate() { base.OnApplyTemplate(); var source = new List
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
var source = new List<ServerProperty>
{
new ServerProperty("connectionstring1", "server1"),
new ServerProperty("connectionstring2", "server2"),
new ServerProperty("connectionstring3", "server3"),
new ServerProperty("connectionstring4", "server4"),
};
DataContext = source;
_timer = new Timer((t) =>
{
foreach (var serverProperty in source)
{
ServerProperty server = serverProperty;
ThreadPool.QueueUserWorkItem((o) =>
{
var serverData = ServerDataCalculator.GetServerData(server.ConnectionString);
var actualServer = (ServerProperty)o;
Dispatcher.CurrentDispatcher.Invoke(() => actualServer.SetServerData(serverData));
}, server);
}
}, null, TimeSpan.FromSeconds(2), TimeSpan.FromSeconds(2));
}
应用程序模板()上的公共覆盖无效
{
base.OnApplyTemplate();
var source=新列表
{
新的ServerProperty(“ConnectionString”、“server1”),
新的ServerProperty(“connectionstring2”、“server2”),
新的ServerProperty(“connectionstring3”、“server3”),
新的ServerProperty(“ConnectionString 4”、“server4”),
};
DataContext=源;
_计时器=新计时器((t)=>
{
foreach(源中的var serverProperty)
{
ServerProperty服务器=ServerProperty;
ThreadPool.QueueUserWorkItem((o)=>
{
var serverData=ServerDataCalculator.GetServerData(server.ConnectionString);
var actualServer=(ServerProperty)o;
Dispatcher.CurrentDispatcher.Invoke(()=>actualServer.SetServerData(serverData));
},服务器);
}
},null,TimeSpan.FromSeconds(2),TimeSpan.FromSeconds(2));
}
接受委托时没有过载。尝试:
Dispatcher.CurrentDispatcher.Invoke(
new Action(() => actualServer.SetServerData(serverData)));
查找
调用
重载的完整列表委托时不存在重载。尝试:
Dispatcher.CurrentDispatcher.Invoke(
new Action(() => actualServer.SetServerData(serverData)));
查找
调用
重载@骰子的完整列表,因为它对您有效,您可能希望将此响应标记为“答案”,以便其他用户(如我)能够引起注意。@骰子因为它对您有效,您可能希望将此响应标记为“答案”,以便其他用户(如我)能够引起注意。