2011-04-19 16 views
0

可能重複:
The purpose of delegates在.net中使用了代理的

什麼是.NET中

+0

阿曼,我建議你瀏覽一下.net代表的在線資料。這是一個非常基本的主題,即使在堆棧溢出中也有足夠的答案http://msdn.microsoft.com/en-us/magazine/cc301810.aspx(對於該問題爲-1) – 2011-04-19 04:53:09

+0

你可以很容易地「谷歌搜索」 「 這個 ! – 2011-04-19 04:53:30

回答

0

實際使用代表在C#中的委託允許調用一組在運行時指定的方法,而不是在編譯時指定的一個方法。 使用委託來處理系統中的事件,因爲這允許他們引發一個事件並調用已訂閱該事件的不同偵聽器指定的整個方法。

public class EventRaiser 
{ 
    public delegate void SomethingHappened(); 

    public SomethingHappend OnSomethingHappened 
    { get; set; } 
} 

public class Listener 
{ 
    public void DoSomething() 
    { 
     //Do something 
    } 
} 

public class OtherListener 
{ 
    public void DoSomethingDifferent() 
    { 
     //Do something different 
    } 
} 

EventRaiser raiser = new EventRaiser(); 
Listener listener = new Listener(); 
OtherListener other = new OtherListener(); 

raiser.OnSomethingHappened += listener.DoSomething; 
raiser.OnSomethingHappened += other.DoSomethingDifferent; 

//This call will call both DoSomething and DoSomethingDifferent 
raiser.OnSomethingHappened();