System.Threading.Tasks.Task.Factory.StartNew(new Action(() =>
{
this.Invoke(new MethodInvoker(() =>
{
string path = FileOperate.GetUserRegData();
if (!string.IsNullOrEmpty(path))
{
txtInstalPath.Text = System.IO.Path.GetDirectoryName(path);
RefreshData();
}
}));
}));
System.Threading.Tasks.Task.Factory.StartNew(new Action(() => //用匿名函数启动一个新任务
{
this.Invoke(new MethodInvoker(() => //使用Invoke防止UI进程冻结并在新进程中更新UI
{//以下为任务内容。
string path = FileOperate.GetUserRegData();
if (!string.IsNullOrEmpty(path))
{
txtInstalPath.Text = System.IO.Path.GetDirectoryName(path);
RefreshData();
}
}));
}));
对于初学者来说,
1、System.Threading.Tasks.Task.Factory.StartNew(new Action(() =>
{
this.Invoke(new MethodInvoker(() =>
{
这几句不用管他。
2、string path = FileOperate.GetUserRegData();
if (!string.IsNullOrEmpty(path))
从某个自定义静态函数中获取路径字符串,比较象是从注册表一类中获取,如果字符串不为空,则...
3、txtInstalPath.Text = System.IO.Path.GetDirectoryName(path);
RefreshData();
获取文件夹名称,并显示在文本框中,
刷新数据。(自定义函数,请在项目中或是引用类库中查找,右键显示定义)
1、从用户注册的数据中获取到文件安装的路径,
2、然后把路径放到名为txtInstalPath的文本框中
3、刷新数据
先说一下,我做java的,不会C#,.net,只是了解一点点C#基础。
根据上面的代码,我可以大胆的做如下猜测:
System.Threading.Tasks.Task.Factory,这个类应该是一个静态工厂类,用于创建Task的。例如上面代码中的startNew(),就创建并启动一个新的task。
Task,任务,应该就是使用了线程来实现的。
那么上面的代码其实就是:创建了一个线程,并启动线程,来做一些事情。
new Action();应当是Task要使用匿名委托吧。
委托,其实就是回调函数。
Task.Factory.StartNew是.net 4.0中引入的TPL,具体可以看滴答的雨的异步编程系列