EventInfo Klass

Definition

Identifierar attributen för en händelse och ger åtkomst till händelsemetadata.

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
Arv
EventInfo
Härledda
Attribut
Implementeringar

Exempel

Följande kod hämtar ett EventInfo objekt för Click händelsen för Button klassen.

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

Kommentarer

EventInfo Använd klassen för att inspektera händelser och för att ansluta händelsehanterare, som du ser i exempelkoden för AddEventHandler metoden.

Note

EventInfo är inte avsett att användas för att skapa händelser. Ett objekt genererar händelser som styrs av dess interna tillstånd.

Händelser används med ombud. En händelselyssnare instansierar ett händelsehanterardelegat som anropas när händelsen genereras av en händelsekälla. För att ansluta till händelsekällan lägger händelselyssnaren till det här ombudet i listan över anrop i källan. När händelsen aktiveras anropas anropa-metoden för händelsehanterardelegaten. Både multicast- och single-cast-händelseaviseringar stöds. Metoderna Add och Remove samt den händelsehanterardelegatklass som är associerad med en händelse måste markeras i metadata.

Ombud är objektorienterade funktionspekare. I C eller C++ är en funktionspekare en referens till en metod. Till skillnad från C- eller C++-funktionspekaren innehåller ett ombud två referenser: en referens till en metod och en referens till ett objekt som stöder metoden. Ombud kan anropa en metod utan att känna till den klasstyp som deklarerar eller ärver metoden. Ombud behöver bara känna till metodens returtyp och parameterlista.

Händelsemodellen fungerar lika bra för single-cast- och multicast-delegater. När ombudets anropande metod anropas har endast ett enskilt objekt en metod som anropas. En multicast-modifierare kan tillämpas på en ombudsdeklaration, vilket gör att flera metoder kan anropas när anropa-metoden för ombudet anropas.

Anropar ICustomAttributeProvider.GetCustomAttributes när parametern inheritGetCustomAttributes för är true inte går över typhierarkin.EventInfo Använd System.Attribute för att ärva anpassade attribut.

Anteckningar till implementerare

När du ärver från EventInfomåste du åsidosätta följande medlemmar: GetAddMethod(Boolean), GetRemoveMethod(Boolean)och GetRaiseMethod(Boolean).

Konstruktorer

Name Description
EventInfo()

Initierar en ny instans av EventInfo klassen.

Egenskaper

Name Description
AddMethod

MethodInfo Hämtar objektet för AddEventHandler(Object, Delegate) händelsens metod, inklusive icke-offentliga metoder.

Attributes

Hämtar attributen för den här händelsen.

CustomAttributes

Hämtar en samling som innehåller den här medlemmens anpassade attribut.

(Ärvd från MemberInfo)
DeclaringType

Hämtar klassen som deklarerar den här medlemmen.

(Ärvd från MemberInfo)
EventHandlerType

Hämtar objektet för Type den underliggande händelsehanterardelegaten som är associerad med den här händelsen.

IsMulticast

Hämtar ett värde som anger om händelsen är multicast.

IsSpecialName

Hämtar ett värde som anger om har EventInfo ett namn med en särskild betydelse.

MemberType

Hämtar ett MemberTypes värde som anger att den här medlemmen är en händelse.

MetadataToken

Hämtar ett värde som identifierar ett metadataelement.

(Ärvd från MemberInfo)
Module

Hämtar modulen där den typ som deklarerar medlemmen som representeras av den aktuella MemberInfo definieras.

(Ärvd från MemberInfo)
Name

Hämtar namnet på den aktuella medlemmen.

(Ärvd från MemberInfo)
RaiseMethod

Hämtar den metod som anropas när händelsen aktiveras, inklusive icke-offentliga metoder.

ReflectedType

Hämtar klassobjektet som användes för att hämta den här instansen av MemberInfo.

(Ärvd från MemberInfo)
RemoveMethod

