이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 64806|회답: 2

[출처] 자세한 내용은 .net/c# 이벤트에 관한 것입니다

[링크 복사]
게시됨 2018. 5. 29. 오후 1:18:13 | | | |
C#에서의 이벤트 정의:

클래스나 객체는 이벤트를 통해 다른 클래스나 객체에 일어난 일을 알릴 수 있습니다. 이벤트를 전송(또는 유발)하는 클래스는 "발행자"라고 하며, 이벤트를 수신하거나 처리하는 클래스는 "구독자"라고 합니다.

이벤트는 다음과 같은 특징을 가집니다:

  • 퍼블리셔는 이벤트를 언제 제기할지 결정하고, 구독자는 이벤트에 대응하여 어떤 행동을 할지 결정합니다.
  • 한 이벤트는 여러 명의 구독자를 가질 수 있습니다. 가입자는 여러 발행사로부터 발생하는 여러 이벤트를 처리할 수 있습니다.
  • 구독자가 없는 이벤트는 절대 호출되지 않습니다.
  • 이벤트는 종종 버튼 클릭이나 메뉴 선택 동작과 같은 그래픽 사용자 인터페이스의 동작을 사용자에게 알리는 데 사용됩니다.
  • 이벤트에 여러 구독자가 있을 경우, 이벤트가 발생할 때 여러 이벤트 핸들러가 동시에 호출됩니다. 이벤트를 비동기적으로 호출하려면 비동기 동기화 방법 호출(Calling Synchronization Methods)을 참조하세요.
  • 이벤트 동기화 스레드를 활용할 수 있습니다.

이벤트 키워드는 퍼블리셔 클래스에서 이벤트를 선언하는 데 사용됩니다.

MS 링크:하이퍼링크 로그인이 보입니다.





사실 이벤트 작성 방법 A와 작성 방법 B에는 차이가 없습니다!

참고할 수 있는 자료는 다음과 같습니다:하이퍼링크 로그인이 보입니다.

이벤트핸들<T>러두 가지 매개변수(객체 송신자, TEventArgs e)를 받아들이고 공허 타입을 반환하는 메서드를 나타냅니다. 여기서 TEventArgs는 EventArgs 클래스에서 파생된 타입이어야 합니다. 후자의 매개변수는 이벤트에 필요한 매개변수를 저장하는 데 사용됩니다.

이벤트 아르는 이벤트 데이터를 포함하는 클래스의 기본 클래스이며, 이벤트 데이터를 포함하지 않으며, 이벤트가 발생할 때 상태 정보를 이벤트 핸들러에 전달하지 않는 이벤트들이 사용합니다. 이벤트 핸들러가 상태 정보를 필요로 하면, 애플리케이션은 이 클래스에서 데이터를 저장할 클래스를 파생해야 합니다.

Volatile.Read  .NET 4.0은 지원되지 않습니다


//
        요약:
        지정된 필드에서 객체 참조를 읽습니다. 시스템에서 필요하면, 프로세서가 메모리 연산을 재정렬하지 못하도록 메모리 장벽이 삽입됩니다. 아래와 같습니다: 읽기/쓰기 후 이 메서드가 코드에 나타나면, 프로세서는 이 메서드 이전에 이 방법을 이동할 수 없습니다.
        //
        조건:
        위치:
        읽을 필드.
        //
        유형 매개변수:
        T:
        읽어야 할 분야 유형. 이것은 참조 유형이어야 하며, 값 유형이 아니다.
        //
        결과 반환:
        참고문헌 T까지 읽으세요. 이 참조는 프로세서 수나 프로세서 캐시 상태와 관계없이 컴퓨터 내 모든 프로세서가 작성할 수 있습니다.
        [신뢰성 계약(일관성.부패하지 않을 것), 성공 성과]
        [보안안전위급]
        [TargetedPatchingOptOut("NGen 이미지 경계를 넘어 인라인에 필수적인 성능"]
        공개 정적 T Read<T>(참조 T 위치) 여기서 T : 클래스;






이전의:안드로이드 휴대폰의 QQ 버전이 '이스터에그'를 꾸짖었다
다음:C#을 사용하여 OpenFileDialog의 파일 캡슐화를 읽습니다
 집주인| 게시됨 2020. 3. 22. 오후 5:11:32 |
.NET 4.0 작성 방법
이벤트 매개변수를 정의하세요


사건을 정의하세요



트리거 이벤트



 집주인| 게시됨 2021. 3. 17. 오전 11:21:40 |
ASP.NET 코어는 MediatR 중개 모델을 사용합니다
https://www.itsvse.com/thread-9272-1-1.html
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com