EventInfo 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이벤트의 특성을 검색하고 이벤트 메타데이터에 대한 액세스를 제공합니다.
public ref class EventInfo abstract : System::Reflection::MemberInfo
public ref class EventInfo abstract : System::Reflection::MemberInfo, System::Runtime::InteropServices::_EventInfo
public abstract class EventInfo : System.Reflection.MemberInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public abstract class EventInfo : System.Reflection.MemberInfo, System.Runtime.InteropServices._EventInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public abstract class EventInfo : System.Reflection.MemberInfo, System.Runtime.InteropServices._EventInfo
type EventInfo = class
inherit MemberInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type EventInfo = class
inherit MemberInfo
interface _EventInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type EventInfo = class
inherit MemberInfo
interface _EventInfo
Public MustInherit Class EventInfo
Inherits MemberInfo
Public MustInherit Class EventInfo
Inherits MemberInfo
Implements _EventInfo
- 상속
- 파생
- 특성
- 구현
예제
다음 코드는 클래스의 이벤트에 대한 Click 개체를 Button 가져옵니다EventInfo.
#using <System.dll>
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>
using namespace System;
using namespace System::Reflection;
using namespace System::Security;
using namespace System::Windows::Forms;
int main()
{
try
{
// Creates a bitmask based on BindingFlags.
BindingFlags myBindingFlags = static_cast<BindingFlags>(BindingFlags::Instance | BindingFlags::Public | BindingFlags::NonPublic);
Type^ myTypeBindingFlags = System::Windows::Forms::Button::typeid;
EventInfo^ myEventBindingFlags = myTypeBindingFlags->GetEvent( "Click", myBindingFlags );
if ( myEventBindingFlags != nullptr )
{
Console::WriteLine( "Looking for the Click event in the Button class with the specified BindingFlags." );
Console::WriteLine( myEventBindingFlags );
}
else
Console::WriteLine( "The Click event is not available with the Button class." );
}
catch ( SecurityException^ e )
{
Console::WriteLine( "An exception occurred." );
Console::WriteLine( "Message : {0}", e->Message );
}
catch ( ArgumentNullException^ e )
{
Console::WriteLine( "An exception occurred." );
Console::WriteLine( "Message : {0}", e->Message );
}
catch ( Exception^ e )
{
Console::WriteLine( "The following exception was raised : {0}", e->Message );
}
}
using System;
using System.Reflection;
using System.Security;
class MyEventExample
{
public static void Main()
{
try
{
// Creates a bitmask based on BindingFlags.
BindingFlags myBindingFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
Type myTypeBindingFlags = typeof(System.Windows.Forms.Button);
EventInfo myEventBindingFlags = myTypeBindingFlags.GetEvent("Click", myBindingFlags);
if(myEventBindingFlags != null)
{
Console.WriteLine("Looking for the Click event in the Button class with the specified BindingFlags.");
Console.WriteLine(myEventBindingFlags.ToString());
}
else
{
Console.WriteLine("The Click event is not available with the Button class.");
}
}
catch(SecurityException e)
{
Console.WriteLine("An exception occurred.");
Console.WriteLine("Message :"+e.Message);
}
catch(ArgumentNullException e)
{
Console.WriteLine("An exception occurred.");
Console.WriteLine("Message :"+e.Message);
}
catch(Exception e)
{
Console.WriteLine("The following exception was raised : {0}",e.Message);
}
}
}
Imports System.Reflection
Imports System.Security
' Compile this sample using the following command line:
' vbc type_getevent.vb /r:"System.Windows.Forms.dll" /r:"System.dll"
Class MyEventExample
Public Shared Sub Main()
Try
' Creates a bitmask comprising BindingFlags.
Dim myBindingFlags As BindingFlags = BindingFlags.Instance Or BindingFlags.Public _
Or BindingFlags.NonPublic
Dim myTypeBindingFlags As Type = GetType(System.Windows.Forms.Button)
Dim myEventBindingFlags As EventInfo = myTypeBindingFlags.GetEvent("Click", myBindingFlags)
If myEventBindingFlags IsNot Nothing Then
Console.WriteLine("Looking for the Click event in the Button class with the specified BindingFlags.")
Console.WriteLine(myEventBindingFlags.ToString())
Else
Console.WriteLine("The Click event is not available with the Button class.")
End If
Catch e As SecurityException
Console.WriteLine("An exception occurred.")
Console.WriteLine("Message :" + e.Message)
Catch e As ArgumentNullException
Console.WriteLine("An exception occurred.")
Console.WriteLine("Message :" + e.Message)
Catch e As Exception
Console.WriteLine("The following exception was raised : {0}", e.Message)
End Try
End Sub
End Class
설명
메서드의 EventInfo 예제 코드 AddEventHandler 에 표시된 것처럼 클래스를 사용하여 이벤트를 검사하고 이벤트 처리기를 연결합니다.
참고
EventInfo 은 이벤트를 발생시키려는 용도로 사용되지 않습니다. 개체는 내부 상태에 따라 이벤트를 발생합니다.
이벤트는 대리자에서 사용됩니다. 이벤트 수신기는 이벤트 원본에 의해 이벤트가 발생할 때마다 호출되는 이벤트 처리기 대리자를 인스턴스화합니다. 이벤트 원본에 연결하기 위해 이벤트 수신기는 이 대리자를 원본의 호출 목록에 추가합니다. 이벤트가 발생하면 이벤트 처리기 대리자의 invoke 메서드가 호출됩니다. 멀티캐스트 및 단일 캐스트 이벤트 알림이 모두 지원됩니다.
Add
이벤트와 연결된 이벤트 처리기 대리자 클래스뿐만 아니라 및 Remove
메서드는 메타데이터에 표시되어야 합니다.
대리자는 개체 지향 함수 포인터입니다. C 또는 C++에서 함수 포인터는 메서드에 대한 참조입니다. C 또는 C++ 함수 포인터와 달리 대리자는 메서드에 대한 참조와 메서드를 지원하는 개체에 대한 참조라는 두 개의 참조를 포함합니다. 대리자는 메서드를 선언하거나 상속하는 클래스 형식을 모르고 메서드를 호출할 수 있습니다. 대리자는 메서드의 반환 형식 및 매개 변수 목록만 알고 있어야 합니다.
이벤트 모델은 단일 캐스트 및 멀티캐스트 대리자에서도 동일하게 작동합니다. 대리자의 invoke 메서드가 호출되면 단일 개체에 호출된 메서드만 있습니다. 대리자 선언에 멀티캐스트 한정자를 적용할 수 있습니다. 그러면 대리자의 invoke 메서드가 호출될 때 여러 메서드를 호출할 수 있습니다.
EventInfo
의 GetCustomAttributes
true
매개 변수가 inherit
형식 계층 구조를 걷지 않는 경우 를 호출 ICustomAttributeProvider.GetCustomAttributes 합니다. 사용 하 여 System.Attribute 사용자 지정 특성을 상속 합니다.
구현자 참고
에서 EventInfo
상속하는 경우 , 및 GetRemoveMethod(Boolean)GetRaiseMethod(Boolean)멤버GetAddMethod(Boolean)를 재정의해야 합니다.
생성자
EventInfo() |
|
속성
AddMethod |
비공용 메서드를 포함하여 이벤트의 MethodInfo 메서드에 대한 AddEventHandler(Object, Delegate) 개체를 가져옵니다. |
Attributes |
이 이벤트에 대한 특성을 가져옵니다. |
CustomAttributes |
이 멤버의 사용자 지정 특성을 포함하는 컬렉션을 가져옵니다. (다음에서 상속됨 MemberInfo) |
DeclaringType |
이 멤버를 선언하는 클래스를 가져옵니다. (다음에서 상속됨 MemberInfo) |
EventHandlerType |
이 이벤트와 연결된 내부 이벤트 처리기 대리자의 |
IsCollectible |
이 MemberInfo 개체가 수집 가능한 AssemblyLoadContext에 보관된 어셈블리의 일부인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 MemberInfo) |
IsMulticast |
이벤트가 멀티캐스트인지 여부를 나타내는 값을 가져옵니다. |
IsSpecialName |
|
MemberType |
이 멤버가 이벤트임을 나타내는 MemberTypes 값을 가져옵니다. |
MemberType |
파생 클래스에서 재정의될 경우 멤버의 형식(메서드, 생성자, 이벤트 등)을 나타내는 MemberTypes 값을 가져옵니다. (다음에서 상속됨 MemberInfo) |
MetadataToken |
메타데이터 요소를 식별하는 값을 가져옵니다. (다음에서 상속됨 MemberInfo) |
Module |
현재 MemberInfo가 나타내는 멤버를 선언하는 형식이 정의된 모듈을 가져옵니다. (다음에서 상속됨 MemberInfo) |
Name |
현재 멤버의 이름을 가져옵니다. (다음에서 상속됨 MemberInfo) |
RaiseMethod |
이벤트가 발생할 때 호출되는 메서드(public이 아닌 메서드 포함)를 가져옵니다. |
ReflectedType |
|
RemoveMethod |
비공용 메서드를 포함하여 이벤트 메서드를 제거하기 위한 |
메서드
AddEventHandler(Object, Delegate) |
이벤트 소스에 이벤트 처리기를 추가합니다. |
Equals(Object) |
이 인스턴스가 지정된 개체와 같은지를 나타내는 값을 반환합니다. |
Equals(Object) |
이 인스턴스가 지정된 개체와 같은지를 나타내는 값을 반환합니다. (다음에서 상속됨 MemberInfo) |
GetAddMethod() |
이벤트 소스에 이벤트 처리기 대리자를 추가하는 데 사용되는 메서드를 반환합니다. |
GetAddMethod(Boolean) |
파생된 클래스에서 재정의된 경우 이벤트의 AddEventHandler(Object, Delegate) 메서드에 대한 |
GetCustomAttributes(Boolean) |
파생 클래스에서 재정의되는 경우 이 멤버에 적용된 모든 사용자 지정 특성의 배열을 반환합니다. (다음에서 상속됨 MemberInfo) |
GetCustomAttributes(Type, Boolean) |
파생된 클래스에서 재정의하는 경우 이 멤버에 적용되고 Type으로 식별되는 사용자 지정 특성의 배열을 반환합니다. (다음에서 상속됨 MemberInfo) |
GetCustomAttributesData() |
대상 멤버에 적용된 특성에 대한 데이터를 나타내는 CustomAttributeData 개체의 목록을 반환합니다. (다음에서 상속됨 MemberInfo) |
GetHashCode() |
이 인스턴스의 해시 코드를 반환합니다. |
GetHashCode() |
이 인스턴스의 해시 코드를 반환합니다. (다음에서 상속됨 MemberInfo) |
GetOtherMethods() |
|
GetOtherMethods(Boolean) |
|
GetRaiseMethod() |
이벤트가 발생할 때 호출되는 메서드를 반환합니다. |
GetRaiseMethod(Boolean) |
파생된 클래스에서 재정의된 경우 이벤트가 발생될 때 호출되는 메서드를 반환하고 public이 아닌 메서드를 반환할지 여부를 지정합니다. |
GetRemoveMethod() |
이벤트 소스에서 이벤트 처리기 대리자를 제거하는 데 사용되는 메서드를 반환합니다. |
GetRemoveMethod(Boolean) |
파생된 클래스에서 재정의된 경우 이벤트의 메서드를 제거하기 위해 |
GetType() |
클래스 이벤트를 검색하고 이벤트 메타데이터에 대한 액세스를 제공합니다. |
GetType() |
멤버의 특성을 검색하고 멤버 메타데이터에 대한 액세스를 제공합니다. (다음에서 상속됨 MemberInfo) |
HasSameMetadataDefinitionAs(MemberInfo) |
이벤트의 특성을 검색하고 이벤트 메타데이터에 대한 액세스를 제공합니다. (다음에서 상속됨 MemberInfo) |
IsDefined(Type, Boolean) |
파생 클래스에서 재정의되는 경우 지정된 형식 또는 파생 형식의 특성이 하나 이상 이 멤버에 적용되는지 여부를 나타냅니다. (다음에서 상속됨 MemberInfo) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
RemoveEventHandler(Object, Delegate) |
이벤트 소스에서 이벤트 처리기를 제거합니다. |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
연산자
Equality(EventInfo, EventInfo) |
두 EventInfo 개체가 같은지를 나타냅니다. |
Inequality(EventInfo, EventInfo) |
두 EventInfo 개체가 같지 않은지를 나타냅니다. |
명시적 인터페이스 구현
확장 메서드
GetCustomAttribute(MemberInfo, Type) |
지정된 멤버에 적용된 지정된 형식의 사용자 지정 특성을 검색합니다. |
GetCustomAttribute(MemberInfo, Type, Boolean) |
지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되는 컬렉션을 검색하거나 선택적으로 해당 멤버의 상위 항목을 검사합니다. |
GetCustomAttribute<T>(MemberInfo) |
지정된 멤버에 적용된 지정된 형식의 사용자 지정 특성을 검색합니다. |
GetCustomAttribute<T>(MemberInfo, Boolean) |
지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되는 컬렉션을 검색하거나 선택적으로 해당 멤버의 상위 항목을 검사합니다. |
GetCustomAttributes(MemberInfo) |
지정된 멤버에 적용된 사용자 지정 특성 컬렉션을 검색합니다. |
GetCustomAttributes(MemberInfo, Boolean) |
사용자 지정 특성이 지정된 멤버에 적용되는 컬렉션을 검색하거나 선택적으로 해당 멤버의 상위 항목을 검사합니다. |
GetCustomAttributes(MemberInfo, Type) |
지정된 멤버에 적용된 지정된 형식의 사용자 지정 특성 컬렉션을 검색합니다. |
GetCustomAttributes(MemberInfo, Type, Boolean) |
지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되는 컬렉션을 검색하거나 선택적으로 해당 멤버의 상위 항목을 검사합니다. |
GetCustomAttributes<T>(MemberInfo) |
지정된 멤버에 적용된 지정된 형식의 사용자 지정 특성 컬렉션을 검색합니다. |
GetCustomAttributes<T>(MemberInfo, Boolean) |
지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되는 컬렉션을 검색하거나 선택적으로 해당 멤버의 상위 항목을 검사합니다. |
IsDefined(MemberInfo, Type) |
지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되었는지 여부를 나타냅니다. |
IsDefined(MemberInfo, Type, Boolean) |
지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되었는지, 또는 선택적으로 상위 항목에 적용되었는지 여부를 결정합니다. |
GetAddMethod(EventInfo) |
이벤트의 특성을 검색하고 이벤트 메타데이터에 대한 액세스를 제공합니다. |
GetAddMethod(EventInfo, Boolean) |
이벤트의 특성을 검색하고 이벤트 메타데이터에 대한 액세스를 제공합니다. |
GetRaiseMethod(EventInfo) |
이벤트의 특성을 검색하고 이벤트 메타데이터에 대한 액세스를 제공합니다. |
GetRaiseMethod(EventInfo, Boolean) |
이벤트의 특성을 검색하고 이벤트 메타데이터에 대한 액세스를 제공합니다. |
GetRemoveMethod(EventInfo) |
이벤트의 특성을 검색하고 이벤트 메타데이터에 대한 액세스를 제공합니다. |
GetRemoveMethod(EventInfo, Boolean) |
이벤트의 특성을 검색하고 이벤트 메타데이터에 대한 액세스를 제공합니다. |
GetMetadataToken(MemberInfo) |
사용 가능한 경우 지정된 멤버의 메타데이터 토큰을 가져옵니다. |
HasMetadataToken(MemberInfo) |
지정된 멤버에 대해 메타데이터 토큰을 사용할 수 있는지를 나타내는 값을 반환합니다. |
적용 대상
스레드 보안
이 형식은 스레드로부터 안전합니다.
.NET