110,536
社区成员
发帖
与我相关
我的任务
分享
private delegate void ddtDelegate(string str);
private ddtDelegate ddt;
private void 要执行的函数(string str)
{
...
ddt(str);
}
ddt+=new ddtDelegate(Instance_ddt);
private void Instance_ddt(string str)
{
message.show(str);
}
public void Test()
{
BackgroundWorker worker = new BackgroundWorker();
worker.RunWorkerCompleted += delegate(object sender, RunWorkerCompletedEventArgs e)
{
Console.WriteLine("方法异步执行完了");
};
worker.DoWork += worker_DoWork;
worker.RunWorkerAsync();//启动线程去执行方法
//同步执行就更简单了。
worker_DoWork(null, null);
Console.WriteLine("同步函数执行完毕。");
}
void worker_DoWork(object sender, DoWorkEventArgs e)
{
Console.WriteLine("执行方法");
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Action action = () => Console.WriteLine("Finished1.");
action += () => Console.WriteLine("Finished2.");
action += () => Console.WriteLine("Finished3.");
foo(action);
}
static void foo(Action callback)
{
Console.WriteLine("Do something in foo.");
callback();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
foo(() => { Console.WriteLine("Finished!"); });
}
static void foo(Action callback)
{
Console.WriteLine("Do something in foo.");
callback();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
foo(OnFinished);
}
static void OnFinished()
{
Console.WriteLine("Finished!");
}
static void foo(Action callback)
{
Console.WriteLine("Do something in foo.");
callback();
}
}
}