﻿<?xml version="1.0" encoding="utf-8"?><Type Name="CountdownEvent" FullName="System.Threading.CountdownEvent"><TypeSignature Language="C#" Value="public class CountdownEvent : IDisposable" /><TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit CountdownEvent extends System.Object implements class System.IDisposable" /><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Base><BaseTypeName>System.Object</BaseTypeName></Base><Interfaces><Interface><InterfaceName>System.IDisposable</InterfaceName></Interface></Interfaces><Attributes><Attribute><AttributeName>System.Diagnostics.DebuggerDisplay("Initial Count={InitialCount}, Current Count={CurrentCount}")</AttributeName></Attribute></Attributes><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Represents a synchronization primitive that is signaled when its count reaches zero.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public CountdownEvent (int initialCount);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(int32 initialCount) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Parameters><Parameter Name="initialCount" Type="System.Int32" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>iI <paramref name="initialCount" /> is 0, the event is created in a signaled state.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of <see cref="T:System.Threading.CountdownEvent" /> class with the specified count.</para></summary><param name="initialCount"><attribution license="cc4" from="Microsoft" modified="false" />The number of signals initially required to set the <see cref="T:System.Threading.CountdownEvent" />.</param></Docs></Member><Member MemberName="AddCount"><MemberSignature Language="C#" Value="public void AddCount ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddCount() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Increments the <see cref="T:System.Threading.CountdownEvent" />'s current count by one.</para></summary></Docs></Member><Member MemberName="AddCount"><MemberSignature Language="C#" Value="public void AddCount (int signalCount);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddCount(int32 signalCount) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="signalCount" Type="System.Int32" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Increments the <see cref="T:System.Threading.CountdownEvent" />'s current count by a specified value.</para></summary><param name="signalCount"><attribution license="cc4" from="Microsoft" modified="false" />The value by which to increase <see cref="P:System.Threading.CountdownEvent.CurrentCount" />.</param></Docs></Member><Member MemberName="CurrentCount"><MemberSignature Language="C#" Value="public int CurrentCount { get; }" /><MemberSignature Language="ILAsm" Value=".property instance int32 CurrentCount" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the number of remaining signals required to set the event.</para></summary></Docs></Member><Member MemberName="Dispose"><MemberSignature Language="C#" Value="public void Dispose ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Dispose() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Call Dispose when you are finished using the <see cref="T:System.Threading.CountdownEvent" />. The Dispose method leaves the <see cref="T:System.Threading.CountdownEvent" /> in an unusable state. After calling Dispose, you must release all references to the <see cref="T:System.Threading.CountdownEvent" /> so the garbage collector can reclaim the memory that the <see cref="T:System.Threading.CountdownEvent" /> was occupying.</para><para>For more information, see <format type="text/html"><a href="A17B0066-71C2-4BA4-9822-8E19332FC213">Cleaning Up Unmanaged Resources</a></format> and <format type="text/html"><a href="eb4e1af0-3b48-4fbc-ad4e-fc2f64138bf9">Implementing a Dispose Method</a></format>.</para><block subset="none" type="note"><para>Always call Dispose before you release your last reference to the <see cref="T:System.Threading.CountdownEvent" />. Otherwise, the resources it is using will not be freed until the garbage collector calls the <see cref="T:System.Threading.CountdownEvent" /> object's Finalize method.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Releases all resources used by the current instance of the <see cref="T:System.Threading.CountdownEvent" /> class.</para></summary></Docs></Member><Member MemberName="Dispose"><MemberSignature Language="C#" Value="protected virtual void Dispose (bool disposing);" /><MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void Dispose(bool disposing) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="disposing" Type="System.Boolean" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Unlike most of the members of <see cref="T:System.Threading.CountdownEvent" />, <see cref="M:System.Threading.CountdownEvent.Dispose" /> is not thread-safe and may not be used concurrently with other members of this instance.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Releases the unmanaged resources used by the <see cref="T:System.Threading.CountdownEvent" />, and optionally releases the managed resources.</para></summary><param name="disposing"><attribution license="cc4" from="Microsoft" modified="false" />true to release both managed and unmanaged resources; false to release only unmanaged resources.</param></Docs></Member><Member MemberName="InitialCount"><MemberSignature Language="C#" Value="public int InitialCount { get; }" /><MemberSignature Language="ILAsm" Value=".property instance int32 InitialCount" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the numbers of signals initially required to set the event.</para></summary></Docs></Member><Member MemberName="IsSet"><MemberSignature Language="C#" Value="public bool IsSet { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool IsSet" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Determines whether the event is set.</para></summary></Docs></Member><Member MemberName="Reset"><MemberSignature Language="C#" Value="public void Reset ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Reset() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Unlike most of the members of <see cref="T:System.Threading.CountdownEvent" />, Reset is not thread-safe and may not be used concurrently with other members of this instance.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Resets the <see cref="P:System.Threading.CountdownEvent.CurrentCount" /> to the value of <see cref="P:System.Threading.CountdownEvent.InitialCount" />.</para></summary></Docs></Member><Member MemberName="Reset"><MemberSignature Language="C#" Value="public void Reset (int count);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Reset(int32 count) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="count" Type="System.Int32" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method resets <see cref="P:System.Threading.CountdownEvent.InitialCount" /> for all subsequent accesses of the property on the current instance. Unlike most of the members of <see cref="T:System.Threading.CountdownEvent" />, Reset is not thread-safe and may not be used concurrently with other members of this instance.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Resets the <see cref="P:System.Threading.CountdownEvent.InitialCount" /> property to a specified value.</para></summary><param name="count"><attribution license="cc4" from="Microsoft" modified="false" />The number of signals required to set the <see cref="T:System.Threading.CountdownEvent" />.</param></Docs></Member><Member MemberName="Signal"><MemberSignature Language="C#" Value="public bool Signal ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool Signal() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Registers a signal with the <see cref="T:System.Threading.CountdownEvent" />, decrementing the value of <see cref="P:System.Threading.CountdownEvent.CurrentCount" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the signal caused the count to reach zero and the event was set; otherwise, false.</para></returns></Docs></Member><Member MemberName="Signal"><MemberSignature Language="C#" Value="public bool Signal (int signalCount);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool Signal(int32 signalCount) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="signalCount" Type="System.Int32" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Registers multiple signals with the <see cref="T:System.Threading.CountdownEvent" />, decrementing the value of <see cref="P:System.Threading.CountdownEvent.CurrentCount" /> by the specified amount.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the signals caused the count to reach zero and the event was set; otherwise, false.</para></returns><param name="signalCount"><attribution license="cc4" from="Microsoft" modified="false" />The number of signals to register.</param></Docs></Member><Member MemberName="TryAddCount"><MemberSignature Language="C#" Value="public bool TryAddCount ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool TryAddCount() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Attempts to increment <see cref="P:System.Threading.CountdownEvent.CurrentCount" /> by one.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the increment succeeded; otherwise, false. If <see cref="P:System.Threading.CountdownEvent.CurrentCount" /> is already at zero, this method will return false.</para></returns></Docs></Member><Member MemberName="TryAddCount"><MemberSignature Language="C#" Value="public bool TryAddCount (int signalCount);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool TryAddCount(int32 signalCount) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="signalCount" Type="System.Int32" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Attempts to increment <see cref="P:System.Threading.CountdownEvent.CurrentCount" /> by a specified value.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the increment succeeded; otherwise, false. If <see cref="P:System.Threading.CountdownEvent.CurrentCount" /> is already at zero this will return false.</para></returns><param name="signalCount"><attribution license="cc4" from="Microsoft" modified="false" />The value by which to increase <see cref="P:System.Threading.CountdownEvent.CurrentCount" />.</param></Docs></Member><Member MemberName="Wait"><MemberSignature Language="C#" Value="public void Wait ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Wait() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The caller of this method blocks indefinitely until the current instance is set. The caller will return immediately if the event is currently in a set state.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent" /> is set.</para></summary></Docs></Member><Member MemberName="Wait"><MemberSignature Language="C#" Value="public bool Wait (int millisecondsTimeout);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool Wait(int32 millisecondsTimeout) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="millisecondsTimeout" Type="System.Int32" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent" /> is set, using a 32-bit signed integer to measure the timeout.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the <see cref="T:System.Threading.CountdownEvent" /> was set; otherwise, false.</para></returns><param name="millisecondsTimeout"><attribution license="cc4" from="Microsoft" modified="false" />The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite" />(-1) to wait indefinitely.</param></Docs></Member><Member MemberName="Wait"><MemberSignature Language="C#" Value="public void Wait (System.Threading.CancellationToken cancellationToken);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Wait(valuetype System.Threading.CancellationToken cancellationToken) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="cancellationToken" Type="System.Threading.CancellationToken" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The caller of this method blocks indefinitely until the current instance is set. The caller will return immediately if the event is currently in a set state. If the <see cref="T:System.Threading.CancellationToken" /> being observed is canceled during the wait operation, an <see cref="T:System.OperationCanceledException" /> will be thrown.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent" /> is set, while observing a <see cref="T:System.Threading.CancellationToken" />.</para></summary><param name="cancellationToken"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Threading.CancellationToken" /> to observe.</param></Docs></Member><Member MemberName="Wait"><MemberSignature Language="C#" Value="public bool Wait (TimeSpan timeout);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool Wait(valuetype System.TimeSpan timeout) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="timeout" Type="System.TimeSpan" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent" /> is set, using a <see cref="T:System.TimeSpan" /> to measure the timeout.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the <see cref="T:System.Threading.CountdownEvent" /> was set; otherwise, false.</para></returns><param name="timeout"><attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.TimeSpan" /> that represents the number of milliseconds to wait, or a <see cref="T:System.TimeSpan" /> that represents -1 milliseconds to wait indefinitely.</param></Docs></Member><Member MemberName="Wait"><MemberSignature Language="C#" Value="public bool Wait (int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool Wait(int32 millisecondsTimeout, valuetype System.Threading.CancellationToken cancellationToken) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="millisecondsTimeout" Type="System.Int32" /><Parameter Name="cancellationToken" Type="System.Threading.CancellationToken" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent" /> is set, using a 32-bit signed integer to measure the timeout, while observing a <see cref="T:System.Threading.CancellationToken" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the <see cref="T:System.Threading.CountdownEvent" /> was set; otherwise, false.</para></returns><param name="millisecondsTimeout"><attribution license="cc4" from="Microsoft" modified="false" />The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite" />(-1) to wait indefinitely.</param><param name="cancellationToken"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Threading.CancellationToken" /> to observe.</param></Docs></Member><Member MemberName="Wait"><MemberSignature Language="C#" Value="public bool Wait (TimeSpan timeout, System.Threading.CancellationToken cancellationToken);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool Wait(valuetype System.TimeSpan timeout, valuetype System.Threading.CancellationToken cancellationToken) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="timeout" Type="System.TimeSpan" /><Parameter Name="cancellationToken" Type="System.Threading.CancellationToken" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent" /> is set, using a <see cref="T:System.TimeSpan" /> to measure the timeout, while observing a <see cref="T:System.Threading.CancellationToken" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the <see cref="T:System.Threading.CountdownEvent" /> was set; otherwise, false.</para></returns><param name="timeout"><attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.TimeSpan" /> that represents the number of milliseconds to wait, or a <see cref="T:System.TimeSpan" /> that represents -1 milliseconds to wait indefinitely.</param><param name="cancellationToken"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Threading.CancellationToken" /> to observe.</param></Docs></Member><Member MemberName="WaitHandle"><MemberSignature Language="C#" Value="public System.Threading.WaitHandle WaitHandle { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Threading.WaitHandle WaitHandle" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Threading.WaitHandle</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para><see cref="P:System.Threading.CountdownEvent.WaitHandle" /> should only be used if it's needed for integration with code bases that rely on having a WaitHandle. If all that's needed is to wait for the <see cref="T:System.Threading.CountdownEvent" /> to be set, the <see cref="M:System.Threading.CountdownEvent.Wait" /> method should be preferred.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a <see cref="T:System.Threading.WaitHandle" /> that is used to wait for the event to be set.</para></summary></Docs></Member></Members></Type>