EventInfo Osztály

Definíció

Felderíti egy esemény attribútumait, és hozzáférést biztosít az esemény metaadataihoz.

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
Öröklődés
EventInfo
Származtatott
Attribútumok
Megvalósítás

Példák

Az alábbi kód egy objektumot EventInfo kap az ClickButton osztály eseményéhez.

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

Megjegyzések

Az osztály használatával vizsgálja meg az EventInfo eseményeket, és csatlakoztassa az eseménykezelőket a metódus példakódjában AddEventHandler látható módon.

Note

EventInfo nem alkalmas események kapcsán történő eseményfelhozadozásra. Az objektumok a belső állapot által diktált eseményeket vetnek fel.

Az eseményeket a meghatalmazottak használják. Az eseményfigyelő létrehoz egy eseménykezelő delegáltat, amely akkor lesz meghívva, amikor az eseményt egy eseményforrás hozza létre. Az eseményforráshoz való csatlakozáshoz az eseményfigyelő hozzáadja ezt a meghatalmazottat a forrás meghívási listájához. Az esemény létrehozásakor a rendszer meghívja az eseménykezelő delegált meghívási metódusát. A csoportos és az egycsatornás eseményértesítések egyaránt támogatottak. Add A Remove metaadatokban meg kell jelölni az eseményhez társított eseménykezelő delegált osztályt és metódusokat.

A meghatalmazottak objektumorientált függvénymutatók. C vagy C++ esetén a függvénymutató egy metódusra mutató hivatkozás. A C vagy C++ függvénymutatóval ellentétben a meghatalmazott két hivatkozást tartalmaz: egy metódusra mutató hivatkozást és egy olyan objektumra mutató hivatkozást, amely támogatja a metódust. A meghatalmazottak anélkül hívhatnak meg metódust, hogy ismerné a metódust deklaráló vagy öröklő osztálytípust. A meghatalmazottaknak csak a metódus visszatérési típusát és paraméterlistáját kell ismernie.

Az eseménymodell egyformán jól működik az egy- és csoportos küldésű meghatalmazottak esetében. A meghatalmazott meghívási metódusának meghívásakor csak egyetlen objektumhoz lesz meghívva metódus. Csoportos küldési módosító alkalmazható egy delegált deklarációra, amely több metódus meghívását teszi lehetővé a meghatalmazott meghívási metódusának meghívásakor.

ICustomAttributeProvider.GetCustomAttributes HívásEventInfo, ha a inherit paraméter GetCustomAttributestrue nem járja a típushierarchiát. Egyéni attribútumok öröklésére használható System.Attribute .

Megjegyzések az implementálókhoz

Ha örököl, EventInfofelül kell bírálnia a következő tagokat: GetAddMethod(Boolean), GetRemoveMethod(Boolean)és GetRaiseMethod(Boolean).

Konstruktorok

Name Description
EventInfo()

Inicializálja a EventInfo osztály új példányát.

Tulajdonságok

Name Description
AddMethod

Lekéri az MethodInfoAddEventHandler(Object, Delegate) esemény metódusának objektumát, beleértve a nem nyilvános metódusokat is.

Attributes

Lekéri az esemény attribútumait.

CustomAttributes

Lekéri a tag egyéni attribútumait tartalmazó gyűjteményt.

(Öröklődés forrása MemberInfo)
DeclaringType

Lekéri a tagot deklaráló osztályt.

(Öröklődés forrása MemberInfo)
EventHandlerType

Lekéri az Type eseményhez társított mögöttes eseménykezelő delegált objektumát.

IsCollectible

Olyan értéket kap, amely jelzi, hogy ez az MemberInfo objektum egy vagy több gyűjteményben tárolt szerelvényre hivatkozik-e AssemblyLoadContext.

(Öröklődés forrása MemberInfo)
IsMulticast

Beolvas egy értéket, amely jelzi, hogy az esemény csoportos küldés-e.

IsSpecialName

Egy értéket kap, amely jelzi, hogy a EventInfo névnek van-e különleges jelentése.

MemberType

MemberTypes Egy olyan értéket kap, amely azt jelzi, hogy ez a tag egy esemény.

MetadataToken

Egy metaadat-elemet azonosító értéket kap.

(Öröklődés forrása MemberInfo)
Module

Lekéri azt a modult, amelyben az aktuális MemberInfo által képviselt tagot deklaráló típus van definiálva.

(Öröklődés forrása MemberInfo)
Name

Lekéri az aktuális tag nevét.

(Öröklődés forrása MemberInfo)
RaiseMethod