Hämtar objektet MethodInfo för att ta bort en metod för händelsen, inklusive icke-offentliga metoder.

Metoder

Name Description
AddEventHandler(Object, Delegate)

Lägger till en händelsehanterare i en händelsekälla.

Equals(Object)

Returnerar ett värde som anger om den här instansen är lika med ett angivet objekt.

GetAddMethod()

Returnerar den metod som används för att lägga till ett händelsehanterardelegat i händelsekällan.

GetAddMethod(Boolean)

När det åsidosättas i en härledd klass hämtar objektet MethodInfo för -metoden för AddEventHandler(Object, Delegate) händelsen och anger om icke-offentliga metoder ska returneras.

GetCustomAttributes(Boolean)

När den åsidosättas i en härledd klass returnerar en matris med alla anpassade attribut som tillämpas på den här medlemmen.

(Ärvd från MemberInfo)
GetCustomAttributes(Type, Boolean)

När den åsidosättas i en härledd klass returnerar en matris med anpassade attribut som tillämpas på den här medlemmen och identifieras av Type.

(Ärvd från MemberInfo)
GetCustomAttributesData()

Returnerar en lista över CustomAttributeData objekt som representerar data om de attribut som har tillämpats på målmedlemmen.

(Ärvd från MemberInfo)
GetHashCode()

Returnerar hash-koden för den här instansen.

GetOtherMethods()

Returnerar de offentliga metoder som har associerats med en händelse i metadata med hjälp av .other direktivet.

GetOtherMethods(Boolean)

Returnerar de metoder som har associerats med händelsen i metadata med hjälp av .other direktivet och anger om icke-offentliga metoder ska inkluderas.

GetRaiseMethod()

Returnerar den metod som anropas när händelsen utlöses.

GetRaiseMethod(Boolean)

När den åsidosätts i en härledd klass returnerar den metod som anropas när händelsen utlöses och anger om icke-offentliga metoder ska returneras.

GetRemoveMethod()

Returnerar den metod som används för att ta bort ett händelsehanterardelegat från händelsekällan.

GetRemoveMethod(Boolean)

När det åsidosättas i en härledd klass hämtar objektet MethodInfo för att ta bort en metod för händelsen och anger om icke-offentliga metoder ska returneras.

GetType()

Identifierar attributen för en klasshändelse och ger åtkomst till händelsemetadata.

HasSameMetadataDefinitionAs(MemberInfo)

Identifierar attributen för en händelse och ger åtkomst till händelsemetadata.

(Ärvd från MemberInfo)
IsDefined(Type, Boolean)

När det åsidosätts i en härledd klass anger om ett eller flera attribut av den angivna typen eller av dess härledda typer tillämpas på den här medlemmen.

(Ärvd från MemberInfo)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
RemoveEventHandler(Object, Delegate)

Tar bort en händelsehanterare från en händelsekälla.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Operatorer

Name Description
Equality(EventInfo, EventInfo)

Anger om två EventInfo objekt är lika med.

Inequality(EventInfo, EventInfo)

Anger om två EventInfo objekt inte är lika med.

Explicita gränssnittsimplementeringar

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

Mappar en uppsättning namn till en motsvarande uppsättning av sändningsidentifierare.

_EventInfo.GetType()

Returnerar ett T:System.Type objekt som representerar EventInfo typen.

_EventInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Hämtar typinformationen för ett objekt, som sedan kan användas för att hämta typinformationen för ett gränssnitt.

_EventInfo.GetTypeInfoCount(UInt32)

Hämtar antalet typinformationsgränssnitt som ett objekt tillhandahåller (antingen 0 eller 1).

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

Ger åtkomst till egenskaper och metoder som exponeras av ett objekt.

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

Mappar en uppsättning namn till en motsvarande uppsättning av sändningsidentifierare.

(Ärvd från MemberInfo)
_MemberInfo.GetType()

