다음을 통해 공유


EventDescriptor 클래스

이벤트에 대한 정보를 제공합니다.

네임스페이스: System.ComponentModel
어셈블리: System(system.dll)

구문

‘선언
<ComVisibleAttribute(True)> _
Public MustInherit Class EventDescriptor
    Inherits MemberDescriptor
‘사용 방법
Dim instance As EventDescriptor
[ComVisibleAttribute(true)] 
public abstract class EventDescriptor : MemberDescriptor
[ComVisibleAttribute(true)] 
public ref class EventDescriptor abstract : public MemberDescriptor
/** @attribute ComVisibleAttribute(true) */ 
public abstract class EventDescriptor extends MemberDescriptor
ComVisibleAttribute(true) 
public abstract class EventDescriptor extends MemberDescriptor

설명

EventDescriptor는 이벤트 이름, 특성, 이벤트가 바인딩되는 구성 요소, 이벤트 대리자, 대리자 형식, 대리자 멀티캐스트 여부로 구성됩니다.

EventDescriptor는 다음과 같은 abstract 속성 및 메서드를 제공합니다.

  • ComponentType에는 이 이벤트가 선언되는 구성 요소의 형식이 들어 있습니다.

  • EventType에는 이벤트 대리자의 형식이 들어 있습니다.

  • IsMulticast에는 이벤트 대리자가 멀티캐스트 대리자인지 여부를 나타내는 값이 들어 있습니다.

  • AddEventHandler는 이벤트를 구성 요소에 바인딩합니다.

  • RemoveEventHandler는 대리자가 구성 요소로부터 더 이상 이벤트를 받지 않도록 구성 요소에서 대리자를 바인딩 해제합니다.

이벤트에 대한 자세한 내용은 이벤트 발생시키기를 참조하십시오. 리플렉션에 대한 자세한 내용은 리플렉션의 항목을 참조하십시오.

참고

이 클래스에 적용되는 HostProtectionAttribute 특성의 Resources 속성 값은 SharedState입니다. HostProtectionAttribute는 대개 아이콘을 두 번 클릭하거나, 명령을 입력하거나, 브라우저에서 URL을 입력하여 시작되는 데스크톱 응용 프로그램에 영향을 미치지 않습니다. 자세한 내용은 HostProtectionAttribute 클래스나 SQL Server 프로그래밍 및 호스트 보호 특성을 참조하십시오.

예제

다음 코드 예제는 EventDescriptorCollection 클래스의 예제를 기반으로 작성되었습니다. 이 예제에서는 단추에 대한 각 이벤트의 범주, 설명 및 표시 이름 정보를 텍스트 상자에 표시합니다. 폼에 button1textbox1이 인스턴스화되어 있어야 합니다.

Dim events As EventDescriptorCollection = TypeDescriptor.GetEvents(Button1)
' Displays each event's information in the collection in a text box.
Dim myEvent As EventDescriptor
For Each myEvent In events
    TextBox1.Text &= myEvent.Category & ControlChars.Cr
    TextBox1.Text &= myEvent.Description & ControlChars.Cr
    TextBox1.Text &= myEvent.DisplayName & ControlChars.Cr
Next myEvent
EventDescriptorCollection events = TypeDescriptor.GetEvents(button1);
// Displays each event's information in the collection in a text box.
foreach (System.ComponentModel.EventDescriptor myEvent in events) {
    textBox1.Text += myEvent.Category + '\n';
    textBox1.Text += myEvent.Description + '\n';
    textBox1.Text += myEvent.DisplayName + '\n';
}
EventDescriptorCollection^ events = TypeDescriptor::GetEvents( button1 );

// Displays each event's information in the collection in a text box.
for each (EventDescriptor^ myEvent in events) {
    textBox1->Text += myEvent->Category + '\n';
    textBox1->Text += myEvent->Description + '\n';
    textBox1->Text += myEvent->DisplayName + '\n';
}
EventDescriptorCollection events = TypeDescriptor.GetEvents(button1);
System.ComponentModel.EventDescriptor myEvent = null;
// Displays each event's information in the collection in a text box.
for (int iCtr=0; iCtr < events.get_Count(); iCtr++) {
    myEvent = events.get_Item(iCtr);
    textBox1.set_Text(textBox1.get_Text() + myEvent.get_Category()
        + '\n');
    textBox1.set_Text(textBox1.get_Text() + myEvent.get_Description() 
        + '\n');
    textBox1.set_Text(textBox1.get_Text() + myEvent.get_DisplayName()
        + '\n');
}

상속 계층 구조

System.Object
   System.ComponentModel.MemberDescriptor
    System.ComponentModel.EventDescriptor

스레드로부터의 안전성

이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

EventDescriptor 멤버
System.ComponentModel 네임스페이스
MemberDescriptor
Attribute