2011-04-19 5 views
0

가능한 중복 :
The purpose of delegates는 닷넷 대표의 사용

C#에서 대리자가 그룹을 호출 할 수 있습니다 닷넷

+0

아만, .net 대리인에 관한 온라인 자료를 읽어 보시기 바랍니다. 이것은 스택 오버플로조차도 충분한 대답이있는 매우 기본적인 주제입니다. http://msdn.microsoft.com/en-us/magazine/cc301810.aspx (질문 - 1) –

+0

당신은 그렇게 쉽게 "봤을 수 있습니다. " 이 ! –

답변

0

에서 위임의 실제 사용은 무엇입니까 컴파일 타임에 지정된 하나의 메서드 대신 런타임에 지정된 메서드 시스템의 이벤트는 하나의 이벤트를 발생시키고 이벤트에 가입 한 여러 리스너가 지정한 전체 메서드를 호출 할 수 있기 때문에 대리자를 사용하여 처리됩니다.

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();