Hämtar ett Type objekt som representerar MemberInfo klassen.

(Ärvd från MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Hämtar typinformationen för ett objekt, som sedan kan användas för att hämta typinformationen för ett gränssnitt.

(Ärvd från MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Hämtar antalet typinformationsgränssnitt som ett objekt tillhandahåller (antingen 0 eller 1).

(Ärvd från MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Ger åtkomst till egenskaper och metoder som exponeras av ett objekt.

(Ärvd från MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

Returnerar en matris med alla anpassade attribut som definierats för den här medlemmen, exklusive namngivna attribut eller en tom matris om det inte finns några anpassade attribut.

(Ärvd från MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

Returnerar en matris med anpassade attribut som definierats för den här medlemmen, identifierade efter typ eller en tom matris om det inte finns några anpassade attribut av den typen.

(Ärvd från MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

Anger om en eller flera instanser av attributeType har definierats för den här medlemmen.

(Ärvd från MemberInfo)

Tilläggsmetoder

Name Description
GetAddMethod(EventInfo, Boolean)

Identifierar attributen för en händelse och ger åtkomst till händelsemetadata.

GetAddMethod(EventInfo)

Identifierar attributen för en händelse och ger åtkomst till händelsemetadata.

GetCustomAttribute(MemberInfo, Type, Boolean)

Hämtar ett anpassat attribut av en angiven typ som tillämpas på en angiven medlem och kontrollerar eventuellt den medlemmens överordnade objekt.

GetCustomAttribute(MemberInfo, Type)

Hämtar ett anpassat attribut av en angiven typ som tillämpas på en angiven medlem.

GetCustomAttribute<T>(MemberInfo, Boolean)

Hämtar ett anpassat attribut av en angiven typ som tillämpas på en angiven medlem och kontrollerar eventuellt den medlemmens överordnade objekt.

GetCustomAttribute<T>(MemberInfo)

Hämtar ett anpassat attribut av en angiven typ som tillämpas på en angiven medlem.

GetCustomAttributes(MemberInfo, Boolean)

Hämtar en samling anpassade attribut som tillämpas på en angiven medlem och kontrollerar eventuellt den medlemmens överordnade.

GetCustomAttributes(MemberInfo, Type, Boolean)

Hämtar en samling anpassade attribut av en angiven typ som tillämpas på en angiven medlem och kontrollerar eventuellt den medlemmens överordnade.

GetCustomAttributes(MemberInfo, Type)

Hämtar en samling anpassade attribut av en angiven typ som tillämpas på en angiven medlem.

GetCustomAttributes(MemberInfo)

Hämtar en samling anpassade attribut som tillämpas på en angiven medlem.

GetCustomAttributes<T>(MemberInfo, Boolean)

Hämtar en samling anpassade attribut av en angiven typ som tillämpas på en angiven medlem och kontrollerar eventuellt den medlemmens överordnade.

GetCustomAttributes<T>(MemberInfo)

Hämtar en samling anpassade attribut av en angiven typ som tillämpas på en angiven medlem.

GetRaiseMethod(EventInfo, Boolean)

Identifierar attributen för en händelse och ger åtkomst till händelsemetadata.

GetRaiseMethod(EventInfo)

Identifierar attributen för en händelse och ger åtkomst till händelsemetadata.

GetRemoveMethod(EventInfo, Boolean)

Identifierar attributen för en händelse och ger åtkomst till händelsemetadata.

GetRemoveMethod(EventInfo)

Identifierar attributen för en händelse och ger åtkomst till händelsemetadata.

IsDefined(MemberInfo, Type, Boolean)

Anger om anpassade attribut av en angiven typ tillämpas på en angiven medlem och eventuellt tillämpas på dess överordnade.

IsDefined(MemberInfo, Type)

Anger om anpassade attribut av en angiven typ tillämpas på en angiven medlem.

Gäller för

Trådsäkerhet

Den här typen är trådsäker.