Func与Action是C#的内置委托
主线程委托直接调用
Func带返回类型的委托
private void InvokeFunc()
{
string aaa = (string)Invoke(new Func<string>(() =>
{
return "sss";
}));
Console.WriteLine(aaa);
}
Action不带返回类型的委托
private void InvokeAction()
{
Invoke(new Action(() =>
{
Console.WriteLine("sss");
}));
}
区分主线程和子线程调用接口
Func带返回类型的委托
private string InvokeFunc()
{
if (InvokeRequired)
{
return (string)Invoke(new Func<string>(() => InvokeFunc()));
}
else
{
return "sss";
}
}
Action不带返回类型的委托
private void InvokeAction()
{
if (InvokeRequired)
{
Invoke(new Action(() => InvokeAction()));
}
else
{
Console.WriteLine("sss");
}
}