C# 如何在委托if条件中使用.Equals(“字符串”)?
我正在使用C# 如何在委托if条件中使用.Equals(“字符串”)?,c#,delegates,C#,Delegates,我正在使用BackgroundWorker,在BackgroundWorker.DoWork中有一个if条件,但它给出了跨线程操作错误 我尝试了下面的代码,但它说对象引用未设置为对象的实例。有人能告诉我如何在委托中使用Equals方法吗 ((bool)(scrapeType.Invoke(new Action(() => { scrapeType.Text.Equals("Scrape URLS"); })))) scraptype是一个文本框您必须使用调度程序类型。下面是一个例子:
BackgroundWorker
,在BackgroundWorker.DoWork
中有一个if条件,但它给出了跨线程操作错误
我尝试了下面的代码,但它说对象引用未设置为对象的实例。有人能告诉我如何在委托中使用Equals
方法吗
((bool)(scrapeType.Invoke(new Action(() => { scrapeType.Text.Equals("Scrape URLS"); }))))
scraptype
是一个文本框
您必须使用调度程序
类型。下面是一个例子:
Dispatcher.Invoke(()=> if(txtBox.Text.Equals("abc")) doThis(); else doThat();)
您没有提到您正在使用的框架,所以我假设它是WPF。事实上,您正在从一个线程访问
scrapeType.Text
,而该线程不是导致异常的UI线程——与Equals(“string”)无关。