示例一:
class Program
{
static void Main(string[] args)
{
string res= new Program().ShowMsg();
Console.WriteLine(res);
Console.Read();
}
private delegate string DelegateMsg();
private string ShowMsg()
{
DelegateMsg dmsg = GetMsg;
return dmsg.Invoke();
}
public string GetMsg()
{
return DateTime.Now.Ticks.ToString();
}
}
示例二:
class Program
{
static void Main(string[] args)
{
var res = new Program().Show();
Console.WriteLine(res);
Console.Read();
}
public string Show()
{
MsgService msgService = new MsgService();
msgService.delegateMsg += new MsgService.DelegateMsg(msgService.ShowMsg);
msgService.delegateMsg += new MsgService.DelegateMsg(msgService.GetMsg);
if (msgService.delegateMsg != null)
{
msgService.delegateMsg.Invoke();
}
return "";
}
public class MsgService
{
public delegate string DelegateMsg();
public DelegateMsg delegateMsg;
public string ShowMsg()
{
DelegateMsg dmsg = GetMsg;
var res = dmsg.Invoke();
Console.WriteLine(res);
return res;
}
public string GetMsg()
{
var res = DateTime.Now.Ticks.ToString();
Console.WriteLine(res);
return res;
}
}
}