This topic has not yet been rated - Rate this topic

ComAwareEventInfo Class

Permits late-bound registration of an event handler.

System.Object
  System.Reflection.MemberInfo
    System.Reflection.EventInfo
      System.Runtime.InteropServices.ComAwareEventInfo

Namespace:  System.Runtime.InteropServices
Assembly:  System.Core (in System.Core.dll)
public class ComAwareEventInfo : EventInfo

The ComAwareEventInfo type exposes the following members.

  Name Description
Public method ComAwareEventInfo Initializes a new instance of the ComAwareEventInfo class by using the specified type and a name of the event on the type.
Top
  Name Description
Public property Attributes Gets the attributes for this event. (Overrides EventInfo.Attributes.)
Public property DeclaringType Gets the class that declares this member. (Overrides MemberInfo.DeclaringType.)
Public property EventHandlerType Gets the Type object of the underlying event-handler delegate associated with this event. (Inherited from EventInfo.)
Public property IsMulticast Gets a value indicating whether the event is multicast. (Inherited from EventInfo.)
Public property IsSpecialName Gets a value indicating whether the EventInfo has a name with a special meaning. (Inherited from EventInfo.)
Public property MemberType Gets a MemberTypes value indicating that this member is an event. (Inherited from EventInfo.)
Public property MetadataToken Gets a value that identifies a metadata element. (Inherited from MemberInfo.)
Public property Module Gets the module in which the type that declares the member represented by the current MemberInfo is defined. (Inherited from MemberInfo.)
Public property Name Gets the name of the current member. (Overrides MemberInfo.Name.)
Public property ReflectedType Gets the class object that was used to initialize this instance. (Overrides MemberInfo.ReflectedType.)
Top
  Name Description
Public method AddEventHandler Attaches an event handler to a COM object. (Overrides EventInfo.AddEventHandler(Object, Delegate).)
Public method Equals Returns a value that indicates whether this instance is equal to a specified object. (Inherited from EventInfo.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetAddMethod() Returns the method used to add an event handler delegate to the event source. (Inherited from EventInfo.)
Public method GetAddMethod(Boolean) Gets the method that was used to add an event handler delegate to the event source. (Overrides EventInfo.GetAddMethod(Boolean).)
Public method GetCustomAttributes(Boolean) When overridden in a derived class, gets an array that contains all the custom attributes that are applied to this member. (Overrides MemberInfo.GetCustomAttributes(Boolean).)
Public method GetCustomAttributes(Type, Boolean) When overridden in a derived class, gets an array that contains all the custom attributes of the specified type that are applied to this member. (Overrides MemberInfo.GetCustomAttributes(Type, Boolean).)
Public method GetCustomAttributesData Returns a list of CustomAttributeData objects representing data about the attributes that have been applied to the target member. (Inherited from MemberInfo.)
Public method GetHashCode Returns the hash code for this instance. (Inherited from EventInfo.)
Public method GetOtherMethods() Returns the public methods that have been associated with an event in metadata using the .other directive. (Inherited from EventInfo.)
Public method GetOtherMethods(Boolean) Returns the methods that have been associated with the event in metadata using the .other directive, specifying whether to include non-public methods. (Inherited from EventInfo.)
Public method GetRaiseMethod() Returns the method that is called when the event is raised. (Inherited from EventInfo.)
Public method GetRaiseMethod(Boolean) When overridden in a derived class, returns the method that was called when the event was raised. (Overrides EventInfo.GetRaiseMethod(Boolean).)
Public method GetRemoveMethod() Returns the method used to remove an event handler delegate from the event source. (Inherited from EventInfo.)
Public method GetRemoveMethod(Boolean) When overridden in a derived class, retrieves the MethodInfo object for removing a method of the event. (Overrides EventInfo.GetRemoveMethod(Boolean).)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method IsDefined Indicates whether one or more instances of the specified attribute are applied to this member. (Overrides MemberInfo.IsDefined(Type, Boolean).)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method RemoveEventHandler Detaches an event handler from a COM object. (Overrides EventInfo.RemoveEventHandler(Object, Delegate).)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Top
  Name Description
Explicit interface implemetation Private method _EventInfo.GetIDsOfNames Maps a set of names to a corresponding set of dispatch identifiers. (Inherited from EventInfo.)
Explicit interface implemetation Private method _EventInfo.GetType Returns a T:System.Type object representing the EventInfo type. (Inherited from EventInfo.)
Explicit interface implemetation Private method _EventInfo.GetTypeInfo Retrieves the type information for an object, which can then be used to get the type information for an interface. (Inherited from EventInfo.)
Explicit interface implemetation Private method _EventInfo.GetTypeInfoCount Retrieves the number of type information interfaces that an object provides (either 0 or 1). (Inherited from EventInfo.)
Explicit interface implemetation Private method _EventInfo.Invoke Provides access to properties and methods exposed by an object. (Inherited from EventInfo.)
Explicit interface implemetation Private method _MemberInfo.GetIDsOfNames Maps a set of names to a corresponding set of dispatch identifiers. (Inherited from MemberInfo.)
Explicit interface implemetation Private method _MemberInfo.GetType Gets a Type object representing the MemberInfo class. (Inherited from MemberInfo.)
Explicit interface implemetation Private method _MemberInfo.GetTypeInfo Retrieves the type information for an object, which can then be used to get the type information for an interface. (Inherited from MemberInfo.)
Explicit interface implemetation Private method _MemberInfo.GetTypeInfoCount Retrieves the number of type information interfaces that an object provides (either 0 or 1). (Inherited from MemberInfo.)
Explicit interface implemetation Private method _MemberInfo.Invoke Provides access to properties and methods exposed by an object. (Inherited from MemberInfo.)
Top

Normally, compilers will automatically embed calls to the ComAwareEventInfo.AddEventHandler(Object, Delegate) and ComAwareEventInfo.RemoveEventHandler(Object, Delegate) methods instead of using regular add handler and remove handler methods for events. This occurs if the interface that the corresponding event is defined on needs to be embedded.

You can specify this by embedding the entire assembly that contains the interface by using the /link option on the compilers or by setting the Embed Interop Types property to True in Visual Studio.

The ComAwareEventInfo type derives from the EventInfo class and overrides the EventInfo.AddEventHandler(Object, Delegate) and EventInfo.RemoveEventHandler(Object, Delegate) methods.

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