C#의 대리자와 이벤트의 차이점

WBOY
풀어 주다: 2023-08-30 12:25:13
앞으로
953명이 탐색했습니다.

C# 中的委托和事件之间的区别

이 기사에서는 C#에서 대리자와 이벤트의 차이점을 이해합니다.

Delegate

  • "delegate" 키워드를 사용하여 선언할 수 있습니다.
  • 함수 포인터입니다.

  • 런타임에 하나 이상의 메서드에 대한 참조를 저장합니다.

  • 독립적인 키워드입니다.

  • 이벤트에 의존하지 않습니다.

  • 호출 목록에 메서드를 추가하는 데 도움이 되는 Combine() 및 Remove() 메서드가 포함되어 있습니다.

  • 메서드에 매개변수로 전달될 수 있습니다.

  • "=" 연산자를 사용하여 단일 메서드를 할당할 수 있습니다.

  • "+=" 연산자를 사용하면 대리자에게 여러 메서드를 할당할 수 있습니다.

이벤트

  • 는 "event" 키워드를 사용하여 선언할 수 있습니다.

  • 위임에 의존하는 알림 메커니즘으로 정의할 수 있습니다.

  • 커미션에 따라 다릅니다.

  • 대리인 없이는 생성할 수 없습니다.

  • 델리게이트 인스턴스의 래퍼로 이해될 수 있습니다.

  • 이것은 대리인 사용자가 대리인과 통화 목록을 재설정하는 것을 방지하는 데 도움이 됩니다.

  • 통화 목록에서 대상을 추가하거나 제거하는 것만 허용됩니다.

  • "EventInfo" 클래스는 이벤트를 확인하고 이벤트 핸들러를 바인딩하는 데 도움을 줍니다.

  • 이러한 핸들에는 각각 호출 목록에 메서드를 추가하고 제거하는 데 도움이 되는 AddEventHandler() 및 RemoveEventHandler()와 같은 메서드가 포함되어 있습니다.

  • 이벤트를 발생시킬 수 있지만 메서드에 매개변수로 전달할 수는 없습니다.

  • "=" 연산자는 이벤트와 함께 사용할 수 없습니다.

  • "+=" 및 "-=" 연산자를 이벤트와 함께 사용하여 각각 이벤트 핸들러를 추가하거나 제거할 수 있습니다.

  • 이 메소드는 AddEventHandler와 같이 내부적으로 호출되며 이벤트 핸들러를 삭제합니다.

위 내용은 C#의 대리자와 이벤트의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