다음을 통해 공유


여러 이벤트 발생시키기

업데이트: 2007년 11월

클래스에서 여러 이벤트를 발생시키고 이벤트 발생시키기의 설명에 따라 이들 이벤트를 프로그래밍하면, 컴파일러에서는 각 이벤트 대리자 인스턴스에 대해 하나의 필드를 생성합니다. 이벤트 수가 많은 경우에는 각 대리자에 대한 필드의 저장 공간이 부족할 수도 있습니다. 이러한 경우 .NET Framework에서는 사용자가 선택한 다른 데이터 구조체와 함께 사용하여 이벤트 대리자를 저장할 수 있는 이벤트 속성(Visual Basic 2005에서는 사용자 지정 이벤트)이라는 생성자를 제공합니다.

이벤트 속성은 이벤트 선언과 이벤트 접근자로 구성됩니다. 이벤트 접근자는 사용자가 정의하는 메서드로서, 저장 데이터 구조에 이벤트 대리자 인스턴스를 추가하거나 제거할 수 있게 합니다. 각 이벤트 대리자는 호출되기 전에 검색되어야 하기 때문에 이벤트 속성은 이벤트 필드보다 속도가 느립니다. 이벤트 속성을 사용하면 사용 가능한 메모리는 큰 대신 속도는 그만큼 느립니다. 클래스에서 자주 발생되지 않는 이벤트를 정의하는 경우에는 이벤트 속성을 구현하는 것이 좋습니다. Windows Forms 컨트롤 및 ASP.NET 서버 컨트롤에서는 이벤트 필드 대신 이벤트 속성을 사용합니다.

참고 항목

작업

방법: 이벤트 속성을 사용하여 여러 이벤트 처리

방법: 메모리 사용을 줄이는 이벤트 선언

참조

System.ComponentModel.EventHandlerList

System.Web.UI.Control.Events

기타 리소스

이벤트 처리 및 발생