我喜歡將書中的知識看懂後造成我的的理解:html
1、你如何理解委託ide
若是咱們不理解決委託,那應該都理解類,那咱們就從類角度來看看什麼是委託。post
在我看來類和委託是同一級別的東西,類它對具體的實例進行了抽象,也就是它肯定了實例的基本骨架,而委託是對具體方法的抽象,它定義了具體方法的基本骨架,和類同樣都是經過new 方法進行實例化,spa
只是建立委託實例時要一個調用的目標方法。code
下面是委託的使用:htm
public
delegate
void
myDelegate(
string
str);
public
static
void
HellowChinese(
string
strChinese)
{
Console.WriteLine(
"Good morning,"
+ strChinese);
Console.ReadLine();
}
myDelegate d =
new
myDelegate(HellowChinese);
d(
"Mr wang"
);
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;blog
namespace Example_EventTest
{
class Judgment
{
//定義一個委託
public delegate void delegateRun();
//定義一個事件
public event delegateRun eventRun;
//引起事件的方法
public void Begin()
{
eventRun();//被引起的事件
}
}
class RunSports
{
//定義事件處理方法
public void Run()
{
Console.WriteLine("運動員開始比賽");
}
}
class Program
{
static void Main(string[] args)
{
RunSports runsport = new RunSports();//實例化事件發佈者
Judgment judgment = new Judgment();//實例化事件訂閱者
//訂閱事件
judgment.eventRun+=new Judgment.delegateRun(runsport.Run);
//引起事件
judgment.Begin();
Console.ReadKey();
}
}
}事件