1
0
Эх сурвалжийг харах

Adding awaiter abstractions.

Bart De Smet 8 жил өмнө
parent
commit
51ee34a320

+ 16 - 0
AsyncRx.NET/System.Reactive.Bcl/System/IAwaitable.cs

@@ -0,0 +1,16 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information. 
+
+namespace System
+{
+    public interface IAwaitable
+    {
+        IAwaiter GetAwaiter();
+    }
+
+    public interface IAwaitable<T>
+    {
+        IAwaiter<T> GetAwaiter();
+    }
+}

+ 20 - 0
AsyncRx.NET/System.Reactive.Bcl/System/IAwaiter.cs

@@ -0,0 +1,20 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information. 
+
+using System.Runtime.CompilerServices;
+
+namespace System
+{
+    public interface IAwaiter : INotifyCompletion
+    {
+        bool IsCompleted { get; }
+        void GetResult();
+    }
+
+    public interface IAwaiter<T> : INotifyCompletion
+    {
+        bool IsCompleted { get; }
+        T GetResult();
+    }
+}