c# - 在 C# 中以异步形式建立条件
问题描述
我有一个问题,当我调用异步方法时,它进入并遇到我设置的条件,它向我发送一个异常,上面写着:
"进行调用的子进程无法访问该对象,因为所有者是另一个线程。",
我只希望条件过程使用异步方法在后台运行
private Task ObtenerDatosd()
{
return Task.Run(() =>
{
for (int i = draw2.Count - 1; i >= 0; i--)
{
if (draw2[i].ToString().ToLower().Contains(SearcInterno.Text.ToLower()))
{
//action
System.Windows.MessageBox.Show("Code action");
}
}
});
}
解决方案
如果没有调度程序,您无法从另一个线程访问 WPF 对象。但是在这种情况下你不需要它,如果你只使用:
private Task ObtenerDatosd()
{
string text = SearcInterno.Text.ToLower();
return Task.Run(() =>
{
for (int i = draw2.Count - 1; i >= 0; i--)
{
if(draw2[i].ToString().ToLower().Contains(text))
{
//action
System.Windows.MessageBox.Show("Code action");
}
}
});
}
推荐阅读
- python - SQL 查询在 python 中返回什么数据结构?
- excel - 从当前新的 Word 文档中获取字节数组,而不保存到本地驱动器
- python - 如何处理搜索框结果?
- flutter - 未处理的异常:NoSuchMethodError:在 null 上调用了方法“验证”
- python - Cumsum Python Dataframe - 直到上一行
- angular - ERROR 错误:未捕获(在承诺中):错误:无法匹配任何路由。网址段:
- c++ - 在无向图中打印循环
- android - java.lang.NoClassDefFoundError:解析失败:Landroidx/test/internal/runner/listener/InstrumentationRunListener
- python - Python - 从 Google Drive 下载文件作为计划任务
- docker - 如何在动态环境中设置 Kafka 安全性和侦听器?