using System;
using System.Diagnostics;
+#if NET_4_5
+using System.Threading.Tasks;
+#endif
#if NET_4_0
namespace System.Threading
return handle;
}
}
+
+#if NET_4_5
+ public Task WaitAsync ()
+ {
+ return Task.Factory.StartNew (() => Wait ());
+ }
+
+ public Task WaitAsync (CancellationToken cancellationToken)
+ {
+ return Task.Factory.StartNew (() => Wait (cancellationToken), cancellationToken);
+ }
+
+ public Task<bool> WaitAsync (int millisecondsTimeout)
+ {
+ return Task.Factory.StartNew (() => Wait (millisecondsTimeout));
+ }
+
+ public Task<bool> WaitAsync (TimeSpan timeout)
+ {
+ return Task.Factory.StartNew (() => Wait (timeout));
+ }
+
+ public Task<bool> WaitAsync (int millisecondsTimeout, CancellationToken cancellationToken)
+ {
+ return Task.Factory.StartNew (() => Wait (millisecondsTimeout, cancellationToken), cancellationToken);
+ }
+
+ public Task<bool> WaitAsync (TimeSpan timeout, CancellationToken cancellationToken)
+ {
+ return Task.Factory.StartNew (() => Wait (timeout, cancellationToken), cancellationToken);
+ }
+#endif
+
}
}
#endif