2010-08-19 2 views
0
public delegate void ExecuteCallback(); 

클래스 실행자 { private ExecuteCallback _doExecute;델리게이트 객체에 여러 대의 델리게이트 추가에서 + = 기호가 무엇입니까?

public void AddMultiple() 
{ 
    // Add a delegate to MethodA 
    // This will work even if _doExecute is currently null 
    _doExecute += new Execute(MethodA); 

    // Add a delegate to MethodB also 
    _doExecute += new Execute(MethodB); 

    // Add a delegate to MethodC also 
    _doExecute += new Execute(MethodC); 
} 

public void MethodA() 
{ 
    //... 
} 

public void MethodB() 
{ 
    //... 
} 

public void MethodC() 
{ 
    //... 
} 

}

+1

귀하의 질문에 정확히 무엇이 있습니까? – thecoop

답변

2

+= 보통 "가산 대입 연산자"그러나 대표 컨텍스트에서 호출 ...

+ 연산자는 또한에 응답 호출 될 메소드를 지정 에 사용 = 행사; 그러한 방법 을 이벤트 핸들러라고합니다. 이 컨텍스트에서 + = 연산자 인 을 사용하면 이벤트를 구독하는 것으로 표시되는 입니다.

MSDN 설명서 here에서 가져온 것입니다.

How to: Subscribe to and Unsubscribe from Events

+0

이벤트 및 대리자를 처리하는 것은 매우 다릅니다. –

2

이 그냥 Delegate.Combine를 호출 C#을 제공하는 속기입니다. 또한 이벤트의 구독 부분 (예 : C# 이벤트 선언의 add {} 블록)을 호출하는 이벤트에 대해서도 작동합니다.

조합에 대한 특정 이름이 있다고는 생각하지 않습니다. C# 사양의 섹션 7.8.4 및 섹션 7.17.2의 바이너리 + 및 + = 연산자에 불과합니다.

0

아마 대리자/이벤트와 '등록'이벤트 핸들러로 그를 참조합니다. 문맥에 따라.

관련 문제