﻿<?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>