EventInfo Kelas

Definisi

Menemukan atribut peristiwa dan menyediakan akses ke metadata peristiwa.

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
Warisan
EventInfo
Turunan
Atribut
Penerapan

Contoh

Kode berikut mendapatkan EventInfo objek untuk Click peristiwa Button kelas.

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

Keterangan

EventInfo Gunakan kelas untuk memeriksa peristiwa dan untuk menghubungkan penanganan aktivitas, seperti yang ditunjukkan dalam kode contoh untuk metode .AddEventHandler

Note

EventInfo tidak dimaksudkan untuk digunakan untuk memunculkan peristiwa. Objek menaikkan peristiwa sebagaimana ditentukan oleh status internalnya.

Peristiwa digunakan dengan delegasi. Pendengar peristiwa membuat instans delegasi penanganan aktivitas yang dipanggil setiap kali peristiwa dinaikkan oleh sumber peristiwa. Untuk menyambungkan ke sumber peristiwa, pendengar peristiwa menambahkan delegasi ini ke daftar pemanggilan pada sumbernya. Ketika peristiwa dinaikkan, metode pemanggilan delegasi penanganan aktivitas dipanggil. Pemberitahuan peristiwa multicast dan single-cast didukung. Metode Add dan Remove , serta kelas delegasi penanganan aktivitas yang terkait dengan peristiwa, harus ditandai dalam metadata.

Delegasi adalah penunjuk fungsi berorientasi objek. Di C atau C++, penunjuk fungsi adalah referensi ke metode . Berbeda dengan penunjuk fungsi C atau C++, delegasi berisi dua referensi: referensi ke metode dan referensi ke objek yang mendukung metode . Delegasi dapat memanggil metode tanpa mengetahui jenis kelas yang menyatakan atau mewarisi metode . Delegasi hanya perlu mengetahui jenis pengembalian dan daftar parameter metode.

Model peristiwa bekerja sama baiknya untuk delegasi satu cast dan multicast. Ketika metode pemanggilan delegasi dipanggil, hanya satu objek yang akan memiliki metode yang dipanggil di atasnya. Pengubah multicast dapat diterapkan ke deklarasi delegasi, yang memungkinkan beberapa metode dipanggil ketika metode pemanggilan delegasi dipanggil.

Memanggil ICustomAttributeProvider.GetCustomAttributes pada EventInfo saat inherit parameter GetCustomAttributestrue tidak berjalan hierarki jenis. Gunakan System.Attribute untuk mewarisi atribut kustom.

Catatan Bagi Implementer

Ketika Anda mewarisi dari EventInfo, Anda harus mengambil alih anggota berikut: GetAddMethod(Boolean), GetRemoveMethod(Boolean), dan GetRaiseMethod(Boolean).

Konstruktor

Nama Deskripsi
EventInfo()

Menginisialisasi instans baru dari kelas EventInfo.

Properti

Nama Deskripsi
AddMethod

MethodInfo Mendapatkan objek untuk AddEventHandler(Object, Delegate) metode peristiwa, termasuk metode non-publik.

Attributes

Mendapatkan atribut untuk kejadian ini.

CustomAttributes

Mendapatkan koleksi yang berisi atribut kustom anggota ini.

(Diperoleh dari MemberInfo)
DeclaringType

Mendapatkan kelas yang mendeklarasikan anggota ini.

(Diperoleh dari MemberInfo)
EventHandlerType

Mendapatkan objek dari delegasi penanganan aktivitas yang mendasar Type yang terkait dengan peristiwa ini.

IsMulticast

Mendapatkan nilai yang menunjukkan apakah peristiwa tersebut multicast.

IsSpecialName

Mendapatkan nilai yang menunjukkan apakah EventInfo memiliki nama dengan arti khusus.

MemberType

Mendapatkan nilai yang MemberTypes menunjukkan bahwa anggota ini adalah peristiwa.

MetadataToken

Mendapatkan nilai yang mengidentifikasi elemen metadata.

(Diperoleh dari MemberInfo)
Module

Mendapatkan modul di mana jenis yang menyatakan anggota yang diwakili oleh MemberInfo saat ini ditentukan.

