105 lines
3.7 KiB
C#
105 lines
3.7 KiB
C#
|
//------------------------------------------------------------------------------
|
||
|
// <copyright file="EventDescriptor.cs" company="Microsoft">
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
// </copyright>
|
||
|
//------------------------------------------------------------------------------
|
||
|
|
||
|
/*
|
||
|
*/
|
||
|
namespace System.ComponentModel {
|
||
|
|
||
|
using System;
|
||
|
using System.Diagnostics;
|
||
|
using System.Reflection;
|
||
|
using System.Security.Permissions;
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// Provides a description
|
||
|
/// of an event.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
[HostProtection(SharedState = true)]
|
||
|
[System.Runtime.InteropServices.ComVisible(true)]
|
||
|
public abstract class EventDescriptor : MemberDescriptor {
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// Initializes a new instance of the <see cref='System.ComponentModel.EventDescriptor'/> class with the
|
||
|
/// specified name and attribute
|
||
|
/// array.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
protected EventDescriptor(string name, Attribute[] attrs)
|
||
|
: base(name, attrs) {
|
||
|
}
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// Initializes a new instance of the <see cref='System.ComponentModel.EventDescriptor'/> class with the name and attributes in
|
||
|
/// the specified <see cref='System.ComponentModel.MemberDescriptor'/>
|
||
|
/// .
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
protected EventDescriptor(MemberDescriptor descr)
|
||
|
: base(descr) {
|
||
|
}
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// Initializes a new instance of the <see cref='System.ComponentModel.EventDescriptor'/> class with
|
||
|
/// the name in the specified <see cref='System.ComponentModel.MemberDescriptor'/> and the
|
||
|
/// attributes in both the <see cref='System.ComponentModel.MemberDescriptor'/> and the <see cref='System.Attribute'/>
|
||
|
/// array.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
protected EventDescriptor(MemberDescriptor descr, Attribute[] attrs)
|
||
|
: base(descr, attrs) {
|
||
|
}
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// When overridden in a derived
|
||
|
/// class,
|
||
|
/// gets the type of the component this event is bound to.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
public abstract Type ComponentType { get; }
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// When overridden in a derived
|
||
|
/// class, gets the type of delegate for the event.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
public abstract Type EventType { get; }
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// When overridden in a derived class, gets a value
|
||
|
/// indicating whether the event delegate is a multicast
|
||
|
/// delegate.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
public abstract bool IsMulticast { get; }
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// When overridden in
|
||
|
/// a derived class,
|
||
|
/// binds the event to the component.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
public abstract void AddEventHandler(object component, Delegate value);
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// When
|
||
|
/// overridden
|
||
|
/// in a derived class, unbinds the delegate from the
|
||
|
/// component
|
||
|
/// so that the delegate will no
|
||
|
/// longer receive events from the component.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
public abstract void RemoveEventHandler(object component, Delegate value);
|
||
|
}
|
||
|
}
|