我为自己创建了一个阅读 RSS 提要并将它们返回给我的主类的类。我用于此的代码是:
public List<Post> getLatestPosts()
{
this.rssReader = new XmlTextReader(this.rssUrl);
this.rssDoc = new XmlDocument();
// Load the XML content into rssDoc
rssDoc.Load(rssReader);
// ... other code to parse XML ... //
}
现在,当我调用getLatestPosts()
我的应用程序时,它会锁定几秒钟。我假设这是因为这是应用程序请求 RSS 提要(网络延迟等)所需的时间。
我想改变它,这样我的程序就不会锁定,而只是等待响应。我有在我的主窗体中使用线程的想法,但我对如何捕获任何 RSS 数据感到困惑getLatestPosts()
。
如果我在按钮中执行此操作,请单击我的主表单:
private void bGetLatestPosts_Click(object sender, EventArgs e)
{
Thread thread = new Thread(new ThreadStart(rssReader.getLatestPosts()));
}
我没有捕捉任何getLatestPosts()
返回的东西。
我对线程完全陌生(这主要是我在尝试学习它们),但我确实有一些C# 经验。
谢谢。