Lekéri az esemény létrehozásakor meghívott metódust, beleértve a nem nyilvános metódusokat is.

ReflectedType

Lekéri a példány beszerzéséhez használt osztályobjektumot MemberInfo.

(Öröklődés forrása MemberInfo)
RemoveMethod

Lekéri az MethodInfo objektumot az esemény metódusának eltávolításához, beleértve a nem nyilvános metódusokat is.

Metódusok

Name Description
AddEventHandler(Object, Delegate)

Eseménykezelőt ad hozzá egy eseményforráshoz.

Equals(Object)

Olyan értéket ad vissza, amely jelzi, hogy ez a példány egyenlő-e egy adott objektummal.

GetAddMethod()

Az eseménykezelő delegáltjának az eseményforráshoz való hozzáadásához használt metódust adja vissza.

GetAddMethod(Boolean)

Ha egy származtatott osztályban felül van bírálva, lekéri az MethodInfo esemény metódusának objektumát AddEventHandler(Object, Delegate) , megadva, hogy nem nyilvános metódusokat szeretne-e visszaadni.

GetCustomAttributes(Boolean)

Ha egy származtatott osztályban felül van bírálva, a tagra alkalmazott összes egyéni attribútum tömbét adja vissza.

(Öröklődés forrása MemberInfo)
GetCustomAttributes(Type, Boolean)

Ha egy származtatott osztály felül van bírálva, a tagra alkalmazott és a tag által Typeazonosított egyéni attribútumokból álló tömböt ad vissza.

(Öröklődés forrása MemberInfo)
GetCustomAttributesData()

Visszaadja a CustomAttributeData céltagra alkalmazott attribútumok adatait képviselő objektumok listáját.

(Öröklődés forrása MemberInfo)
GetHashCode()

A példány kivonatkódját adja vissza.

GetOtherMethods()

Azokat a nyilvános metódusokat adja vissza, amelyek az irányelv használatával metaadatokban lévő eseményhez lettek társítva .other .

GetOtherMethods(Boolean)

A metaadatokban az eseményhez társított metódusokat adja vissza az .other irányelv használatával, megadva, hogy a nem nyilvános metódusokat is belefoglalja-e.

GetRaiseMethod()

Az esemény létrehozásakor meghívott metódust adja vissza.

GetRaiseMethod(Boolean)

Ha egy származtatott osztályban felül van bírálva, az esemény felmerülésekor meghívott metódust adja vissza, megadva, hogy nem nyilvános metódusokat szeretne-e visszaadni.

GetRemoveMethod()

Az eseménykezelő delegáltjának az eseményforrásból való eltávolításához használt módszert adja vissza.

GetRemoveMethod(Boolean)

Ha egy származtatott osztályban felül van bírálva, lekéri az objektumot az MethodInfo esemény metódusának eltávolításához, megadva, hogy nem nyilvános metódusokat szeretne-e visszaadni.

GetType()

Felderíti egy osztályesemény attribútumait, és hozzáférést biztosít az esemény metaadataihoz.

HasSameMetadataDefinitionAs(MemberInfo)

Felderíti egy esemény attribútumait, és hozzáférést biztosít az esemény metaadataihoz.

(Öröklődés forrása MemberInfo)
IsDefined(Type, Boolean)

Ha egy származtatott osztályban felül van bírálva, azt jelzi, hogy a rendszer a megadott típus vagy annak származtatott típusainak egy vagy több attribútumát alkalmazza-e erre a tagra.

(Öröklődés forrása MemberInfo)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
RemoveEventHandler(Object, Delegate)

Eltávolít egy eseménykezelőt egy eseményforrásból.

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

Operátorok

Name Description
Equality(EventInfo, EventInfo)

Azt jelzi, hogy két EventInfo objektum egyenlő-e.

Inequality(EventInfo, EventInfo)

Azt jelzi, hogy két EventInfo objektum nem egyenlő-e.

Explicit interfész-implementációk

Name Description
_EventInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Névkészletet képez le a küldési azonosítók megfelelő készletére.

_EventInfo.GetType()

A típust T:System.Type képviselő EventInfo objektumot ad vissza.

_EventInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Lekéri egy objektum típusadatait, amelyek aztán a felület típusadatainak lekérésére használhatók.

_EventInfo.GetTypeInfoCount(UInt32)

Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1).

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

Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz.

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

Névkészletet képez le a küldési azonosítók megfelelő készletére.

(Öröklődés forrása MemberInfo)
_MemberInfo.GetType()

Type Lekéri az MemberInfo osztályt jelképező objektumot.

