// Needed for NET40 #if !NET_4_6 using System; namespace LinqInternal.Threading.Needles { internal interface IPromise { Exception Exception { get; } bool IsCanceled { get; } bool IsCompleted { get; } bool IsFaulted { get; } } #if NETCF internal interface IPromise : IPromise, IReadOnlyNeedle #else internal interface IPromise : IPromise, IReadOnlyNeedle #endif { // Empty } internal interface IWaitablePromise : IPromise { void Wait(); } #if NETCF public interface IWaitablePromise : IPromise, IWaitablePromise #else internal interface IWaitablePromise : IPromise, IWaitablePromise #endif { // Empty } } #endif