2009-07-28 4 views
1

MSDN에서 읽기 : "대리자는 메서드를 참조하는 형식입니다. 대리자가 메서드를 할당하면 해당 메서드와 똑같이 작동합니다.""위임"이란 유형이나 개체를 의미합니까?

"위임"이란 유형이나 개체를 의미합니까?!

... 둘 다있을 수는 없습니다. 하나의 단어가 두 가지 다른 의미로 사용된다는 것을 나에게 보인다

실제로처럼 호출 할 수 있습니다
  1. 일부 지정된 서명하는 방법에 대한 참조를 포함하는 유형, 해당 유형의
  2. 객체, 방법.

더 정확한 어휘를 선호하고 첫 번째 경우에는 "위임 유형"을 사용합니다. 나는 최근에 사건과 대의원에 대해 많이 읽었으며 그 모호성으로 인해 여러 번 혼란스러워하게되었다.

첫 번째 의미에서 MSDN에서 "위임"단어의 일부 다른 용도 :

  • 는 "A 대표의 선언 클래스를 정의"사용자 정의 이벤트 참가자가 이벤트가 이벤트 데이터를 생성하는 경우에만 필요하다 "그 클래스 System.Delegate로부터 유도되는 제 2 의미 MSDN에서 대리인 "단어"

일부 다른 용도 "

  • "어떤 이벤트가 발생할 때 호출되는 대리자를 지정하십시오."
  • "대리자는 메서드를 참조하는 개체입니다. 그들은 때때로 Microsoft에서했던 사람들이 모호성을 소개 왜 당신은 어떻게 생각하십니까 형태 보증 함수 포인터 "

?로 설명? 있습니까 I에게 유일한 사람을 다른 개념 개념적 문제가 동일한 단어로 참조되는 .

답변

9

텍스트는 단어 delegate 두 가지를 사용하고,. 유형으로와 유형의 인스턴스로

그것은 말해야한다 "A 대표 유형는 방법을 참조하는 유형입니다. 대리자 예를이 방법을 할당되면, 정확히 그 메소드처럼 동작합니다. "

대리자 형식서명 아닌 구체적인 방법. 위임 인스턴스, 5 월을 의미
+0

하나는 멋지게 다. –

+0

C#의 'delegate' 키워드는 모호합니다.'delegate xyz Xyz()는 delegate * type *을 나타내며, delegate() {...}는 delegate * instance *를 나타냅니다. – Ruben

+0

@ 루벤 나는 파티에 늦었지만, 모든 타입 이름/생성자 이름 쌍의 경우에는이 모호함이 아닙니까? –

0

, 할당 된 경우 하나 이상의 메소드 참조를 포함합니다.

는 그래서 대리자 형식은 다음과 같습니다

delegate void D(); 

대리자 인스턴스는 다음과 같습니다

D d; 

대리자 인스턴스를 할당 할 수있다 :

d += new D (Method); 
관련 문제