(Diperoleh dari MemberInfo)
Name

Mendapatkan nama anggota saat ini.

(Diperoleh dari MemberInfo)
RaiseMethod

Mendapatkan metode yang dipanggil ketika peristiwa dinaikkan, termasuk metode non-publik.

ReflectedType

Mendapatkan objek kelas yang digunakan untuk mendapatkan instans MemberInfoini.

(Diperoleh dari MemberInfo)
RemoveMethod

MethodInfo Mendapatkan objek untuk menghapus metode peristiwa, termasuk metode non-publik.

Metode

Nama Deskripsi
AddEventHandler(Object, Delegate)

Menambahkan penanganan aktivitas ke sumber peristiwa.

Equals(Object)

Mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu.

GetAddMethod()

Mengembalikan metode yang digunakan untuk menambahkan delegasi penanganan aktivitas ke sumber peristiwa.

GetAddMethod(Boolean)

Saat ditimpa dalam kelas turunan, mengambil MethodInfo objek untuk AddEventHandler(Object, Delegate) metode peristiwa, menentukan apakah akan mengembalikan metode non-publik.

GetCustomAttributes(Boolean)

Saat ditimpa di kelas turunan, mengembalikan array dari semua atribut kustom yang diterapkan kepada anggota ini.

(Diperoleh dari MemberInfo)
GetCustomAttributes(Type, Boolean)

Saat ditimpa di kelas turunan, mengembalikan array atribut kustom yang diterapkan ke anggota ini dan diidentifikasi oleh Type.

(Diperoleh dari MemberInfo)
GetCustomAttributesData()

Mengembalikan daftar objek CustomAttributeData yang mewakili data tentang atribut yang telah diterapkan ke anggota target.

(Diperoleh dari MemberInfo)
GetHashCode()

Mengembalikan kode hash untuk instans ini.

GetOtherMethods()

Mengembalikan metode publik yang telah dikaitkan dengan peristiwa dalam metadata menggunakan arahan .other .

GetOtherMethods(Boolean)

Mengembalikan metode yang telah dikaitkan dengan peristiwa dalam metadata menggunakan .other arahan, menentukan apakah akan menyertakan metode non-publik.

GetRaiseMethod()

Mengembalikan metode yang dipanggil saat peristiwa dinaikkan.

GetRaiseMethod(Boolean)

Ketika ditimpa di kelas turunan, mengembalikan metode yang dipanggil saat peristiwa dinaikkan, menentukan apakah akan mengembalikan metode non-publik.

GetRemoveMethod()

Mengembalikan metode yang digunakan untuk menghapus delegasi penanganan aktivitas dari sumber peristiwa.

GetRemoveMethod(Boolean)

Saat ditimpa di kelas turunan, mengambil MethodInfo objek untuk menghapus metode peristiwa, menentukan apakah akan mengembalikan metode non-publik.

GetType()

Menemukan atribut peristiwa kelas dan menyediakan akses ke metadata peristiwa.

HasSameMetadataDefinitionAs(MemberInfo)

Menemukan atribut peristiwa dan menyediakan akses ke metadata peristiwa.

(Diperoleh dari MemberInfo)
IsDefined(Type, Boolean)

Ketika ditimpa dalam kelas turunan, menunjukkan apakah satu atau beberapa atribut dari jenis yang ditentukan atau jenis turunannya diterapkan ke anggota ini.

(Diperoleh dari MemberInfo)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
RemoveEventHandler(Object, Delegate)

Menghapus penanganan aktivitas dari sumber peristiwa.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Operator

Nama Deskripsi
Equality(EventInfo, EventInfo)

Menunjukkan apakah dua objek EventInfo sama.

Inequality(EventInfo, EventInfo)

Menunjukkan apakah dua objek EventInfo tidak sama.

Implementasi Antarmuka Eksplisit

Nama Deskripsi
_EventInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Memetakan sekumpulan nama ke sekumpulan pengidentifikasi pengiriman yang sesuai.

_EventInfo.GetType()

Mengembalikan objek yang T:System.Type mewakili EventInfo jenis.

_EventInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Mengambil informasi jenis untuk objek, yang kemudian dapat digunakan untuk mendapatkan informasi jenis untuk antarmuka.