(Öröklődés forrása MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Lekéri egy objektum típusadatait, amelyek aztán a felület típusadatainak lekérésére használhatók.

(Öröklődés forrása MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1).

(Öröklődés forrása MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz.

(Öröklődés forrása MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

A tagon definiált összes egyéni attribútum tömbjének értékét adja vissza, kivéve az elnevezett attribútumokat, vagy üres tömböt, ha nincsenek egyéni attribútumok.

(Öröklődés forrása MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

A tagon definiált egyéni attribútumokat tartalmazó tömböt ad vissza, amely típus szerint van azonosítva, vagy üres tömböt ad vissza, ha nincsenek ilyen típusú egyéni attribútumok.

(Öröklődés forrása MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

Azt jelzi, hogy egy vagy több példány attributeType van-e definiálva ezen a tagon.

(Öröklődés forrása MemberInfo)

Bővítő metódusok

Name Description
GetAddMethod(EventInfo, Boolean)

Felderíti egy esemény attribútumait, és hozzáférést biztosít az esemény metaadataihoz.

GetAddMethod(EventInfo)

Felderíti egy esemény attribútumait, és hozzáférést biztosít az esemény metaadataihoz.

GetCustomAttribute(MemberInfo, Type, Boolean)

Lekéri a megadott típusú egyéni attribútumot, amely egy adott tagra lesz alkalmazva, és opcionálisan az adott tag elődeit vizsgálja meg.

GetCustomAttribute(MemberInfo, Type)

Egy megadott típusú egyéni attribútumot kér le, amelyet egy adott tagra alkalmaz.

GetCustomAttribute<T>(MemberInfo, Boolean)

Lekéri a megadott típusú egyéni attribútumot, amely egy adott tagra lesz alkalmazva, és opcionálisan az adott tag elődeit vizsgálja meg.

GetCustomAttribute<T>(MemberInfo)

Egy megadott típusú egyéni attribútumot kér le, amelyet egy adott tagra alkalmaz.

GetCustomAttributes(MemberInfo, Boolean)

Lekéri a megadott tagra alkalmazott egyéni attribútumok gyűjteményét, és opcionálisan az adott tag őseit vizsgálja meg.

GetCustomAttributes(MemberInfo, Type, Boolean)

Lekéri a megadott típusú egyéni attribútumok gyűjteményét, amelyek egy adott tagra vonatkoznak, és opcionálisan az adott tag elődeit is érintik.

GetCustomAttributes(MemberInfo, Type)

Egy megadott típusú egyéni attribútumok gyűjteményét kéri le, amelyeket egy adott tagra alkalmaz.

GetCustomAttributes(MemberInfo)

Egy adott tagra alkalmazott egyéni attribútumok gyűjteményét kéri le.

GetCustomAttributes<T>(MemberInfo, Boolean)

Lekéri a megadott típusú egyéni attribútumok gyűjteményét, amelyek egy adott tagra vonatkoznak, és opcionálisan az adott tag elődeit is érintik.

GetCustomAttributes<T>(MemberInfo)

Egy megadott típusú egyéni attribútumok gyűjteményét kéri le, amelyeket egy adott tagra alkalmaz.

GetMetadataToken(MemberInfo)

Ha elérhető, lekéri az adott tag metaadat-jogkivonatát.

GetRaiseMethod(EventInfo, Boolean)

Felderíti egy esemény attribútumait, és hozzáférést biztosít az esemény metaadataihoz.

GetRaiseMethod(EventInfo)

Felderíti egy esemény attribútumait, és hozzáférést biztosít az esemény metaadataihoz.

GetRemoveMethod(EventInfo, Boolean)

Felderíti egy esemény attribútumait, és hozzáférést biztosít az esemény metaadataihoz.

GetRemoveMethod(EventInfo)

Felderíti egy esemény attribútumait, és hozzáférést biztosít az esemény metaadataihoz.

HasMetadataToken(MemberInfo)

Olyan értéket ad vissza, amely jelzi, hogy elérhető-e metaadat-jogkivonat a megadott tag számára.

IsDefined(MemberInfo, Type, Boolean)

Azt jelzi, hogy a megadott típusú egyéni attribútumok alkalmazhatók-e egy adott tagra, és szükség esetén alkalmazva vannak-e az elődökre.

IsDefined(MemberInfo, Type)

Azt jelzi, hogy a megadott típusú egyéni attribútumok alkalmazhatók-e egy adott tagra.

A következőre érvényes:

Szálbiztonság

Ez a típus szálbiztos.