<?xml version="1.0" encoding="utf-8"?>
<Type Name="ElapsedEventArgs" FullName="System.Timers.ElapsedEventArgs">
  <TypeSignature Language="C#" Maintainer="auto" Value="public class ElapsedEventArgs : EventArgs" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ElapsedEventArgs extends System.EventArgs" />
  <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.EventArgs</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <remarks>
      <para>This class provides data for the <see cref="E:System.Timers.Timer.Elapsed" /> event. The <see cref="P:System.Timers.ElapsedEventArgs.SignalTime" /> property returns a <see cref="T:System.DateTime" /> structure identifying the time when the timer was signalled.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Provides data for the <see cref="E:System.Timers.Timer.Elapsed" /> event.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName="SignalTime">
      <MemberSignature Language="C#" Value="public DateTime SignalTime { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance valuetype System.DateTime SignalTime" />
      <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.DateTime</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added: an object of type 'DateTime'</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="E:System.Timers.Timer.Elapsed" /> event is raised on a <see cref="T:System.Threading.ThreadPool" /> thread, so the event-handling method might run on one thread at the same time that a call to the <see cref="M:System.Timers.Timer.Stop" /> method runs on another thread. This might result in the <see cref="E:System.Timers.Timer.Elapsed" /> event being raised after the <see cref="M:System.Timers.Timer.Stop" /> method is called. This race condition cannot be prevented simply by comparing the <see cref="P:System.Timers.ElapsedEventArgs.SignalTime" /> property with the time when the <see cref="M:System.Timers.Timer.Stop" /> method is called, because the event-handling method might already be executing when the <see cref="M:System.Timers.Timer.Stop" /> method is called, or might begin executing between the moment when the <see cref="M:System.Timers.Timer.Stop" /> method is called and the moment when the stop time is saved. If it is critical to prevent the thread that calls the <see cref="M:System.Timers.Timer.Stop" /> method from proceeding while the event-handling method is still executing, use a more robust synchronization mechanism such as the <see cref="T:System.Threading.Monitor" /> class or the <see cref="Overload:System.Threading.Interlocked.CompareExchange" /> method. Code that uses the <see cref="Overload:System.Threading.Interlocked.CompareExchange" /> method can be found in the example for the <see cref="M:System.Timers.Timer.Stop" /> method.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the time the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</para>
        </summary>
      </Docs>
    </Member>
  </Members>
</Type>