using System;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication7
{
public partial class Form1 : Form
{
private static Form form;
public Form1()
{
InitializeComponent();
}
public static void StartTask(Action action, Action onFinish = null)
{
var task = new Task(() =>
{
action();
if (onFinish != null)
{
form.BeginInvoke(new FinishDelegele(onFinish));
}
});
task.Start();
}
public delegate void FinishDelegele();
private void button1_Click(object sender, EventArgs e)
{
bool s = false;
StartTask(() =>
{
HttpHelper.Get("http://www.hao123.com");
}, () =>
{
HttpHelper.Get("http://www.baidu.com");
});
}
}
}
本人的想法是等访问完hao123后再访问百度,但是程序运行后只会访问hao123,不会访问百度,这是为什么呢?
解决方案
20
你的form静态字段没赋值,为null。