<?xml version="1.0" encoding="utf-8"?>
<Type Name="EventDescriptor" FullName="System.ComponentModel.EventDescriptor">
  <TypeSignature Language="C#" Value="public abstract class EventDescriptor : System.ComponentModel.MemberDescriptor" Maintainer="auto" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit EventDescriptor extends System.ComponentModel.MemberDescriptor" />
  <AssemblyInfo>
    <AssemblyName>System</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey>
    <AssemblyVersion>1.0.3300.0</AssemblyVersion>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement>
  <Base>
    <BaseTypeName>System.ComponentModel.MemberDescriptor</BaseTypeName>
  </Base>
  <Interfaces />
  <Attributes>
    <Attribute>
      <AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
    </Attribute>
  </Attributes>
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>An <see cref="T:System.ComponentModel.EventDescriptor" /> consists of a name, its attributes, the component that the event is bound to, the event delegate, the type of delegate, and whether the delegate is multicast.</para>
      <para>
        <see cref="T:System.ComponentModel.EventDescriptor" /> provides the following abstract properties and methods: </para>
      <list type="bullet">
        <item>
          <para>
            <see cref="P:System.ComponentModel.EventDescriptor.ComponentType" /> contains the type of the component this event is declared on.</para>
        </item>
        <item>
          <para>
            <see cref="P:System.ComponentModel.EventDescriptor.EventType" /> contains the type of delegate for the event.</para>
        </item>
        <item>
          <para>
            <see cref="P:System.ComponentModel.EventDescriptor.IsMulticast" /> contains a value indicating whether the event delegate is a multicast delegate.</para>
        </item>
        <item>
          <para>
            <see cref="M:System.ComponentModel.EventDescriptor.AddEventHandler(System.Object,System.Delegate)" /> binds the event to a component.</para>
        </item>
        <item>
          <para>
            <see cref="M:System.ComponentModel.EventDescriptor.RemoveEventHandler(System.Object,System.Delegate)" /> unbinds the delegate from the component so that the delegate no longer receives events from the component.</para>
        </item>
      </list>
      <para>For more information about events, see <format type="text/html"><a href="f2adaf01-1ed1-42e1-8c31-8d467e7e0ee2">Raising an Event</a></format>. For more information about reflection, see the topics in <format type="text/html"><a href="d1a58e7f-fb39-4d50-bf84-e3b8f9bf9775">Reflection</a></format>.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Provides information about an event.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected EventDescriptor (System.ComponentModel.MemberDescriptor desc);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor(class System.ComponentModel.MemberDescriptor desc) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue />
      <Parameters>
        <Parameter Name="desc" Type="System.ComponentModel.MemberDescriptor" />
      </Parameters>
      <Docs>
        <param name="desc">To be added: an object of type 'MemberDescriptor'</param>
        <remarks>To be added</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.ComponentModel.EventDescriptor" /> class with the name and attributes in the specified <see cref="T:System.ComponentModel.MemberDescriptor" />.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected EventDescriptor (System.ComponentModel.MemberDescriptor desc, Attribute[] attrs);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor(class System.ComponentModel.MemberDescriptor desc, class System.Attribute[] attrs) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue />
      <Parameters>
        <Parameter Name="desc" Type="System.ComponentModel.MemberDescriptor" />
        <Parameter Name="attrs" Type="System.Attribute[]" />
      </Parameters>
      <Docs>
        <param name="desc">To be added.</param>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This constructor appends the attributes in the <see cref="T:System.Attribute" /> array to the attributes in the <see cref="T:System.ComponentModel.MemberDescriptor" />.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.ComponentModel.EventDescriptor" /> class with the name in the specified <see cref="T:System.ComponentModel.MemberDescriptor" /> and the attributes in both the <see cref="T:System.ComponentModel.MemberDescriptor" /> and the <see cref="T:System.Attribute" /> array.</para>
        </summary>
        <param name="attrs">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Attribute" /> array with the attributes you want to add to this event description. </param>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected EventDescriptor (string str, Attribute[] attrs);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor(string str, class System.Attribute[] attrs) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue />
      <Parameters>
        <Parameter Name="str" Type="System.String" />
        <Parameter Name="attrs" Type="System.Attribute[]" />
      </Parameters>
      <Docs>
        <param name="str">To be added.</param>
        <remarks>To be added</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.ComponentModel.EventDescriptor" /> class with the specified name and attribute array.</para>
        </summary>
        <param name="attrs">
          <attribution license="cc4" from="Microsoft" modified="false" />An array of type <see cref="T:System.Attribute" /> that contains the event attributes. </param>
      </Docs>
    </Member>
    <Member MemberName="AddEventHandler">
      <MemberSignature Language="C#" Value="public abstract void AddEventHandler (object component, Delegate value);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void AddEventHandler(object component, class System.Delegate value) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="component" Type="System.Object" />
        <Parameter Name="value" Type="System.Delegate" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Typically, this method is implemented through reflection. For more information about reflection, see the topics in <format type="text/html"><a href="d1a58e7f-fb39-4d50-bf84-e3b8f9bf9775">Reflection</a></format>.</para>
          <para>For more information about delegates, see <format type="text/html"><a href="d98fd58b-fa4f-4598-8378-addf4355a115">Events and Delegates</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, binds the event to the component.</para>
        </summary>
        <param name="component">
          <attribution license="cc4" from="Microsoft" modified="false" />A component that provides events to the delegate. </param>
        <param name="value">
          <attribution license="cc4" from="Microsoft" modified="false" />A delegate that represents the method that handles the event. </param>
      </Docs>
    </Member>
    <Member MemberName="ComponentType">
      <MemberSignature Language="C#" Value="public abstract Type ComponentType { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Type ComponentType" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Type</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added: an object of type 'Type'</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Typically, this property is implemented through reflection.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, gets the type of component this event is bound to.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="EventType">
      <MemberSignature Language="C#" Value="public abstract Type EventType { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Type EventType" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Type</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added: an object of type 'Type'</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Typically, this property is implemented through reflection.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, gets the type of delegate for the event.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="IsMulticast">
      <MemberSignature Language="C#" Value="public abstract bool IsMulticast { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool IsMulticast" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added: an object of type 'bool'</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Typically, this property is implemented through reflection.</para>
          <para>A multicast delegate differs from a regular delegate in that it can contain references to more than just one method. Methods in a multicast delegate are executed synchronously when the delegate is invoked, in the order in which they appear. If one of the called methods raises an exception, then the delegate ceases and the exception is propagated to the delegate caller.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, gets a value indicating whether the event delegate is a multicast delegate.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="RemoveEventHandler">
      <MemberSignature Language="C#" Value="public abstract void RemoveEventHandler (object component, Delegate value);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void RemoveEventHandler(object component, class System.Delegate value) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="component" Type="System.Object" />
        <Parameter Name="value" Type="System.Delegate" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Typically, this method is implemented through reflection. For more information, see the topics in <format type="text/html"><a href="d1a58e7f-fb39-4d50-bf84-e3b8f9bf9775">Reflection</a></format>.</para>
          <para>For more information about delegates, see <format type="text/html"><a href="d98fd58b-fa4f-4598-8378-addf4355a115">Events and Delegates</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <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>
        </summary>
        <param name="component">
          <attribution license="cc4" from="Microsoft" modified="false" />The component that the delegate is bound to. </param>
        <param name="value">
          <attribution license="cc4" from="Microsoft" modified="false" />The delegate to unbind from the component. </param>
      </Docs>
    </Member>
  </Members>
</Type>