﻿// Decompiled with JetBrains decompiler
// Type: Microsoft.Win32.TimerElapsedEventArgs
// Assembly: System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// MVID: 5ABD58FD-DF31-44FD-A492-63F2B47CC9AF
// Assembly location: C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.dll

using System;
using System.Runtime;
using System.Security.Permissions;

namespace Microsoft.Win32
{
  /// <summary>
  /// Provides data for the <see cref="E:Microsoft.Win32.SystemEvents.TimerElapsed"/> event.
  /// </summary>
  [PermissionSet(SecurityAction.InheritanceDemand, Name = "FullTrust")]
  [PermissionSet(SecurityAction.LinkDemand, Name = "FullTrust")]
  [HostProtection(SecurityAction.LinkDemand, MayLeakOnAbort = true)]
  public class TimerElapsedEventArgs : EventArgs
  {
    private readonly IntPtr timerId;

    /// <summary>
    /// Gets the ID number for the timer.
    /// </summary>
    /// 
    /// <returns>
    /// The ID number for the timer.
    /// </returns>
    public IntPtr TimerId
    {
      [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] get
      {
        return this.timerId;
      }
    }

    /// <summary>
    /// Initializes a new instance of the <see cref="T:Microsoft.Win32.TimerElapsedEventArgs"/> class.
    /// </summary>
    /// <param name="timerId">The ID number for the timer. </param>
    [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
    public TimerElapsedEventArgs(IntPtr timerId)
    {
      this.timerId = timerId;
    }
  }
}