_EventInfo.GetTypeInfoCount(UInt32)

Mengambil jumlah antarmuka informasi jenis yang disediakan objek (baik 0 atau 1).

_EventInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Menyediakan akses ke properti dan metode yang diekspos oleh objek.

_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Memetakan sekumpulan nama ke sekumpulan pengidentifikasi pengiriman yang sesuai.

(Diperoleh dari MemberInfo)
_MemberInfo.GetType()

Mendapatkan objek Type yang mewakili kelas MemberInfo.

(Diperoleh dari MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Mengambil informasi jenis untuk objek, yang kemudian dapat digunakan untuk mendapatkan informasi jenis untuk antarmuka.

(Diperoleh dari MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Mengambil jumlah antarmuka informasi jenis yang disediakan objek (baik 0 atau 1).

(Diperoleh dari MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Menyediakan akses ke properti dan metode yang diekspos oleh objek.

(Diperoleh dari MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

Mengembalikan array dari semua atribut kustom yang ditentukan pada anggota ini, tidak termasuk atribut bernama, atau array kosong jika tidak ada atribut kustom.

(Diperoleh dari MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

Mengembalikan array atribut kustom yang ditentukan pada anggota ini, diidentifikasi berdasarkan jenis, atau array kosong jika tidak ada atribut kustom dari jenis tersebut.

(Diperoleh dari MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

Menunjukkan apakah satu atau beberapa instans attributeType ditentukan pada anggota ini.

(Diperoleh dari MemberInfo)

Metode Ekstensi

Nama Deskripsi
GetAddMethod(EventInfo, Boolean)

Menemukan atribut peristiwa dan menyediakan akses ke metadata peristiwa.

GetAddMethod(EventInfo)

Menemukan atribut peristiwa dan menyediakan akses ke metadata peristiwa.

GetCustomAttribute(MemberInfo, Type, Boolean)

Mengambil atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu, dan secara opsional memeriksa leluhur anggota tersebut.

GetCustomAttribute(MemberInfo, Type)

Mengambil atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu.

GetCustomAttribute<T>(MemberInfo, Boolean)

Mengambil atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu, dan secara opsional memeriksa leluhur anggota tersebut.

GetCustomAttribute<T>(MemberInfo)

Mengambil atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu.

GetCustomAttributes(MemberInfo, Boolean)

Mengambil kumpulan atribut kustom yang diterapkan ke anggota tertentu, dan secara opsional memeriksa leluhur anggota tersebut.

GetCustomAttributes(MemberInfo, Type, Boolean)

Mengambil kumpulan atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu, dan secara opsional memeriksa leluhur anggota tersebut.

GetCustomAttributes(MemberInfo, Type)

Mengambil kumpulan atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu.

GetCustomAttributes(MemberInfo)

Mengambil kumpulan atribut kustom yang diterapkan ke anggota tertentu.

GetCustomAttributes<T>(MemberInfo, Boolean)

Mengambil kumpulan atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu, dan secara opsional memeriksa leluhur anggota tersebut.

GetCustomAttributes<T>(MemberInfo)

Mengambil kumpulan atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu.

GetRaiseMethod(EventInfo, Boolean)

Menemukan atribut peristiwa dan menyediakan akses ke metadata peristiwa.

GetRaiseMethod(EventInfo)

Menemukan atribut peristiwa dan menyediakan akses ke metadata peristiwa.

GetRemoveMethod(EventInfo, Boolean)

Menemukan atribut peristiwa dan menyediakan akses ke metadata peristiwa.

GetRemoveMethod(EventInfo)

Menemukan atribut peristiwa dan menyediakan akses ke metadata peristiwa.

IsDefined(MemberInfo, Type, Boolean)

Menunjukkan apakah atribut kustom dari jenis tertentu diterapkan ke anggota tertentu, dan, secara opsional, diterapkan ke leluhurnya.

IsDefined(MemberInfo, Type)

Menunjukkan apakah atribut kustom dari jenis tertentu diterapkan ke anggota tertentu.

Berlaku untuk

Keamanan Thread

Jenis ini aman untuk utas.