using System;
using System.Runtime.InteropServices;
namespace System.ComponentModel
{
/// Provides information about an event.
// Token: 0x0200007E RID: 126
[ComVisible(true)]
public abstract class EventDescriptor : MemberDescriptor
{
/// Initializes a new instance of the class with the name and attributes in the specified .
/// A that contains the name of the event and its attributes.
// Token: 0x0600046E RID: 1134 RVA: 0x0000D078 File Offset: 0x0000B278
protected EventDescriptor(MemberDescriptor desc)
: base(desc)
{
}
/// Initializes a new instance of the class with the name in the specified and the attributes in both the and the array.
/// A that has the name of the member and its attributes.
/// An array with the attributes you want to add to this event description.
// Token: 0x0600046F RID: 1135 RVA: 0x0000D084 File Offset: 0x0000B284
protected EventDescriptor(MemberDescriptor desc, Attribute[] attrs)
: base(desc, attrs)
{
}
/// Initializes a new instance of the class with the specified name and attribute array.
/// The name of the event.
/// An array of type that contains the event attributes.
// Token: 0x06000470 RID: 1136 RVA: 0x0000D090 File Offset: 0x0000B290
protected EventDescriptor(string str, Attribute[] attrs)
: base(str, attrs)
{
}
/// When overridden in a derived class, binds the event to the component.
/// A component that provides events to the delegate.
/// A delegate that represents the method that handles the event.
// Token: 0x06000471 RID: 1137
public abstract void AddEventHandler(object component, Delegate value);
/// When overridden in a derived class, unbinds the delegate from the component so that the delegate will no longer receive events from the component.
/// The component that the delegate is bound to.
/// The delegate to unbind from the component.
// Token: 0x06000472 RID: 1138
public abstract void RemoveEventHandler(object component, Delegate value);
/// When overridden in a derived class, gets the type of component this event is bound to.
/// A that represents the type of component the event is bound to.
// Token: 0x1700012B RID: 299
// (get) Token: 0x06000473 RID: 1139
public abstract Type ComponentType { get; }
/// When overridden in a derived class, gets the type of delegate for the event.
/// A that represents the type of delegate for the event.
// Token: 0x1700012C RID: 300
// (get) Token: 0x06000474 RID: 1140
public abstract Type EventType { get; }
/// When overridden in a derived class, gets a value indicating whether the event delegate is a multicast delegate.
/// true if the event delegate is multicast; otherwise, false.
// Token: 0x1700012D RID: 301
// (get) Token: 0x06000475 RID: 1141
public abstract bool IsMulticast { get; }
}
}