Bagikan melalui


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.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

Keterangan

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

Catatan

EventInfo tidak dimaksudkan untuk digunakan untuk menaikkan peristiwa. Objek menaikkan peristiwa sebagaimana ditentukan oleh keadaan 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 kejadian, 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 single-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 GetCustomAttributes tidak true berjalan dengan 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

EventInfo()

Menginisialisasi instans baru kelas EventInfo.

Properti

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 menyatakan anggota ini.

(Diperoleh dari MemberInfo)
EventHandlerType

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

IsCollectible

Mendapatkan nilai yang menunjukkan apakah objek ini MemberInfo adalah bagian dari perakitan yang dipegang dalam koleksi AssemblyLoadContext.

(Diperoleh dari MemberInfo)
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.

MemberType

Saat ditimpa di kelas turunan, mendapatkan nilai yang MemberTypes menunjukkan jenis anggota - metode, konstruktor, peristiwa, dan sebagainya.

(Diperoleh dari MemberInfo)
MetadataToken

Mendapatkan nilai yang mengidentifikasi elemen metadata.

(Diperoleh dari MemberInfo)
Module

Mendapatkan modul di mana jenis yang menyatakan anggota yang diwakili oleh saat ini MemberInfo 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 ini dari MemberInfo.

(Diperoleh dari MemberInfo)
RemoveMethod

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

Metode

AddEventHandler(Object, Delegate)

Menambahkan penanganan aktivitas ke sumber kejadian.

Equals(Object)

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

Equals(Object)

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

(Diperoleh dari MemberInfo)
GetAddMethod()

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

GetAddMethod(Boolean)

Ketika ditimpa di 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 semua atribut kustom yang diterapkan ke 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 CustomAttributeData objek yang mewakili data tentang atribut yang telah diterapkan ke anggota target.

(Diperoleh dari MemberInfo)
GetHashCode()

Mengembalikan kode hash untuk instans ini.

GetHashCode()

Mengembalikan kode hash untuk instans ini.

(Diperoleh dari MemberInfo)
GetOtherMethods()

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

GetOtherMethods(Boolean)

Mengembalikan metode yang telah dikaitkan dengan peristiwa dalam metadata menggunakan .other direktif, 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 kejadian.

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.

GetType()

Menemukan atribut anggota dan menyediakan akses ke metadata anggota.

(Diperoleh dari MemberInfo)
HasSameMetadataDefinitionAs(MemberInfo)

Menemukan atribut peristiwa dan menyediakan akses ke metadata peristiwa.

(Diperoleh dari MemberInfo)
IsDefined(Type, Boolean)

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

(Diperoleh dari MemberInfo)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
RemoveEventHandler(Object, Delegate)

Menghapus penanganan aktivitas dari sumber kejadian.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Operator

Equality(EventInfo, EventInfo)

Menunjukkan apakah dua EventInfo objek sama.

Inequality(EventInfo, EventInfo)

Menunjukkan apakah dua EventInfo objek tidak sama.

Implementasi Antarmuka Eksplisit

_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 yang Type mewakili MemberInfo kelas .

(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 attributeType instans ditentukan pada anggota ini.

(Diperoleh dari MemberInfo)

Metode Ekstensi

GetCustomAttribute(MemberInfo, Type)

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

GetCustomAttribute(MemberInfo, Type, 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.

GetCustomAttribute<T>(MemberInfo, Boolean)

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

GetCustomAttributes(MemberInfo)

Mengambil kumpulan atribut kustom 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)

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

GetCustomAttributes(MemberInfo, Type, 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.

GetCustomAttributes<T>(MemberInfo, Boolean)

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

IsDefined(MemberInfo, Type)

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

IsDefined(MemberInfo, Type, Boolean)

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

GetAddMethod(EventInfo)

Menemukan atribut peristiwa dan menyediakan akses ke metadata peristiwa.

GetAddMethod(EventInfo, Boolean)

Menemukan atribut peristiwa dan menyediakan akses ke metadata peristiwa.

GetRaiseMethod(EventInfo)

Menemukan atribut peristiwa dan menyediakan akses ke metadata peristiwa.

GetRaiseMethod(EventInfo, Boolean)

Menemukan atribut peristiwa dan menyediakan akses ke metadata peristiwa.

GetRemoveMethod(EventInfo)

Menemukan atribut peristiwa dan menyediakan akses ke metadata peristiwa.

GetRemoveMethod(EventInfo, Boolean)

Menemukan atribut peristiwa dan menyediakan akses ke metadata peristiwa.

GetMetadataToken(MemberInfo)

Mendapatkan token metadata untuk anggota tertentu, jika tersedia.

HasMetadataToken(MemberInfo)

Mengembalikan nilai yang menunjukkan apakah token metadata tersedia untuk anggota yang ditentukan.

Berlaku untuk

Keamanan Thread

Jenis ini aman untuk utas.