Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/rx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Rx/NET/Source')
-rw-r--r--Rx/NET/Source/.nuget/NuGet.Config6
-rw-r--r--Rx/NET/Source/.nuget/NuGet.exebin0 -> 1611440 bytes
-rw-r--r--Rx/NET/Source/.nuget/NuGet.targets136
-rw-r--r--Rx/NET/Source/35MSSharedLib1024.snkbin0 -> 160 bytes
-rw-r--r--Rx/NET/Source/BuildAll.proj6
-rw-r--r--Rx/NET/Source/Common.targets127
-rw-r--r--Rx/NET/Source/Import.targets53
-rw-r--r--Rx/NET/Source/Local.testsettings16
-rw-r--r--Rx/NET/Source/Microsoft.Reactive.Testing/Properties/AssemblyInfo.cs12
-rw-r--r--Rx/NET/Source/Microsoft.Reactive.Testing/ReactiveTest.cs26
-rw-r--r--Rx/NET/Source/Playground/Playground.csproj2
-rw-r--r--Rx/NET/Source/Rx.sln1087
-rw-r--r--Rx/NET/Source/System.Reactive.Core/Properties/AssemblyInfo.cs14
-rw-r--r--Rx/NET/Source/System.Reactive.Core/Reactive/Concurrency/ConcurrencyAbstractionLayer.Default.cs132
-rw-r--r--Rx/NET/Source/System.Reactive.Core/Reactive/Concurrency/LocalScheduler.TimerQueue.cs12
-rw-r--r--Rx/NET/Source/System.Reactive.Core/Reactive/Concurrency/Synchronization.ObserveOn.cs6
-rw-r--r--Rx/NET/Source/System.Reactive.Core/Reactive/Internal/ConcurrentDictionary.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Core/Reactive/Internal/PlatformEnlightenmentProvider.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Core/Reactive/Internal/Semaphore.Silverlight.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Core/Strings_Core.Generated.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Core/System.Reactive.Core.csproj11
-rw-r--r--Rx/NET/Source/System.Reactive.Core/packages.config4
-rw-r--r--Rx/NET/Source/System.Reactive.Debugger/Properties/AssemblyInfo.cs14
-rw-r--r--Rx/NET/Source/System.Reactive.Debugger/System.Reactive.Debugger.csproj2
-rw-r--r--Rx/NET/Source/System.Reactive.Experimental/Properties/AssemblyInfo.cs14
-rw-r--r--Rx/NET/Source/System.Reactive.Experimental/Reactive/Linq/QbservableEx.Generated.cs3
-rw-r--r--Rx/NET/Source/System.Reactive.Experimental/System.Reactive.Experimental.csproj2
-rw-r--r--Rx/NET/Source/System.Reactive.Interfaces/IObservable.cs5
-rw-r--r--Rx/NET/Source/System.Reactive.Interfaces/IObserver.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Interfaces/Properties/AssemblyInfo.cs16
-rw-r--r--Rx/NET/Source/System.Reactive.Interfaces/System.Reactive.Interfaces.csproj2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/GlobalSuppressions.cs322
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Properties/AssemblyInfo.cs15
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Internal/Helpers.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Internal/ReflectionUtils.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/IQueryLanguage.cs23
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Blocking.cs14
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Concurrency.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Creation.cs6
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Imperative.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Multiple.cs13
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Single.cs6
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.StandardSequenceOperators.cs367
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/AddRef.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Aggregate.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/All.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Amb.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Any.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/AsObservable.cs4
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Average.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Buffer.cs40
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Case.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Cast.cs4
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Catch.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Collect.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/CombineLatest.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Concat.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Contains.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Count.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DefaultIfEmpty.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Defer.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Delay.cs26
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DelaySubscription.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Dematerialize.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Distinct.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DistinctUntilChanged.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Do.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DoWhile.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ElementAt.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Empty.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Finally.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/FirstAsync.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/For.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ForEach.cs6
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/FromEvent.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/FromEventPattern.cs16
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Generate.cs14
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GetEnumerator.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GroupBy.cs16
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GroupByUntil.cs58
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GroupJoin.cs30
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/If.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/IgnoreElements.cs4
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/IsEmpty.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Join.cs30
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/LastAsync.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Latest.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/LongCount.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Materialize.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Max.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/MaxBy.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Merge.cs28
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Min.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/MinBy.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/MostRecent.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Multicast.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Never.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Next.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ObserveOn.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/OfType.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/OnErrorResumeNext.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/PushToPullAdapter.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Range.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/RefCount.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Repeat.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Return.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Sample.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Scan.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Select.cs12
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SelectMany.cs962
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SequenceEqual.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SingleAsync.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Skip.cs12
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SkipLast.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SkipUntil.cs4
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SkipWhile.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Sum.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Switch.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Synchronize.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Take.cs12
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeLast.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeLastBuffer.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeUntil.cs4
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeWhile.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Throttle.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Throw.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TimeInterval.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Timeout.cs20
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Timer.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Timestamp.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToArray.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToDictionary.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToList.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToLookup.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToObservable.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Using.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Where.cs10
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/While.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Window.cs40
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Zip.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/_.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Aggregates.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Binding.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Blocking.cs4
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Concurrency.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Conversions.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Creation.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Events.cs18
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Imperative.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Multiple.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Single.cs6
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.StandardSequenceOperators.cs212
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Time.cs10
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Subjects/BehaviorSubject.cs32
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Strings_Linq.Generated.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/System.Reactive.Linq.csproj2
-rw-r--r--Rx/NET/Source/System.Reactive.Observable.Aliases/Observable.Aliases.cs422
-rw-r--r--Rx/NET/Source/System.Reactive.Observable.Aliases/Qbservable.Aliases.Generated.cs449
-rw-r--r--Rx/NET/Source/System.Reactive.Observable.Aliases/System.Reactive.Observable.Aliases.csproj59
-rw-r--r--Rx/NET/Source/System.Reactive.PlatformServices/Properties/AssemblyInfo.cs14
-rw-r--r--Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Concurrency/ConcurrencyAbstractionLayerImpl.cs52
-rw-r--r--Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Concurrency/EventLoopScheduler.cs10
-rw-r--r--Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Concurrency/TaskPoolScheduler.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Internal/PlatformEnlightenmentProvider.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.PlatformServices/Strings_PlatformServices.Generated.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.PlatformServices/System.Reactive.PlatformServices.csproj2
-rw-r--r--Rx/NET/Source/System.Reactive.Providers/Properties/AssemblyInfo.cs12
-rw-r--r--Rx/NET/Source/System.Reactive.Providers/Reactive/Linq/Qbservable.Generated.cs832
-rw-r--r--Rx/NET/Source/System.Reactive.Providers/Reactive/ObservableQuery.cs8
-rw-r--r--Rx/NET/Source/System.Reactive.Providers/Strings_Providers.Generated.cs2
-rw-r--r--Rx/NET/Source/System.Reactive.Providers/System.Reactive.Providers.csproj2
-rw-r--r--Rx/NET/Source/System.Reactive.Runtime.Remoting/Properties/AssemblyInfo.cs12
-rw-r--r--Rx/NET/Source/System.Reactive.Windows.Forms/Properties/AssemblyInfo.cs12
-rw-r--r--Rx/NET/Source/System.Reactive.Windows.Threading/Properties/AssemblyInfo.cs14
-rw-r--r--Rx/NET/Source/System.Reactive.WindowsRuntime/Properties/AssemblyInfo.cs12
-rw-r--r--Rx/NET/Source/System.Reactive.WindowsRuntime/System.Reactive.WindowsRuntime.csproj52
-rw-r--r--Rx/NET/Source/Tests.System.Reactive/Dummies/DummyFunc.cs10
-rw-r--r--Rx/NET/Source/Tests.System.Reactive/Properties/AssemblyInfo.cs5
-rw-r--r--Rx/NET/Source/Tests.System.Reactive/Stress/Core/Schedulers/EventLoop.cs67
-rw-r--r--Rx/NET/Source/Tests.System.Reactive/Tests.System.Reactive.csproj10
-rw-r--r--Rx/NET/Source/Tests.System.Reactive/Tests/Aliases.cs30
-rw-r--r--Rx/NET/Source/Tests.System.Reactive/Tests/Concurrency/EventLoopSchedulerTest.cs11
-rw-r--r--Rx/NET/Source/Tests.System.Reactive/Tests/DefaultConcurrencyAbstractionLayerTest.cs78
-rw-r--r--Rx/NET/Source/Tests.System.Reactive/Tests/Linq/ObservableStandardQueryOperatorTest.cs6870
-rw-r--r--Rx/NET/Source/Tests.System.Reactive/Tests/Linq/ObservableTimeTest.cs42
-rw-r--r--Rx/NET/Source/Tests.System.Reactive/Tests/Linq/Subjects/BehaviorSubjectTest.cs71
-rw-r--r--Rx/NET/Source/packages.config6
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/License.rtf505
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/Microsoft.Bcl.1.0.19.nupkgbin0 -> 882543 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/Microsoft.Bcl.1.0.19.nuspec39
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/ReleaseNotes.txt24
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/net45/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/portable-net45+win8+wp8/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/sl4/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/sl5/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/win8/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/wp8/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/System.Runtime.dllbin0 -> 22128 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/System.Runtime.xml56
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/System.Threading.Tasks.dllbin0 -> 34960 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/System.Threading.Tasks.xml475
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/ensureRedirect.xml0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net45/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/System.Runtime.dllbin0 -> 39024 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/System.Runtime.xml860
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/System.Threading.Tasks.dllbin0 -> 164496 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/System.Threading.Tasks.xml8969
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/ensureRedirect.xml0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/System.Runtime.dllbin0 -> 22128 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/System.Runtime.xml56
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/System.Threading.Tasks.dllbin0 -> 164496 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/System.Threading.Tasks.xml8969
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/ensureRedirect.xml0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/System.Runtime.dllbin0 -> 22128 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/System.Runtime.xml56
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/System.Threading.Tasks.dllbin0 -> 164496 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/System.Threading.Tasks.xml8969
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/ensureRedirect.xml0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/System.Runtime.dllbin0 -> 22128 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/System.Runtime.xml56
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/System.Threading.Tasks.dllbin0 -> 34960 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/System.Threading.Tasks.xml475
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/ensureRedirect.xml0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/System.Runtime.dllbin0 -> 22128 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/System.Runtime.xml56
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/System.Threading.Tasks.dllbin0 -> 34960 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/System.Threading.Tasks.xml475
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/ensureRedirect.xml0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/System.Runtime.dllbin0 -> 22128 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/System.Runtime.xml56
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/System.Threading.Tasks.dllbin0 -> 34960 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/System.Threading.Tasks.xml475
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/ensureRedirect.xml0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net45+win8+wp8/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/System.Runtime.dllbin0 -> 39024 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/System.Runtime.xml860
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/System.Threading.Tasks.dllbin0 -> 164496 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/System.Threading.Tasks.xml8969
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/ensureRedirect.xml0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4/System.Runtime.dllbin0 -> 22128 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4/System.Runtime.xml56
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4/System.Threading.Tasks.dllbin0 -> 164496 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4/System.Threading.Tasks.xml8969
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl5/System.Runtime.dllbin0 -> 22128 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl5/System.Runtime.xml56
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl5/System.Threading.Tasks.dllbin0 -> 34960 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl5/System.Threading.Tasks.xml475
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/win8/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/wp8/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/License.rtf522
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/Microsoft.Bcl.Async.1.0.16.nupkgbin0 -> 504369 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/Microsoft.Bcl.Async.1.0.16.nuspec33
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/ReleaseNotes.txt18
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.Extensions.Desktop.dllbin0 -> 47344 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.Extensions.Desktop.xml684
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.Extensions.dllbin0 -> 31440 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.Extensions.xml275
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.dllbin0 -> 37024 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.xml630
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net45/Microsoft.Threading.Tasks.Extensions.dllbin0 -> 31440 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net45/Microsoft.Threading.Tasks.Extensions.xml275
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net45/Microsoft.Threading.Tasks.dllbin0 -> 37024 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net45/Microsoft.Threading.Tasks.xml630
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.Extensions.dllbin0 -> 31440 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.Extensions.xml275
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.dllbin0 -> 37024 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.xml630
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.Extensions.dllbin0 -> 31440 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.Extensions.xml275
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.dllbin0 -> 37024 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.xml630
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8/Microsoft.Threading.Tasks.Extensions.dllbin0 -> 31440 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8/Microsoft.Threading.Tasks.Extensions.xml275
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8/Microsoft.Threading.Tasks.dllbin0 -> 37024 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8/Microsoft.Threading.Tasks.xml630
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.Phone.dllbin0 -> 28896 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.Phone.xml141
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.dllbin0 -> 31440 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.xml275
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.dllbin0 -> 37024 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.xml630
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.Extensions.Silverlight.dllbin0 -> 28928 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.Extensions.Silverlight.xml141
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.Extensions.dllbin0 -> 31440 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.Extensions.xml275
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.dllbin0 -> 37024 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.xml630
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/win8/Microsoft.Threading.Tasks.Extensions.dllbin0 -> 31440 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/win8/Microsoft.Threading.Tasks.Extensions.xml275
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/win8/Microsoft.Threading.Tasks.dllbin0 -> 37024 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/win8/Microsoft.Threading.Tasks.xml630
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.Extensions.Phone.dllbin0 -> 28896 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.Extensions.Phone.xml141
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.Extensions.dllbin0 -> 31440 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.Extensions.xml275
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.dllbin0 -> 37024 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.xml630
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/License-Stable.rtf505
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/Microsoft.Bcl.Build.1.0.10.nupkgbin0 -> 46014 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/Microsoft.Bcl.Build.1.0.10.nuspec21
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/net40/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/netcore45/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/portable-net40+win8+sl4+wp71/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/sl4-windowsphone71/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/sl4/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/tools/Install.ps137
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/tools/Microsoft.Bcl.Build.targets232
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/tools/Uninstall.ps125
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/License.rtf505
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/Microsoft.Bcl.Build.1.0.4.nupkgbin0 -> 33316 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/Microsoft.Bcl.Build.1.0.4.nuspec19
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/net40/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/netcore45/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/portable-net40+win8+sl4+wp71/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/sl4-windowsphone71/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/sl4/_._0
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/tools/Install.ps118
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/tools/Microsoft.Bcl.Build.Tasks.dllbin0 -> 17920 bytes
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/tools/Microsoft.Bcl.Build.targets227
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/tools/Uninstall.ps113
-rw-r--r--Rx/NET/Source/packages/repositories.config4
321 files changed, 73123 insertions, 1870 deletions
diff --git a/Rx/NET/Source/.nuget/NuGet.Config b/Rx/NET/Source/.nuget/NuGet.Config
new file mode 100644
index 0000000..67f8ea0
--- /dev/null
+++ b/Rx/NET/Source/.nuget/NuGet.Config
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <solution>
+ <add key="disableSourceControlIntegration" value="true" />
+ </solution>
+</configuration> \ No newline at end of file
diff --git a/Rx/NET/Source/.nuget/NuGet.exe b/Rx/NET/Source/.nuget/NuGet.exe
new file mode 100644
index 0000000..63c19c9
--- /dev/null
+++ b/Rx/NET/Source/.nuget/NuGet.exe
Binary files differ
diff --git a/Rx/NET/Source/.nuget/NuGet.targets b/Rx/NET/Source/.nuget/NuGet.targets
new file mode 100644
index 0000000..83fe906
--- /dev/null
+++ b/Rx/NET/Source/.nuget/NuGet.targets
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(MSBuildProjectDirectory)\..\</SolutionDir>
+
+ <!-- Enable the restore command to run before builds -->
+ <RestorePackages Condition=" '$(RestorePackages)' == '' ">false</RestorePackages>
+
+ <!-- Property that enables building a package from a project -->
+ <BuildPackage Condition=" '$(BuildPackage)' == '' ">false</BuildPackage>
+
+ <!-- Determines if package restore consent is required to restore packages -->
+ <RequireRestoreConsent Condition=" '$(RequireRestoreConsent)' != 'false' ">true</RequireRestoreConsent>
+
+ <!-- Download NuGet.exe if it does not already exist -->
+ <DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">false</DownloadNuGetExe>
+ </PropertyGroup>
+
+ <ItemGroup Condition=" '$(PackageSources)' == '' ">
+ <!-- Package sources used to restore packages. By default, registered sources under %APPDATA%\NuGet\NuGet.Config will be used -->
+ <!-- The official NuGet package source (https://www.nuget.org/api/v2/) will be excluded if package sources are specified and it does not appear in the list -->
+ <!--
+ <PackageSource Include="https://www.nuget.org/api/v2/" />
+ <PackageSource Include="https://my-nuget-source/nuget/" />
+ -->
+ </ItemGroup>
+
+ <PropertyGroup Condition=" '$(OS)' == 'Windows_NT'">
+ <!-- Windows specific commands -->
+ <NuGetToolsPath>$([System.IO.Path]::Combine($(SolutionDir), ".nuget"))</NuGetToolsPath>
+ <PackagesConfig>$([System.IO.Path]::Combine($(ProjectDir), "packages.config"))</PackagesConfig>
+ </PropertyGroup>
+
+ <PropertyGroup Condition=" '$(OS)' != 'Windows_NT'">
+ <!-- We need to launch nuget.exe with the mono command if we're not on windows -->
+ <NuGetToolsPath>$(SolutionDir).nuget</NuGetToolsPath>
+ <PackagesConfig>packages.config</PackagesConfig>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <!-- NuGet command -->
+ <NuGetExePath Condition=" '$(NuGetExePath)' == '' ">$(NuGetToolsPath)\NuGet.exe</NuGetExePath>
+ <PackageSources Condition=" $(PackageSources) == '' ">@(PackageSource)</PackageSources>
+
+ <NuGetCommand Condition=" '$(OS)' == 'Windows_NT'">"$(NuGetExePath)"</NuGetCommand>
+ <NuGetCommand Condition=" '$(OS)' != 'Windows_NT' ">mono --runtime=v4.0.30319 $(NuGetExePath)</NuGetCommand>
+
+ <PackageOutputDir Condition="$(PackageOutputDir) == ''">$(TargetDir.Trim('\\'))</PackageOutputDir>
+
+ <RequireConsentSwitch Condition=" $(RequireRestoreConsent) == 'true' ">-RequireConsent</RequireConsentSwitch>
+ <NonInteractiveSwitch Condition=" '$(VisualStudioVersion)' != '' AND '$(OS)' == 'Windows_NT' ">-NonInteractive</NonInteractiveSwitch>
+
+ <PaddedSolutionDir Condition=" '$(OS)' == 'Windows_NT'">"$(SolutionDir) "</PaddedSolutionDir>
+ <PaddedSolutionDir Condition=" '$(OS)' != 'Windows_NT' ">"$(SolutionDir)"</PaddedSolutionDir>
+
+ <!-- Commands -->
+ <RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir)</RestoreCommand>
+ <BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols</BuildCommand>
+
+ <!-- We need to ensure packages are restored prior to assembly resolve -->
+ <BuildDependsOn Condition="$(RestorePackages) == 'true'">
+ RestorePackages;
+ $(BuildDependsOn);
+ </BuildDependsOn>
+
+ <!-- Make the build depend on restore packages -->
+ <BuildDependsOn Condition="$(BuildPackage) == 'true'">
+ $(BuildDependsOn);
+ BuildPackage;
+ </BuildDependsOn>
+ </PropertyGroup>
+
+ <Target Name="CheckPrerequisites">
+ <!-- Raise an error if we're unable to locate nuget.exe -->
+ <Error Condition="'$(DownloadNuGetExe)' != 'true' AND !Exists('$(NuGetExePath)')" Text="Unable to locate '$(NuGetExePath)'" />
+ <!--
+ Take advantage of MsBuild's build dependency tracking to make sure that we only ever download nuget.exe once.
+ This effectively acts as a lock that makes sure that the download operation will only happen once and all
+ parallel builds will have to wait for it to complete.
+ -->
+ <MsBuild Targets="_DownloadNuGet" Projects="$(MSBuildThisFileFullPath)" Properties="Configuration=NOT_IMPORTANT;DownloadNuGetExe=$(DownloadNuGetExe)" />
+ </Target>
+
+ <Target Name="_DownloadNuGet">
+ <DownloadNuGet OutputFilename="$(NuGetExePath)" Condition=" '$(DownloadNuGetExe)' == 'true' AND !Exists('$(NuGetExePath)')" />
+ </Target>
+
+ <Target Name="RestorePackages" DependsOnTargets="CheckPrerequisites">
+ <Exec Command="$(RestoreCommand)"
+ Condition="'$(OS)' != 'Windows_NT' And Exists('$(PackagesConfig)')" />
+
+ <Exec Command="$(RestoreCommand)"
+ LogStandardErrorAsError="true"
+ Condition="'$(OS)' == 'Windows_NT' And Exists('$(PackagesConfig)')" />
+ </Target>
+
+ <Target Name="BuildPackage" DependsOnTargets="CheckPrerequisites">
+ <Exec Command="$(BuildCommand)"
+ Condition=" '$(OS)' != 'Windows_NT' " />
+
+ <Exec Command="$(BuildCommand)"
+ LogStandardErrorAsError="true"
+ Condition=" '$(OS)' == 'Windows_NT' " />
+ </Target>
+
+ <UsingTask TaskName="DownloadNuGet" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
+ <ParameterGroup>
+ <OutputFilename ParameterType="System.String" Required="true" />
+ </ParameterGroup>
+ <Task>
+ <Reference Include="System.Core" />
+ <Using Namespace="System" />
+ <Using Namespace="System.IO" />
+ <Using Namespace="System.Net" />
+ <Using Namespace="Microsoft.Build.Framework" />
+ <Using Namespace="Microsoft.Build.Utilities" />
+ <Code Type="Fragment" Language="cs">
+ <![CDATA[
+ try {
+ OutputFilename = Path.GetFullPath(OutputFilename);
+
+ Log.LogMessage("Downloading latest version of NuGet.exe...");
+ WebClient webClient = new WebClient();
+ webClient.DownloadFile("https://www.nuget.org/nuget.exe", OutputFilename);
+
+ return true;
+ }
+ catch (Exception ex) {
+ Log.LogErrorFromException(ex);
+ return false;
+ }
+ ]]>
+ </Code>
+ </Task>
+ </UsingTask>
+</Project> \ No newline at end of file
diff --git a/Rx/NET/Source/35MSSharedLib1024.snk b/Rx/NET/Source/35MSSharedLib1024.snk
new file mode 100644
index 0000000..695f1b3
--- /dev/null
+++ b/Rx/NET/Source/35MSSharedLib1024.snk
Binary files differ
diff --git a/Rx/NET/Source/BuildAll.proj b/Rx/NET/Source/BuildAll.proj
index 69736e4..b0e1dab 100644
--- a/Rx/NET/Source/BuildAll.proj
+++ b/Rx/NET/Source/BuildAll.proj
@@ -34,6 +34,12 @@
<Configuration>ReleasePL</Configuration>
</Flavor>
<Flavor Include="Rx.sln">
+ <Configuration>DebugPLLITE</Configuration>
+ </Flavor>
+ <Flavor Include="Rx.sln">
+ <Configuration>ReleasePLLITE</Configuration>
+ </Flavor>
+ <Flavor Include="Rx.sln">
<Configuration>DebugWP7</Configuration>
</Flavor>
<Flavor Include="Rx.sln">
diff --git a/Rx/NET/Source/Common.targets b/Rx/NET/Source/Common.targets
index 90b6fe2..5fdb426 100644
--- a/Rx/NET/Source/Common.targets
+++ b/Rx/NET/Source/Common.targets
@@ -23,6 +23,15 @@
<BuildTarget>PL</BuildTarget>
</PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugPLLITE|AnyCPU' ">
+ <BuildConfig>Debug</BuildConfig>
+ <BuildTarget>PLLITE</BuildTarget>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ReleasePLLITE|AnyCPU' ">
+ <BuildConfig>Release</BuildConfig>
+ <BuildTarget>PLLITE</BuildTarget>
+ </PropertyGroup>
+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug45|AnyCPU' ">
<BuildConfig>Debug</BuildConfig>
<BuildTarget>45</BuildTarget>
@@ -77,15 +86,6 @@
<BuildTarget>WP8</BuildTarget>
</PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugXBLV|AnyCPU' ">
- <BuildConfig>Debug</BuildConfig>
- <BuildTarget>XBLV</BuildTarget>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ReleaseXBLV|AnyCPU' ">
- <BuildConfig>Release</BuildConfig>
- <BuildTarget>XBLV</BuildTarget>
- </PropertyGroup>
-
<PropertyGroup Condition=" '$(BuildTarget)' == 'PL' ">
<DefineConstants>$(DefineConstants);NO_EVENTARGS_CONSTRAINT;HAS_EDI;HAS_WINRT;HAS_PROGRESS;PREFER_ASYNC;HAS_AWAIT;HAS_APTCA;NO_REMOTING;NO_SERIALIZABLE;NO_THREAD;CRIPPLED_REFLECTION;PLIB;NO_CDS_COLLECTIONS;USE_TIMER_SELF_ROOT</DefineConstants>
@@ -93,7 +93,6 @@
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkProfile>Profile78</TargetFrameworkProfile>
<NoStdLib>true</NoStdLib>
- <!-- <SignKeyEnhanced>true</SignKeyEnhanced> Disabled due to CLR signing bug w/ SHA2 keys blocking Windows Phone 8 apps from being signed. -->
</PropertyGroup>
<PropertyGroup Condition=" '$(BuildTarget)' == '45' ">
@@ -102,7 +101,6 @@
<NoStdLib>true</NoStdLib>
<BuildPlatform>DESKTOPCLR</BuildPlatform>
<BuildFlavor>DESKTOPCLR45</BuildFlavor>
- <!-- <SignKeyEnhanced>true</SignKeyEnhanced> Disabled due to CLR signing bug w/ SHA2 keys blocking Windows Phone 8 apps from being signed. -->
</PropertyGroup>
<PropertyGroup Condition=" '$(BuildTarget)' == '8' ">
@@ -113,7 +111,6 @@
<BuildPlatform>WINDOWS</BuildPlatform>
<BuildFlavor>WINDOWS8</BuildFlavor>
<DefaultLanguage>en-US</DefaultLanguage>
- <!-- <SignKeyEnhanced>true</SignKeyEnhanced> Disabled due to CLR signing bug w/ SHA2 keys blocking Windows Phone 8 apps from being signed. -->
</PropertyGroup>
<PropertyGroup Condition=" '$(BuildTarget)' == '40' ">
@@ -132,6 +129,23 @@
<BuildPlatform>SILVERLIGHT</BuildPlatform>
<BuildFlavor>SILVERLIGHT5</BuildFlavor>
</PropertyGroup>
+
+
+
+ <PropertyGroup Condition=" '$(BuildTarget)' == 'PLLITE' ">
+ <DefineConstants>$(DefineConstants);NO_RXINTERFACES;NO_SERIALIZABLE;NO_REMOTING;NO_SEMAPHORE;NO_STOPWATCH;NO_CDS;PLIB;PLIB_LITE;NO_THREAD;USE_TASKEX;CRIPPLED_REFLECTION</DefineConstants>
+ <TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <!--
+ Profile2 = .NET for Windows Store apps, .NET Framework 4, Silverlight 4, Windows Phone 7
+ Profile36 = .NET for Windows Store apps, .NET Framework 4, Silverlight 4, Windows Phone 8
+ Profile88 = .NET for Windows Store apps, .NET Framework 4, Silverlight 4, Windows Phone 7.5
+ Profile96 = .NET for Windows Store apps, .NET Framework 4.0.3, Silverlight 4, Windows Phone 7.5
+ Profile136 = .NET for Windows Store apps, .NET Framework 4, Silverlight 5, Windows Phone 8
+ -->
+ <TargetFrameworkProfile>Profile136</TargetFrameworkProfile>
+ <NoStdLib>true</NoStdLib>
+ </PropertyGroup>
<PropertyGroup Condition=" '$(BuildTarget)' == 'WP7' ">
<DefineConstants>$(DefineConstants);USE_SL_DISPATCHER;NO_SERIALIZABLE;NO_REMOTING;NO_CDS;NO_TLS;NO_VARIANCE;NO_TPL;NO_HASHSET;NO_SEMAPHORE;NO_LARGEARITY;NO_EXPRESSIONVISITOR;NO_LAZY;NO_WEAKTABLE;NO_INTERLOCKED_64;WINDOWSPHONE7</DefineConstants>
@@ -145,7 +159,7 @@
</PropertyGroup>
<PropertyGroup Condition=" '$(BuildTarget)' == 'WP8' ">
- <DefineConstants>$(DefineConstants);NO_EVENTARGS_CONSTRAINT;USE_SL_DISPATCHER;NO_SERIALIZABLE;NO_REMOTING;NO_CDS_COLLECTIONS;USE_TIMER_SELF_ROOT</DefineConstants>
+ <DefineConstants>$(DefineConstants);HAS_EDI;HAS_PROGRESS;PREFER_ASYNC;HAS_AWAIT;NO_EVENTARGS_CONSTRAINT;USE_SL_DISPATCHER;HAS_WINRT;NO_SERIALIZABLE;NO_REMOTING;NO_CDS_COLLECTIONS;USE_TIMER_SELF_ROOT</DefineConstants>
<TargetFrameworkIdentifier>WindowsPhone</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
<SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
@@ -153,20 +167,16 @@
<BuildPlatform>WINDOWS_PHONE</BuildPlatform>
<BuildFlavor>WINDOWS_PHONE8</BuildFlavor>
<NoStdLib>true</NoStdLib>
- <!-- <SignKeyEnhanced>true</SignKeyEnhanced> Disabled due to CLR signing bug w/ SHA2 keys blocking Windows Phone 8 apps from being signed. -->
- </PropertyGroup>
-
- <PropertyGroup Condition=" '$(BuildTarget)' == 'XBLV' ">
- <DefineConstants>$(DefineConstants);NO_RXINTERFACES;USE_SL_DISPATCHER;NO_SERIALIZABLE;NO_REMOTING;NO_SEMAPHORE;NO_STOPWATCH;NO_CDS;NO_TPL;NO_LAZY;NO_WEAKTABLE;NO_VARIANCE;NO_HASHSET;NO_LARGEARITY;NO_EXPRESSIONVISITOR;NO_EXPRESSIONS</DefineConstants>
- <TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
- <TargetFrameworkVersion>v3.0</TargetFrameworkVersion>
- <SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
- <SilverlightApplication>false</SilverlightApplication>
- <BuildPlatform>SILVERLIGHT</BuildPlatform>
- <BuildFlavor>XBOX_LAKEVIEW</BuildFlavor>
</PropertyGroup>
-
+ <!--<PropertyGroup Condition=" '$(BuildTarget)' == 'PortableWP7' ">
+ <DefineConstants>$(DefineConstants);NO_VARIANCE;NO_EVENTARGS_CONSTRAINT;HAS_EDI;HAS_WINRT;HAS_PROGRESS;PREFER_ASYNC;HAS_AWAIT;HAS_APTCA;NO_REMOTING;NO_SERIALIZABLE;NO_THREAD;CRIPPLED_REFLECTION;PLIB;NO_CDS_COLLECTIONS;USE_TIMER_SELF_ROOT</DefineConstants>
+ <TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <TargetFrameworkProfile>Profile4</TargetFrameworkProfile>
+ <NoStdLib>true</NoStdLib>
+ </PropertyGroup>-->
+
<!--
********************
* LEGACY PLATFORMS *
@@ -281,7 +291,7 @@
<PropertyGroup>
<DefineConstants>$(DefineConstants);$(BuildPlatform);$(BuildFlavor);TRACE</DefineConstants>
- <OutputPath>bin\$(BuildConfig)$(BuildTarget)</OutputPath>
+ <OutputPath>..\bin\$(BuildConfig)$(BuildTarget)</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
@@ -315,23 +325,14 @@
<DefineConstants>$(DefineConstants);STRESS</DefineConstants>
</PropertyGroup>
- <PropertyGroup Condition=" '$(ProductSignAssembly)' == 'true' AND '$(SignedBuild)' == '1' ">
+ <PropertyGroup Condition=" '$(ProductSignAssembly)' == 'true' AND '$(Sign)' == 'Sign' ">
<DefineConstants>$(DefineConstants);SIGNED</DefineConstants>
<SignAssembly>true</SignAssembly>
<DelaySign>true</DelaySign>
- </PropertyGroup>
-
- <PropertyGroup Condition=" '$(SignAssembly)' == 'true' AND '$(SignKeyEnhanced)' != 'true' ">
- <AssemblyOriginatorKeyFile>..\..\..\Private\35MSSharedLib1024.snk</AssemblyOriginatorKeyFile>
+ <AssemblyOriginatorKeyFile>..\35MSSharedLib1024.snk</AssemblyOriginatorKeyFile>
<SignKeyId>72</SignKeyId>
</PropertyGroup>
- <PropertyGroup Condition=" '$(SignAssembly)' == 'true' AND '$(SignKeyEnhanced)' == 'true' ">
- <AssemblyOriginatorKeyFile>..\..\..\Private\272MSSharedLibSN2048.snk</AssemblyOriginatorKeyFile>
- <DefineConstants>$(DefineConstants);SIGNENHANCED</DefineConstants>
- <SignKeyId>272</SignKeyId>
- </PropertyGroup>
-
<PropertyGroup Condition=" '$(BuildLab)' == '1' ">
<DefineConstants>$(DefineConstants);NO_CODECOVERAGE</DefineConstants>
</PropertyGroup>
@@ -345,5 +346,57 @@
<PropertyGroup>
<ReferencePath>$(MSBuildProjectDirectory)\..\References\$(BuildFlavor)</ReferencePath>
</PropertyGroup>
+
+<!--
+ ************************************************
+ * GENERAL REFERENCES - Microsoft.Bcl and Async *
+ ************************************************
+ -->
+
+ <ItemGroup Condition=" '$(BuildTarget)' == 'PLLITE' ">
+ <!--- Microsoft.Bcl References -->
+ <Reference Include="System.Runtime">
+ <HintPath>..\packages\Microsoft.Bcl.1.0.19\lib\portable-net40+sl5+win8+wp8\System.Runtime.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="System.Threading.Tasks">
+ <HintPath>..\packages\Microsoft.Bcl.1.0.19\lib\portable-net40+sl5+win8+wp8\System.Threading.Tasks.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ <!--- Microsoft.Bcl.Async References -->
+ <Reference Include="Microsoft.Threading.Tasks">
+ <HintPath>..\packages\Microsoft.Bcl.Async.1.0.16\lib\portable-net40+sl4+win8+wp71\Microsoft.Threading.Tasks.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="Microsoft.Threading.Tasks.Extensions">
+ <HintPath>..\packages\Microsoft.Bcl.Async.1.0.16\lib\portable-net40+sl4+win8+wp71\Microsoft.Threading.Tasks.Extensions.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ </ItemGroup>
+
+ <ItemGroup Condition=" '$(BuildTarget)' == '40' ">
+
+ <Reference Include="Microsoft.Threading.Tasks">
+ <HintPath>..\packages\Microsoft.Bcl.Async.1.0.16\lib\net40\Microsoft.Threading.Tasks.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="Microsoft.Threading.Tasks.Extensions">
+ <HintPath>..\packages\Microsoft.Bcl.Async.1.0.16\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop">
+ <HintPath>..\packages\Microsoft.Bcl.Async.1.0.16\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="System.Runtime">
+ <HintPath>..\packages\Microsoft.Bcl.1.0.19\lib\net40\System.Runtime.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="System.Threading.Tasks">
+ <HintPath>..\packages\Microsoft.Bcl.1.0.19\lib\net40\System.Threading.Tasks.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ </ItemGroup>
+
</Project>
diff --git a/Rx/NET/Source/Import.targets b/Rx/NET/Source/Import.targets
index b5f5c1e..c6403e4 100644
--- a/Rx/NET/Source/Import.targets
+++ b/Rx/NET/Source/Import.targets
@@ -1,29 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
<!-- Non-Portable Library build -->
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v11.0\Microsoft.Windows.UI.Xaml.CSharp.targets" Condition=" '$(TargetFrameworkIdentifier)' == '.NETCore' " />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" Condition=" '$(TargetFrameworkIdentifier)' != '.NETPortable' And ('$(BuildPlatform)' == 'DESKTOPCLR' Or '$(BuildPlatform)' == 'XNA') " />
+
+ <!-- Silverlight ONLY (i.e., not phone) -->
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" Condition=" '$(TargetFrameworkIdentifier)' != '.NETPortable' And '$(BuildPlatform)' == 'SILVERLIGHT' AND !('$(BuildFlavor)' == 'SILVERLIGHTM7') " />
+
+ <!-- Windows Phone 7.1 (Silverlight for Phone) -->
<Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight for Phone\$(TargetFrameworkVersion)\Microsoft.Silverlight.$(TargetFrameworkProfile).Overrides.targets" Condition=" '$(TargetFrameworkIdentifier)' != '.NETPortable' And '$(BuildFlavor)' == 'SILVERLIGHTM7' " />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight for Phone\$(TargetFrameworkVersion)\Microsoft.Silverlight.CSharp.targets" Condition=" '$(TargetFrameworkIdentifier)' != '.NETPortable' And '$(BuildFlavor)' == 'SILVERLIGHTM7' " />
+
+ <!-- Windows Phone 8 -->
<Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).$(TargetFrameworkVersion).Overrides.targets" Condition=" '$(TargetFrameworkIdentifier)' != '.NETPortable' And '$(BuildFlavor)' == 'WINDOWS_PHONE8' "/>
<Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).CSharp.targets" Condition=" '$(TargetFrameworkIdentifier)' != '.NETPortable' And '$(BuildFlavor)' == 'WINDOWS_PHONE8' "/>
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\Microsoft.Xna.GameStudio.targets" Condition=" '$(TargetFrameworkIdentifier)' != '.NETPortable' And '$(BuildPlatform)' == 'XNA' "/>
- <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Compact\Microsoft.CompactFramework.CSharp.targets" Condition=" '$(BuildPlatform)' == 'NETCF' " />
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\Xbox 360 ADK\Microsoft.Xbox360.Adk.App.targets" Condition=" '$(BuildPlatform)' == 'XBOX' " />
-
+
<!-- Portable Library Build -->
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" Condition=" '$(TargetFrameworkIdentifier)' == '.NETPortable' " />
+
+ <!-- If "Sign" is set and assembly should be signed, generate a .sign file-->
<Target Name="AfterBuild">
- <WriteLinesToFile Condition=" '$(ProductSignAssembly)' == 'true' AND '$(SignedBuild)' == '1' "
- File="$(OutDir)\$(TargetFileName).sign" Overwrite="true"
- Lines="[$(SignKeyId)] Auto-generated file. Indicates the corresponding binary file needs to be signed." />
+
+ <WriteLinesToFile Condition=" '$(ProductSignAssembly)' == 'true' AND '$(Sign)' == 'Sign' "
+ File="$(OutDir)\$(TargetFileName).sign"
+ Overwrite="true"
+ Lines="Auto-generated file, indicates the corresponding binary file needs to be signed.">
+ </WriteLinesToFile>
<!-- Hack for Metro; for some reason the XAML build creates intermediary folders, so we flatten the hierarchy for consumption by the setup build at a later stage -->
+
+ <!-- For some reason, using a plain <ItemGroup> does not fill in the list correctly, so we must use <CreateItem> -->
+ <CreateItem Include="$(OutDir)\*.sign;$(OutDir)\*.xml" Condition=" '$(TargetFrameworkIdentifier)' == '.NETCore' ">
+ <Output TaskParameter="Include" ItemName="CanaryFiles" />
+ </CreateItem>
+
+ <Message Text="-- Canary files: @(CanaryFiles)" Importance="high"/>
+ <Move
+ SourceFiles="@(CanaryFiles)"
+ DestinationFolder="$(OutDir)\.."
+ Condition=" '$(TargetFrameworkIdentifier)' == '.NETCore' " />
+
+ <!-- For some reason, using a plain <ItemGroup> does not fill in the list correctly, so we must use <CreateItem> -->
<CreateItem Include="$(OutDir)\*.*" Condition=" '$(TargetFrameworkIdentifier)' == '.NETCore' ">
<Output TaskParameter="Include" ItemName="BuiltFilesInOutDir" />
</CreateItem>
- <Copy SourceFiles="@(BuiltFilesInOutDir)" DestinationFolder="$(OutDir)\.." Condition=" '$(TargetFrameworkIdentifier)' == '.NETCore' " />
+
+ <Message Text="-- Built files: @(BuiltFilesInOutDir)" Importance="high"/>
+ <Copy
+ SourceFiles="@(BuiltFilesInOutDir)"
+ DestinationFolder="$(OutDir)\.."
+ Condition=" '$(TargetFrameworkIdentifier)' == '.NETCore' " />
</Target>
+
+ <!-- MICROSOFT BCL ASYNC CONFIGURATION -->
+ <!-- TODO: Add acondition to only load it when required? -->
+
+ <!-- Skip validation of packages.config since we are manageing the packages manuallt -->
+ <PropertyGroup>
+ <SkipValidatePackageReferences>true</SkipValidatePackageReferences>
+ </PropertyGroup>
+ <Import Project="packages\Microsoft.Bcl.Build.1.0.4\tools\Microsoft.Bcl.Build.targets" Condition=" '$(BuildTarget)' == 'PLLITE' Or '$(BuildTarget)' == '40' " />
+
</Project>
diff --git a/Rx/NET/Source/Local.testsettings b/Rx/NET/Source/Local.testsettings
index 95d94d8..72cfdcc 100644
--- a/Rx/NET/Source/Local.testsettings
+++ b/Rx/NET/Source/Local.testsettings
@@ -19,21 +19,5 @@
</Browser>
</WebTestRunConfiguration>
</TestTypeSpecific>
- <AgentRule name="LocalMachineDefaultRole">
- <DataCollectors>
- <DataCollector uri="datacollector://microsoft/CodeCoverage/1.0" assemblyQualifiedName="Microsoft.VisualStudio.TestTools.CodeCoverage.CoveragePlugIn, Microsoft.VisualStudio.QualityTools.Plugins.CodeCoverage, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" friendlyName="Code Coverage">
- <Configuration>
- <CodeCoverage xmlns="">
- <Regular>
- <CodeCoverageItem binaryFile="System.Reactive.Core\bin\Debug40\System.Reactive.Core.dll" pdbFile="System.Reactive.Core\bin\Debug40\System.Reactive.Core.pdb" instrumentInPlace="true" />
- <CodeCoverageItem binaryFile="System.Reactive.Interfaces\bin\Debug40\System.Reactive.Interfaces.dll" pdbFile="System.Reactive.Interfaces\bin\Debug40\System.Reactive.Interfaces.pdb" instrumentInPlace="true" />
- <CodeCoverageItem binaryFile="System.Reactive.Linq\bin\Debug40\System.Reactive.Linq.dll" pdbFile="System.Reactive.Linq\bin\Debug40\System.Reactive.Linq.pdb" instrumentInPlace="true" />
- <CodeCoverageItem binaryFile="System.Reactive.PlatformServices\bin\Debug40\System.Reactive.PlatformServices.dll" pdbFile="System.Reactive.PlatformServices\bin\Debug40\System.Reactive.PlatformServices.pdb" instrumentInPlace="true" />
- </Regular>
- </CodeCoverage>
- </Configuration>
- </DataCollector>
- </DataCollectors>
- </AgentRule>
</Execution>
</TestSettings> \ No newline at end of file
diff --git a/Rx/NET/Source/Microsoft.Reactive.Testing/Properties/AssemblyInfo.cs b/Rx/NET/Source/Microsoft.Reactive.Testing/Properties/AssemblyInfo.cs
index 826b2c0..fb122f2 100644
--- a/Rx/NET/Source/Microsoft.Reactive.Testing/Properties/AssemblyInfo.cs
+++ b/Rx/NET/Source/Microsoft.Reactive.Testing/Properties/AssemblyInfo.cs
@@ -17,7 +17,11 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
-//
-// Note: Assembly (file) version numbers get inserted by the build system on the fly. Inspect the Team Build workflows
-// and the custom activity in Source/Build/Activities/AppendVersionInfo.cs for more information.
-//
+// ===========================================================================
+// DO NOT EDIT OR REMOVE ANYTHING BELOW THIS COMMENT.
+// Version numbers are automatically generated in the msbuild files based on regular expressions
+// ===========================================================================
+
+[assembly: AssemblyVersion("2.2.0.0")]
+[assembly: AssemblyFileVersion("2.2.0.0")]
+[assembly: AssemblyInformationalVersion("2.2.0.0")]
diff --git a/Rx/NET/Source/Microsoft.Reactive.Testing/ReactiveTest.cs b/Rx/NET/Source/Microsoft.Reactive.Testing/ReactiveTest.cs
index 37ff279..45d8424 100644
--- a/Rx/NET/Source/Microsoft.Reactive.Testing/ReactiveTest.cs
+++ b/Rx/NET/Source/Microsoft.Reactive.Testing/ReactiveTest.cs
@@ -65,15 +65,13 @@ namespace Microsoft.Reactive.Testing
}
/// <summary>
- /// Factory method for an OnCompleted notification record at a given time.
+ /// Factory method for an OnCompleted notification record at a given time, using inference to determine the type of <typeparamref name="T"/>.
/// </summary>
/// <typeparam name="T">The element type for the resulting notification object.</typeparam>
- /// <param name="dummy">An unused instance of type T, to force the compiler to infer that T as part of the method's return value.</param>
/// <param name="ticks">Recorded virtual time the OnCompleted notification occurs.</param>
+ /// <param name="witness">Object solely used to infer the type of the <typeparamref name="T"/> type parameter. This parameter is typically used when creating a sequence of anonymously typed elements.</param>
/// <returns>Recorded OnCompleted notification.</returns>
- /// <remarks>This overload is used for anonymous types - by passing in an instance of the type, the compiler can infer the
- /// anonymous type without you having to try naming the type.</remarks>
- public static Recorded<Notification<T>> OnCompleted<T>(T dummy, long ticks)
+ public static Recorded<Notification<T>> OnCompleted<T>(long ticks, T witness)
{
return new Recorded<Notification<T>>(ticks, Notification.CreateOnCompleted<T>());
}
@@ -109,19 +107,17 @@ namespace Microsoft.Reactive.Testing
return new Recorded<Notification<T>>(ticks, new OnErrorPredicate<T>(predicate));
}
-
+
/// <summary>
- /// Factory method for an OnError notification record at a given time with a given error.
+ /// Factory method for an OnError notification record at a given time with a given error, using inference to determine the type of <typeparamref name="T"/>.
/// </summary>
/// <typeparam name="T">The element type for the resulting notification object.</typeparam>
- /// <param name="dummy">An unused instance of type T, to force the compiler to infer that T as part of the method's return value.</param>
/// <param name="ticks">Recorded virtual time the OnError notification occurs.</param>
/// <param name="exception">Recorded exception stored in the OnError notification.</param>
+ /// <param name="witness">Object solely used to infer the type of the <typeparamref name="T"/> type parameter. This parameter is typically used when creating a sequence of anonymously typed elements.</param>
/// <returns>Recorded OnError notification.</returns>
/// <exception cref="ArgumentNullException"><paramref name="exception"/> is null.</exception>
- /// <remarks>This overload is used for anonymous types - by passing in an instance of the type, the compiler can infer the
- /// anonymous type without you having to try naming the type.</remarks>
- public static Recorded<Notification<T>> OnError<T>(T dummy, long ticks, Exception exception)
+ public static Recorded<Notification<T>> OnError<T>(long ticks, Exception exception, T witness)
{
if (exception == null)
throw new ArgumentNullException("exception");
@@ -130,17 +126,15 @@ namespace Microsoft.Reactive.Testing
}
/// <summary>
- /// Factory method for writing an assert that checks for an OnError notification record at a given time, using the specified predicate to check the exception.
+ /// Factory method for writing an assert that checks for an OnError notification record at a given time, using the specified predicate to check the exception and inference to determine the type of <typeparamref name="T"/>.
/// </summary>
/// <typeparam name="T">The element type for the resulting notification object.</typeparam>
- /// <param name="dummy">An unused instance of type T, to force the compiler to infer that T as part of the method's return value.</param>
/// <param name="ticks">Recorded virtual time the OnError notification occurs.</param>
/// <param name="predicate">Predicate function to check the OnError notification value against an expected exception.</param>
+ /// <param name="witness">Object solely used to infer the type of the <typeparamref name="T"/> type parameter. This parameter is typically used when creating a sequence of anonymously typed elements.</param>
/// <returns>Recorded OnError notification with a predicate to assert a given exception.</returns>
/// <exception cref="ArgumentNullException"><paramref name="predicate"/> is null.</exception>
- /// <remarks>This overload is used for anonymous types - by passing in an instance of the type, the compiler can infer the
- /// anonymous type without you having to try naming the type.</remarks>
- public static Recorded<Notification<T>> OnError<T>(T dummy, long ticks, Func<Exception, bool> predicate)
+ public static Recorded<Notification<T>> OnError<T>(long ticks, Func<Exception, bool> predicate, T witness)
{
if (predicate == null)
throw new ArgumentNullException("predicate");
diff --git a/Rx/NET/Source/Playground/Playground.csproj b/Rx/NET/Source/Playground/Playground.csproj
index 3408729..30bf28d 100644
--- a/Rx/NET/Source/Playground/Playground.csproj
+++ b/Rx/NET/Source/Playground/Playground.csproj
@@ -77,7 +77,7 @@
</ProjectReference>
<ProjectReference Include="..\System.Reactive.Linq\System.Reactive.Linq.csproj">
<Project>{63252AE9-5186-45CA-BFCD-FA51C6B66A43}</Project>
- <Name>System.Reactive</Name>
+ <Name>System.Reactive.Linq</Name>
</ProjectReference>
<ProjectReference Include="..\System.Reactive.Providers\System.Reactive.Providers.csproj">
<Project>{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}</Project>
diff --git a/Rx/NET/Source/Rx.sln b/Rx/NET/Source/Rx.sln
index c46be4f..a5ac016 100644
--- a/Rx/NET/Source/Rx.sln
+++ b/Rx/NET/Source/Rx.sln
@@ -41,17 +41,16 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Experimenta
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Debugger", "System.Reactive.Debugger\System.Reactive.Debugger.csproj", "{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{45E85DEB-BDCC-4684-A952-187A5524750B}"
+ ProjectSection(SolutionItems) = preProject
+ .nuget\NuGet.Config = .nuget\NuGet.Config
+ .nuget\NuGet.exe = .nuget\NuGet.exe
+ .nuget\NuGet.targets = .nuget\NuGet.targets
+ EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Observable.Aliases", "System.Reactive.Observable.Aliases\System.Reactive.Observable.Aliases.csproj", "{9FFAC385-10A4-4DDD-B800-DE67E8469CC0}"
+EndProject
Global
- GlobalSection(TeamFoundationVersionControl) = preSolution
- SccNumberOfProjects = 1
- SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
- SccTeamFoundationServer = http://tfs1:8085/tfs/interop%20team%20projects
- SccProjectUniqueName0 = Playground\\Playground.csproj
- SccProjectName0 = Playground
- SccAuxPath0 = http://tfs1:8085/tfs/interop%20team%20projects
- SccLocalPath0 = Playground
- SccProvider0 = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
- EndGlobalSection
GlobalSection(TestCaseManagementSettings) = postSolution
CategoryFile = Rx.vsmdi
EndGlobalSection
@@ -71,15 +70,12 @@ Global
Debug8|Any CPU = Debug8|Any CPU
Debug8|Mixed Platforms = Debug8|Mixed Platforms
Debug8|x86 = Debug8|x86
- DebugCF35|Any CPU = DebugCF35|Any CPU
- DebugCF35|Mixed Platforms = DebugCF35|Mixed Platforms
- DebugCF35|x86 = DebugCF35|x86
DebugPL|Any CPU = DebugPL|Any CPU
DebugPL|Mixed Platforms = DebugPL|Mixed Platforms
DebugPL|x86 = DebugPL|x86
- DebugSL3|Any CPU = DebugSL3|Any CPU
- DebugSL3|Mixed Platforms = DebugSL3|Mixed Platforms
- DebugSL3|x86 = DebugSL3|x86
+ DebugPLLITE|Any CPU = DebugPLLITE|Any CPU
+ DebugPLLITE|Mixed Platforms = DebugPLLITE|Mixed Platforms
+ DebugPLLITE|x86 = DebugPLLITE|x86
DebugSL4|Any CPU = DebugSL4|Any CPU
DebugSL4|Mixed Platforms = DebugSL4|Mixed Platforms
DebugSL4|x86 = DebugSL4|x86
@@ -92,12 +88,6 @@ Global
DebugWP8|Any CPU = DebugWP8|Any CPU
DebugWP8|Mixed Platforms = DebugWP8|Mixed Platforms
DebugWP8|x86 = DebugWP8|x86
- DebugXBLV|Any CPU = DebugXBLV|Any CPU
- DebugXBLV|Mixed Platforms = DebugXBLV|Mixed Platforms
- DebugXBLV|x86 = DebugXBLV|x86
- DebugXNA4|Any CPU = DebugXNA4|Any CPU
- DebugXNA4|Mixed Platforms = DebugXNA4|Mixed Platforms
- DebugXNA4|x86 = DebugXNA4|x86
Release|Any CPU = Release|Any CPU
Release|Mixed Platforms = Release|Mixed Platforms
Release|x86 = Release|x86
@@ -113,15 +103,12 @@ Global
Release8|Any CPU = Release8|Any CPU
Release8|Mixed Platforms = Release8|Mixed Platforms
Release8|x86 = Release8|x86
- ReleaseCF35|Any CPU = ReleaseCF35|Any CPU
- ReleaseCF35|Mixed Platforms = ReleaseCF35|Mixed Platforms
- ReleaseCF35|x86 = ReleaseCF35|x86
ReleasePL|Any CPU = ReleasePL|Any CPU
ReleasePL|Mixed Platforms = ReleasePL|Mixed Platforms
ReleasePL|x86 = ReleasePL|x86
- ReleaseSL3|Any CPU = ReleaseSL3|Any CPU
- ReleaseSL3|Mixed Platforms = ReleaseSL3|Mixed Platforms
- ReleaseSL3|x86 = ReleaseSL3|x86
+ ReleasePLLITE|Any CPU = ReleasePLLITE|Any CPU
+ ReleasePLLITE|Mixed Platforms = ReleasePLLITE|Mixed Platforms
+ ReleasePLLITE|x86 = ReleasePLLITE|x86
ReleaseSL4|Any CPU = ReleaseSL4|Any CPU
ReleaseSL4|Mixed Platforms = ReleaseSL4|Mixed Platforms
ReleaseSL4|x86 = ReleaseSL4|x86
@@ -134,19 +121,13 @@ Global
ReleaseWP8|Any CPU = ReleaseWP8|Any CPU
ReleaseWP8|Mixed Platforms = ReleaseWP8|Mixed Platforms
ReleaseWP8|x86 = ReleaseWP8|x86
- ReleaseXBLV|Any CPU = ReleaseXBLV|Any CPU
- ReleaseXBLV|Mixed Platforms = ReleaseXBLV|Mixed Platforms
- ReleaseXBLV|x86 = ReleaseXBLV|x86
- ReleaseXNA4|Any CPU = ReleaseXNA4|Any CPU
- ReleaseXNA4|Mixed Platforms = ReleaseXNA4|Mixed Platforms
- ReleaseXNA4|x86 = ReleaseXNA4|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug|Any CPU.ActiveCfg = DebugPL|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug|Any CPU.Build.0 = DebugPL|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug|Mixed Platforms.Build.0 = DebugPL|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug|x86.ActiveCfg = DebugPL|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug|Any CPU.ActiveCfg = DebugCF35|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug|Any CPU.Build.0 = DebugCF35|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug|Mixed Platforms.Build.0 = DebugCF35|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug|x86.ActiveCfg = DebugCF35|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug35|Any CPU.ActiveCfg = Debug35|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug35|Any CPU.Build.0 = Debug35|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug35|Mixed Platforms.ActiveCfg = Debug35|Any CPU
@@ -157,31 +138,26 @@ Global
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug40|Mixed Platforms.ActiveCfg = Debug40|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug40|Mixed Platforms.Build.0 = Debug40|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug40|x86.ActiveCfg = Debug40|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug45|Any CPU.ActiveCfg = DebugPL|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug45|Any CPU.Build.0 = DebugPL|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug45|Any CPU.ActiveCfg = Debug45|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug45|Any CPU.Build.0 = Debug45|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug45|Mixed Platforms.ActiveCfg = Debug45|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug45|Mixed Platforms.Build.0 = Debug45|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug45|x86.ActiveCfg = Debug45|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug8|Any CPU.ActiveCfg = DebugPL|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug8|Any CPU.Build.0 = DebugPL|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug8|Any CPU.ActiveCfg = Debug8|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug8|Any CPU.Build.0 = Debug8|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug8|Mixed Platforms.ActiveCfg = Debug8|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug8|Mixed Platforms.Build.0 = Debug8|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Debug8|x86.ActiveCfg = Debug45|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugCF35|Any CPU.ActiveCfg = DebugCF35|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugCF35|Any CPU.Build.0 = DebugCF35|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugCF35|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugCF35|Mixed Platforms.Build.0 = DebugCF35|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugCF35|x86.ActiveCfg = DebugSL3|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugPL|Any CPU.ActiveCfg = DebugPL|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugPL|Any CPU.Build.0 = DebugPL|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugPL|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugPL|Mixed Platforms.Build.0 = DebugPL|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugPL|x86.ActiveCfg = DebugPL|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugSL3|Any CPU.ActiveCfg = DebugSL3|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugSL3|Any CPU.Build.0 = DebugSL3|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugSL3|Mixed Platforms.ActiveCfg = DebugSL3|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugSL3|Mixed Platforms.Build.0 = DebugSL3|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugSL3|x86.ActiveCfg = DebugSL3|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugPLLITE|Any CPU.ActiveCfg = DebugPLLITE|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugPLLITE|Any CPU.Build.0 = DebugPLLITE|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugPLLITE|Mixed Platforms.ActiveCfg = DebugPLLITE|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugPLLITE|Mixed Platforms.Build.0 = DebugPLLITE|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugPLLITE|x86.ActiveCfg = DebugPLLITE|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugSL4|Any CPU.ActiveCfg = DebugSL4|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugSL4|Any CPU.Build.0 = DebugSL4|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugSL4|Mixed Platforms.ActiveCfg = DebugSL4|Any CPU
@@ -197,26 +173,16 @@ Global
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugWP7|Mixed Platforms.ActiveCfg = DebugWP7|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugWP7|Mixed Platforms.Build.0 = DebugWP7|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugWP7|x86.ActiveCfg = DebugWP7|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugWP8|Any CPU.ActiveCfg = DebugPL|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugWP8|Any CPU.Build.0 = DebugPL|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugWP8|Any CPU.ActiveCfg = DebugWP8|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugWP8|Any CPU.Build.0 = DebugWP8|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugWP8|Mixed Platforms.ActiveCfg = DebugWP8|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugWP8|Mixed Platforms.Build.0 = DebugWP8|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugWP8|x86.ActiveCfg = DebugWP8|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugXBLV|Any CPU.ActiveCfg = DebugXBLV|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugXBLV|Any CPU.Build.0 = DebugXBLV|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugXBLV|Mixed Platforms.ActiveCfg = DebugXBLV|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugXBLV|Mixed Platforms.Build.0 = DebugXBLV|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugXBLV|x86.ActiveCfg = DebugXBLV|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugXNA4|Any CPU.ActiveCfg = DebugXNA4|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugXNA4|Any CPU.Build.0 = DebugXNA4|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugXNA4|Mixed Platforms.ActiveCfg = DebugXNA4|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugXNA4|Mixed Platforms.Build.0 = DebugXNA4|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.DebugXNA4|x86.ActiveCfg = DebugXNA4|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release|Any CPU.Build.0 = ReleasePL|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release|Mixed Platforms.Build.0 = ReleasePL|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release|x86.ActiveCfg = ReleasePL|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release|Any CPU.Build.0 = ReleaseCF35|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release|Mixed Platforms.Build.0 = ReleaseCF35|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release|x86.ActiveCfg = ReleaseCF35|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release35|Any CPU.ActiveCfg = Release35|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release35|Any CPU.Build.0 = Release35|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release35|Mixed Platforms.ActiveCfg = Release35|Any CPU
@@ -227,31 +193,26 @@ Global
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release40|Mixed Platforms.ActiveCfg = Release40|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release40|Mixed Platforms.Build.0 = Release40|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release40|x86.ActiveCfg = Release40|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release45|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release45|Any CPU.Build.0 = ReleasePL|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release45|Any CPU.ActiveCfg = Release45|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release45|Any CPU.Build.0 = Release45|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release45|Mixed Platforms.ActiveCfg = Release45|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release45|Mixed Platforms.Build.0 = Release45|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release45|x86.ActiveCfg = Release45|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release8|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release8|Any CPU.Build.0 = ReleasePL|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release8|Any CPU.ActiveCfg = Release8|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release8|Any CPU.Build.0 = Release8|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release8|Mixed Platforms.ActiveCfg = Release8|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release8|Mixed Platforms.Build.0 = Release8|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.Release8|x86.ActiveCfg = Release45|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseCF35|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseCF35|Any CPU.Build.0 = ReleaseCF35|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseCF35|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseCF35|Mixed Platforms.Build.0 = ReleaseCF35|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseCF35|x86.ActiveCfg = ReleaseSL3|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleasePL|Any CPU.ActiveCfg = ReleasePL|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleasePL|Any CPU.Build.0 = ReleasePL|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleasePL|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleasePL|Mixed Platforms.Build.0 = ReleasePL|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleasePL|x86.ActiveCfg = ReleasePL|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseSL3|Any CPU.ActiveCfg = ReleaseSL3|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseSL3|Any CPU.Build.0 = ReleaseSL3|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseSL3|Mixed Platforms.ActiveCfg = ReleaseSL3|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseSL3|Mixed Platforms.Build.0 = ReleaseSL3|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseSL3|x86.ActiveCfg = ReleaseSL3|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleasePLLITE|Any CPU.ActiveCfg = ReleasePLLITE|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleasePLLITE|Any CPU.Build.0 = ReleasePLLITE|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleasePLLITE|Mixed Platforms.ActiveCfg = ReleasePLLITE|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleasePLLITE|Mixed Platforms.Build.0 = ReleasePLLITE|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleasePLLITE|x86.ActiveCfg = ReleasePLLITE|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseSL4|Any CPU.ActiveCfg = ReleaseSL4|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseSL4|Any CPU.Build.0 = ReleaseSL4|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseSL4|Mixed Platforms.ActiveCfg = ReleaseSL4|Any CPU
@@ -267,26 +228,16 @@ Global
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseWP7|Mixed Platforms.ActiveCfg = ReleaseWP7|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseWP7|Mixed Platforms.Build.0 = ReleaseWP7|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseWP7|x86.ActiveCfg = ReleaseWP7|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseWP8|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseWP8|Any CPU.Build.0 = ReleasePL|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseWP8|Any CPU.ActiveCfg = ReleaseWP8|Any CPU
+ {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseWP8|Any CPU.Build.0 = ReleaseWP8|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseWP8|Mixed Platforms.ActiveCfg = ReleaseWP8|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseWP8|Mixed Platforms.Build.0 = ReleaseWP8|Any CPU
{63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseWP8|x86.ActiveCfg = ReleaseWP8|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseXBLV|Any CPU.ActiveCfg = ReleaseXBLV|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseXBLV|Any CPU.Build.0 = ReleaseXBLV|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseXBLV|Mixed Platforms.ActiveCfg = ReleaseXBLV|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseXBLV|Mixed Platforms.Build.0 = ReleaseXBLV|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseXBLV|x86.ActiveCfg = ReleaseXBLV|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseXNA4|Any CPU.ActiveCfg = ReleaseXNA4|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseXNA4|Any CPU.Build.0 = ReleaseXNA4|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseXNA4|Mixed Platforms.ActiveCfg = ReleaseXNA4|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseXNA4|Mixed Platforms.Build.0 = ReleaseXNA4|Any CPU
- {63252AE9-5186-45CA-BFCD-FA51C6B66A43}.ReleaseXNA4|x86.ActiveCfg = ReleaseXNA4|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Debug|Any CPU.ActiveCfg = DebugPL|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Debug|Any CPU.Build.0 = DebugPL|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Debug|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Debug|Mixed Platforms.Build.0 = DebugPL|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Debug|x86.ActiveCfg = DebugPL|Any CPU
+ {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Debug|Any CPU.ActiveCfg = DebugCF35|Any CPU
+ {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Debug|Any CPU.Build.0 = DebugCF35|Any CPU
+ {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Debug|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
+ {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Debug|Mixed Platforms.Build.0 = DebugCF35|Any CPU
+ {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Debug|x86.ActiveCfg = DebugCF35|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Debug35|Any CPU.ActiveCfg = Debug35|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Debug35|Any CPU.Build.0 = Debug35|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Debug35|Mixed Platforms.ActiveCfg = Debug35|Any CPU
@@ -307,17 +258,12 @@ Global
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Debug8|Mixed Platforms.ActiveCfg = Debug8|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Debug8|Mixed Platforms.Build.0 = Debug8|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Debug8|x86.ActiveCfg = Debug45|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugCF35|Any CPU.ActiveCfg = DebugCF35|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugCF35|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugCF35|x86.ActiveCfg = DebugSL3|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugPL|Any CPU.ActiveCfg = DebugPL|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugPL|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugPL|x86.ActiveCfg = DebugPL|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugSL3|Any CPU.ActiveCfg = DebugSL3|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugSL3|Any CPU.Build.0 = DebugSL3|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugSL3|Mixed Platforms.ActiveCfg = DebugSL3|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugSL3|Mixed Platforms.Build.0 = DebugSL3|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugSL3|x86.ActiveCfg = DebugSL3|Any CPU
+ {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugPLLITE|Any CPU.ActiveCfg = DebugPLLITE|Any CPU
+ {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugPLLITE|Mixed Platforms.ActiveCfg = DebugPLLITE|Any CPU
+ {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugPLLITE|x86.ActiveCfg = DebugPLLITE|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugSL4|Any CPU.ActiveCfg = DebugSL4|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugSL4|Any CPU.Build.0 = DebugSL4|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugSL4|Mixed Platforms.ActiveCfg = DebugSL4|Any CPU
@@ -338,19 +284,11 @@ Global
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugWP8|Mixed Platforms.ActiveCfg = DebugWP8|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugWP8|Mixed Platforms.Build.0 = DebugWP8|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugWP8|x86.ActiveCfg = DebugWP8|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugXBLV|Any CPU.ActiveCfg = DebugXBLV|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugXBLV|Mixed Platforms.ActiveCfg = DebugXBLV|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugXBLV|Mixed Platforms.Build.0 = DebugXBLV|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugXBLV|x86.ActiveCfg = DebugXBLV|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugXNA4|Any CPU.ActiveCfg = DebugXNA4|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugXNA4|Mixed Platforms.ActiveCfg = DebugXNA4|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugXNA4|Mixed Platforms.Build.0 = DebugXNA4|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.DebugXNA4|x86.ActiveCfg = DebugXNA4|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Release|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Release|Any CPU.Build.0 = ReleasePL|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Release|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Release|Mixed Platforms.Build.0 = ReleasePL|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Release|x86.ActiveCfg = ReleasePL|Any CPU
+ {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Release|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
+ {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Release|Any CPU.Build.0 = ReleaseCF35|Any CPU
+ {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Release|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
+ {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Release|Mixed Platforms.Build.0 = ReleaseCF35|Any CPU
+ {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Release|x86.ActiveCfg = ReleaseCF35|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Release35|Any CPU.ActiveCfg = Release35|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Release35|Any CPU.Build.0 = Release35|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Release35|Mixed Platforms.ActiveCfg = Release35|Any CPU
@@ -371,17 +309,12 @@ Global
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Release8|Mixed Platforms.ActiveCfg = Release8|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Release8|Mixed Platforms.Build.0 = Release8|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.Release8|x86.ActiveCfg = Release45|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseCF35|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseCF35|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseCF35|x86.ActiveCfg = ReleaseSL3|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleasePL|Any CPU.ActiveCfg = ReleasePL|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleasePL|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleasePL|x86.ActiveCfg = ReleasePL|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseSL3|Any CPU.ActiveCfg = ReleaseSL3|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseSL3|Any CPU.Build.0 = ReleaseSL3|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseSL3|Mixed Platforms.ActiveCfg = ReleaseSL3|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseSL3|Mixed Platforms.Build.0 = ReleaseSL3|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseSL3|x86.ActiveCfg = ReleaseSL3|Any CPU
+ {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleasePLLITE|Any CPU.ActiveCfg = ReleasePLLITE|Any CPU
+ {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleasePLLITE|Mixed Platforms.ActiveCfg = ReleasePLLITE|Any CPU
+ {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleasePLLITE|x86.ActiveCfg = ReleasePLLITE|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseSL4|Any CPU.ActiveCfg = ReleaseSL4|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseSL4|Any CPU.Build.0 = ReleaseSL4|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseSL4|Mixed Platforms.ActiveCfg = ReleaseSL4|Any CPU
@@ -402,19 +335,11 @@ Global
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseWP8|Mixed Platforms.ActiveCfg = ReleaseWP8|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseWP8|Mixed Platforms.Build.0 = ReleaseWP8|Any CPU
{E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseWP8|x86.ActiveCfg = ReleaseWP8|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseXBLV|Any CPU.ActiveCfg = ReleaseXBLV|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseXBLV|Mixed Platforms.ActiveCfg = ReleaseXBLV|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseXBLV|Mixed Platforms.Build.0 = ReleaseXBLV|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseXBLV|x86.ActiveCfg = ReleaseXBLV|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseXNA4|Any CPU.ActiveCfg = ReleaseXNA4|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseXNA4|Mixed Platforms.ActiveCfg = ReleaseXNA4|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseXNA4|Mixed Platforms.Build.0 = ReleaseXNA4|Any CPU
- {E7B7408B-B039-4F30-B6CF-CC06218CE4CA}.ReleaseXNA4|x86.ActiveCfg = ReleaseXNA4|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Debug|Any CPU.ActiveCfg = DebugPL|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Debug|Any CPU.Build.0 = DebugPL|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Debug|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Debug|Mixed Platforms.Build.0 = DebugPL|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Debug|x86.ActiveCfg = DebugPL|Any CPU
+ {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Debug|Any CPU.ActiveCfg = DebugCF35|Any CPU
+ {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Debug|Any CPU.Build.0 = DebugCF35|Any CPU
+ {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Debug|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
+ {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Debug|Mixed Platforms.Build.0 = DebugCF35|Any CPU
+ {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Debug|x86.ActiveCfg = DebugCF35|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Debug35|Any CPU.ActiveCfg = Debug35|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Debug35|Any CPU.Build.0 = Debug35|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Debug35|Mixed Platforms.ActiveCfg = Debug35|Any CPU
@@ -433,18 +358,14 @@ Global
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Debug8|Any CPU.ActiveCfg = Debug8|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Debug8|Mixed Platforms.ActiveCfg = Debug8|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Debug8|x86.ActiveCfg = Debug45|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugCF35|Any CPU.ActiveCfg = DebugCF35|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugCF35|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugCF35|x86.ActiveCfg = DebugSL3|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugPL|Any CPU.ActiveCfg = DebugPL|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugPL|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugPL|x86.ActiveCfg = DebugPL|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugSL3|Any CPU.ActiveCfg = DebugSL3|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugSL3|Mixed Platforms.ActiveCfg = DebugSL3|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugSL3|Mixed Platforms.Build.0 = DebugSL3|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugSL3|x86.ActiveCfg = DebugSL3|Any CPU
+ {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugPLLITE|Any CPU.ActiveCfg = Debug40|Any CPU
+ {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugPLLITE|Any CPU.Build.0 = Debug40|Any CPU
+ {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugPLLITE|Mixed Platforms.ActiveCfg = DebugPLLITE|Any CPU
+ {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugPLLITE|x86.ActiveCfg = DebugPLLITE|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugSL4|Any CPU.ActiveCfg = DebugSL4|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugSL4|Any CPU.Build.0 = DebugSL4|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugSL4|Mixed Platforms.ActiveCfg = DebugSL4|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugSL4|Mixed Platforms.Build.0 = DebugSL4|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugSL4|x86.ActiveCfg = DebugSL4|Any CPU
@@ -454,28 +375,18 @@ Global
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugSL5|Mixed Platforms.Build.0 = DebugSL5|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugSL5|x86.ActiveCfg = DebugSL5|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugWP7|Any CPU.ActiveCfg = DebugWP7|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugWP7|Any CPU.Build.0 = DebugWP7|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugWP7|Mixed Platforms.ActiveCfg = DebugWP7|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugWP7|Mixed Platforms.Build.0 = DebugWP7|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugWP7|x86.ActiveCfg = DebugWP7|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugWP8|Any CPU.ActiveCfg = DebugWP8|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugWP8|Any CPU.Build.0 = DebugWP8|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugWP8|Mixed Platforms.ActiveCfg = DebugWP8|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugWP8|Mixed Platforms.Build.0 = DebugWP8|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugWP8|x86.ActiveCfg = DebugWP8|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugXBLV|Any CPU.ActiveCfg = DebugXBLV|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugXBLV|Mixed Platforms.ActiveCfg = DebugXBLV|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugXBLV|Mixed Platforms.Build.0 = DebugXBLV|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugXBLV|x86.ActiveCfg = DebugXBLV|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugXNA4|Any CPU.ActiveCfg = DebugXNA4|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugXNA4|Mixed Platforms.ActiveCfg = DebugXNA4|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugXNA4|Mixed Platforms.Build.0 = DebugXNA4|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.DebugXNA4|x86.ActiveCfg = DebugXNA4|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Release|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Release|Any CPU.Build.0 = ReleasePL|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Release|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Release|Mixed Platforms.Build.0 = ReleasePL|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Release|x86.ActiveCfg = ReleasePL|Any CPU
+ {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Release|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
+ {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Release|Any CPU.Build.0 = ReleaseCF35|Any CPU
+ {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Release|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
+ {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Release|Mixed Platforms.Build.0 = ReleaseCF35|Any CPU
+ {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Release|x86.ActiveCfg = ReleaseCF35|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Release35|Any CPU.ActiveCfg = Release35|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Release35|Any CPU.Build.0 = Release35|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Release35|Mixed Platforms.ActiveCfg = Release35|Any CPU
@@ -494,49 +405,34 @@ Global
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Release8|Any CPU.ActiveCfg = Release8|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Release8|Mixed Platforms.ActiveCfg = Release8|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.Release8|x86.ActiveCfg = Release45|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseCF35|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseCF35|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseCF35|x86.ActiveCfg = ReleaseSL3|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleasePL|Any CPU.ActiveCfg = ReleasePL|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleasePL|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleasePL|x86.ActiveCfg = ReleasePL|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseSL3|Any CPU.ActiveCfg = ReleaseSL3|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseSL3|Mixed Platforms.ActiveCfg = ReleaseSL3|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseSL3|Mixed Platforms.Build.0 = ReleaseSL3|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseSL3|x86.ActiveCfg = ReleaseSL3|Any CPU
+ {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleasePLLITE|Any CPU.ActiveCfg = ReleasePLLITE|Any CPU
+ {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleasePLLITE|Mixed Platforms.ActiveCfg = ReleasePLLITE|Any CPU
+ {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleasePLLITE|x86.ActiveCfg = ReleasePLLITE|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseSL4|Any CPU.ActiveCfg = ReleaseSL4|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseSL4|Any CPU.Build.0 = ReleaseSL4|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseSL4|Mixed Platforms.ActiveCfg = ReleaseSL4|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseSL4|Mixed Platforms.Build.0 = ReleaseSL4|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseSL4|x86.ActiveCfg = ReleaseSL4|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseSL5|Any CPU.ActiveCfg = ReleaseSL5|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseSL5|Any CPU.Build.0 = ReleaseSL5|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseSL5|Mixed Platforms.ActiveCfg = ReleaseSL5|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseSL5|Mixed Platforms.Build.0 = ReleaseSL5|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseSL5|x86.ActiveCfg = ReleaseSL5|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseWP7|Any CPU.ActiveCfg = ReleaseWP7|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseWP7|Any CPU.Build.0 = ReleaseWP7|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseWP7|Mixed Platforms.ActiveCfg = ReleaseWP7|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseWP7|Mixed Platforms.Build.0 = ReleaseWP7|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseWP7|x86.ActiveCfg = ReleaseWP7|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseWP8|Any CPU.ActiveCfg = ReleaseWP8|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseWP8|Any CPU.Build.0 = ReleaseWP8|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseWP8|Mixed Platforms.ActiveCfg = ReleaseWP8|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseWP8|Mixed Platforms.Build.0 = ReleaseWP8|Any CPU
{2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseWP8|x86.ActiveCfg = ReleaseWP8|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseXBLV|Any CPU.ActiveCfg = ReleaseXBLV|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseXBLV|Mixed Platforms.ActiveCfg = ReleaseXBLV|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseXBLV|Mixed Platforms.Build.0 = ReleaseXBLV|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseXBLV|x86.ActiveCfg = ReleaseXBLV|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseXNA4|Any CPU.ActiveCfg = ReleaseXNA4|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseXNA4|Mixed Platforms.ActiveCfg = ReleaseXNA4|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseXNA4|Mixed Platforms.Build.0 = ReleaseXNA4|Any CPU
- {2FEFC068-E2DE-43A9-A4E6-E0336A532B7A}.ReleaseXNA4|x86.ActiveCfg = ReleaseXNA4|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Debug|Any CPU.ActiveCfg = DebugPL|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Debug|Any CPU.Build.0 = DebugPL|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Debug|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Debug|Mixed Platforms.Build.0 = DebugPL|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Debug|x86.ActiveCfg = DebugPL|Any CPU
+ {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Debug|Any CPU.ActiveCfg = DebugCF35|Any CPU
+ {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Debug|Any CPU.Build.0 = DebugCF35|Any CPU
+ {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Debug|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
+ {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Debug|Mixed Platforms.Build.0 = DebugCF35|Any CPU
+ {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Debug|x86.ActiveCfg = DebugCF35|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Debug35|Any CPU.ActiveCfg = Debug35|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Debug35|Any CPU.Build.0 = Debug35|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Debug35|Mixed Platforms.ActiveCfg = Debug35|Any CPU
@@ -555,17 +451,12 @@ Global
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Debug8|Any CPU.ActiveCfg = Debug8|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Debug8|Mixed Platforms.ActiveCfg = Debug8|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Debug8|x86.ActiveCfg = Debug45|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugCF35|Any CPU.ActiveCfg = DebugCF35|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugCF35|Any CPU.Build.0 = DebugCF35|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugCF35|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugCF35|Mixed Platforms.Build.0 = DebugCF35|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugCF35|x86.ActiveCfg = DebugSL3|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugPL|Any CPU.ActiveCfg = DebugPL|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugPL|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugPL|x86.ActiveCfg = DebugPL|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugSL3|Any CPU.ActiveCfg = DebugSL3|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugSL3|Mixed Platforms.ActiveCfg = DebugSL3|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugSL3|x86.ActiveCfg = DebugSL3|Any CPU
+ {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugPLLITE|Any CPU.ActiveCfg = DebugPLLITE|Any CPU
+ {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugPLLITE|Mixed Platforms.ActiveCfg = DebugPLLITE|Any CPU
+ {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugPLLITE|x86.ActiveCfg = DebugPLLITE|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugSL4|Any CPU.ActiveCfg = DebugSL4|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugSL4|Mixed Platforms.ActiveCfg = DebugSL4|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugSL4|x86.ActiveCfg = DebugSL4|Any CPU
@@ -578,18 +469,11 @@ Global
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugWP8|Any CPU.ActiveCfg = DebugWP8|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugWP8|Mixed Platforms.ActiveCfg = DebugWP8|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugWP8|x86.ActiveCfg = DebugWP8|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugXBLV|Any CPU.ActiveCfg = DebugXBLV|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugXBLV|Mixed Platforms.ActiveCfg = DebugXBLV|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugXBLV|Mixed Platforms.Build.0 = DebugXBLV|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugXBLV|x86.ActiveCfg = DebugXBLV|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugXNA4|Any CPU.ActiveCfg = DebugXNA4|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugXNA4|Mixed Platforms.ActiveCfg = DebugXNA4|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.DebugXNA4|x86.ActiveCfg = DebugXNA4|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Release|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Release|Any CPU.Build.0 = ReleasePL|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Release|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Release|Mixed Platforms.Build.0 = ReleasePL|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Release|x86.ActiveCfg = ReleasePL|Any CPU
+ {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Release|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
+ {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Release|Any CPU.Build.0 = ReleaseCF35|Any CPU
+ {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Release|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
+ {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Release|Mixed Platforms.Build.0 = ReleaseCF35|Any CPU
+ {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Release|x86.ActiveCfg = ReleaseCF35|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Release35|Any CPU.ActiveCfg = Release35|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Release35|Any CPU.Build.0 = Release35|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Release35|Mixed Platforms.ActiveCfg = Release35|Any CPU
@@ -608,17 +492,12 @@ Global
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Release8|Any CPU.ActiveCfg = Release8|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Release8|Mixed Platforms.ActiveCfg = Release8|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.Release8|x86.ActiveCfg = Release45|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseCF35|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseCF35|Any CPU.Build.0 = ReleaseCF35|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseCF35|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseCF35|Mixed Platforms.Build.0 = ReleaseCF35|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseCF35|x86.ActiveCfg = ReleaseSL3|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleasePL|Any CPU.ActiveCfg = ReleasePL|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleasePL|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleasePL|x86.ActiveCfg = ReleasePL|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseSL3|Any CPU.ActiveCfg = ReleaseSL3|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseSL3|Mixed Platforms.ActiveCfg = ReleaseSL3|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseSL3|x86.ActiveCfg = ReleaseSL3|Any CPU
+ {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleasePLLITE|Any CPU.ActiveCfg = ReleasePLLITE|Any CPU
+ {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleasePLLITE|Mixed Platforms.ActiveCfg = ReleasePLLITE|Any CPU
+ {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleasePLLITE|x86.ActiveCfg = ReleasePLLITE|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseSL4|Any CPU.ActiveCfg = ReleaseSL4|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseSL4|Mixed Platforms.ActiveCfg = ReleaseSL4|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseSL4|x86.ActiveCfg = ReleaseSL4|Any CPU
@@ -631,18 +510,11 @@ Global
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseWP8|Any CPU.ActiveCfg = ReleaseWP8|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseWP8|Mixed Platforms.ActiveCfg = ReleaseWP8|Any CPU
{E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseWP8|x86.ActiveCfg = ReleaseWP8|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseXBLV|Any CPU.ActiveCfg = ReleaseXBLV|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseXBLV|Mixed Platforms.ActiveCfg = ReleaseXBLV|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseXBLV|Mixed Platforms.Build.0 = ReleaseXBLV|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseXBLV|x86.ActiveCfg = ReleaseXBLV|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseXNA4|Any CPU.ActiveCfg = ReleaseXNA4|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseXNA4|Mixed Platforms.ActiveCfg = ReleaseXNA4|Any CPU
- {E32328A1-1F5B-45F9-B005-02EF5CC2CF0D}.ReleaseXNA4|x86.ActiveCfg = ReleaseXNA4|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Debug|Any CPU.ActiveCfg = DebugPL|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Debug|Any CPU.Build.0 = DebugPL|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Debug|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Debug|Mixed Platforms.Build.0 = DebugPL|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Debug|x86.ActiveCfg = DebugPL|Any CPU
+ {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Debug|Any CPU.ActiveCfg = DebugCF35|Any CPU
+ {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Debug|Any CPU.Build.0 = DebugCF35|Any CPU
+ {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Debug|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
+ {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Debug|Mixed Platforms.Build.0 = DebugCF35|Any CPU
+ {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Debug|x86.ActiveCfg = DebugCF35|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Debug35|Any CPU.ActiveCfg = Debug35|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Debug35|Any CPU.Build.0 = Debug35|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Debug35|Mixed Platforms.ActiveCfg = Debug35|Any CPU
@@ -663,17 +535,12 @@ Global
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Debug8|Mixed Platforms.ActiveCfg = Debug8|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Debug8|Mixed Platforms.Build.0 = Debug8|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Debug8|x86.ActiveCfg = Debug45|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugCF35|Any CPU.ActiveCfg = DebugCF35|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugCF35|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugCF35|x86.ActiveCfg = DebugSL3|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugPL|Any CPU.ActiveCfg = DebugPL|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugPL|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugPL|x86.ActiveCfg = DebugPL|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugSL3|Any CPU.ActiveCfg = DebugSL3|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugSL3|Any CPU.Build.0 = DebugSL3|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugSL3|Mixed Platforms.ActiveCfg = DebugSL3|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugSL3|Mixed Platforms.Build.0 = DebugSL3|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugSL3|x86.ActiveCfg = DebugSL3|Any CPU
+ {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugPLLITE|Any CPU.ActiveCfg = DebugPLLITE|Any CPU
+ {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugPLLITE|Mixed Platforms.ActiveCfg = DebugPLLITE|Any CPU
+ {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugPLLITE|x86.ActiveCfg = DebugPLLITE|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugSL4|Any CPU.ActiveCfg = DebugSL4|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugSL4|Any CPU.Build.0 = DebugSL4|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugSL4|Mixed Platforms.ActiveCfg = DebugSL4|Any CPU
@@ -694,20 +561,11 @@ Global
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugWP8|Mixed Platforms.ActiveCfg = DebugWP8|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugWP8|Mixed Platforms.Build.0 = DebugWP8|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugWP8|x86.ActiveCfg = DebugWP8|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugXBLV|Any CPU.ActiveCfg = DebugXBLV|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugXBLV|Any CPU.Build.0 = DebugXBLV|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugXBLV|Mixed Platforms.ActiveCfg = DebugXBLV|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugXBLV|Mixed Platforms.Build.0 = DebugXBLV|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugXBLV|x86.ActiveCfg = DebugXBLV|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugXNA4|Any CPU.ActiveCfg = DebugXNA4|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugXNA4|Mixed Platforms.ActiveCfg = DebugXNA4|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugXNA4|Mixed Platforms.Build.0 = DebugXNA4|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.DebugXNA4|x86.ActiveCfg = DebugXNA4|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Release|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Release|Any CPU.Build.0 = ReleasePL|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Release|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Release|Mixed Platforms.Build.0 = ReleasePL|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Release|x86.ActiveCfg = ReleasePL|Any CPU
+ {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Release|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
+ {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Release|Any CPU.Build.0 = ReleaseCF35|Any CPU
+ {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Release|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
+ {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Release|Mixed Platforms.Build.0 = ReleaseCF35|Any CPU
+ {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Release|x86.ActiveCfg = ReleaseCF35|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Release35|Any CPU.ActiveCfg = Release35|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Release35|Any CPU.Build.0 = Release35|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Release35|Mixed Platforms.ActiveCfg = Release35|Any CPU
@@ -727,18 +585,13 @@ Global
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Release8|Any CPU.Build.0 = Release8|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Release8|Mixed Platforms.ActiveCfg = Release8|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Release8|Mixed Platforms.Build.0 = Release8|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Release8|x86.ActiveCfg = Release45|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseCF35|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseCF35|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseCF35|x86.ActiveCfg = ReleaseSL3|Any CPU
+ {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.Release8|x86.ActiveCfg = Release8|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleasePL|Any CPU.ActiveCfg = ReleasePL|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleasePL|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleasePL|x86.ActiveCfg = ReleasePL|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseSL3|Any CPU.ActiveCfg = ReleaseSL3|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseSL3|Any CPU.Build.0 = ReleaseSL3|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseSL3|Mixed Platforms.ActiveCfg = ReleaseSL3|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseSL3|Mixed Platforms.Build.0 = ReleaseSL3|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseSL3|x86.ActiveCfg = ReleaseSL3|Any CPU
+ {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleasePLLITE|Any CPU.ActiveCfg = ReleasePLLITE|Any CPU
+ {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleasePLLITE|Mixed Platforms.ActiveCfg = ReleasePLLITE|Any CPU
+ {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleasePLLITE|x86.ActiveCfg = ReleasePLLITE|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseSL4|Any CPU.ActiveCfg = ReleaseSL4|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseSL4|Any CPU.Build.0 = ReleaseSL4|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseSL4|Mixed Platforms.ActiveCfg = ReleaseSL4|Any CPU
@@ -759,20 +612,11 @@ Global
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseWP8|Mixed Platforms.ActiveCfg = ReleaseWP8|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseWP8|Mixed Platforms.Build.0 = ReleaseWP8|Any CPU
{2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseWP8|x86.ActiveCfg = ReleaseWP8|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseXBLV|Any CPU.ActiveCfg = ReleaseXBLV|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseXBLV|Any CPU.Build.0 = ReleaseXBLV|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseXBLV|Mixed Platforms.ActiveCfg = ReleaseXBLV|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseXBLV|Mixed Platforms.Build.0 = ReleaseXBLV|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseXBLV|x86.ActiveCfg = ReleaseXBLV|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseXNA4|Any CPU.ActiveCfg = ReleaseXNA4|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseXNA4|Mixed Platforms.ActiveCfg = ReleaseXNA4|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseXNA4|Mixed Platforms.Build.0 = ReleaseXNA4|Any CPU
- {2F7D32BD-5BFC-45D4-9899-F1A76DB32FCB}.ReleaseXNA4|x86.ActiveCfg = ReleaseXNA4|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug|Any CPU.ActiveCfg = DebugPL|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug|Any CPU.Build.0 = DebugPL|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug|Mixed Platforms.Build.0 = DebugPL|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug|x86.ActiveCfg = DebugPL|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug|Any CPU.ActiveCfg = DebugCF35|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug|Any CPU.Build.0 = DebugCF35|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug|Mixed Platforms.Build.0 = DebugCF35|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug|x86.ActiveCfg = DebugCF35|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug35|Any CPU.ActiveCfg = Debug35|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug35|Any CPU.Build.0 = Debug35|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug35|Mixed Platforms.ActiveCfg = Debug35|Any CPU
@@ -783,29 +627,26 @@ Global
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug40|Mixed Platforms.ActiveCfg = Debug40|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug40|Mixed Platforms.Build.0 = Debug40|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug40|x86.ActiveCfg = Debug40|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug45|Any CPU.ActiveCfg = DebugPL|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug45|Any CPU.Build.0 = DebugPL|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug45|Any CPU.ActiveCfg = Debug45|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug45|Any CPU.Build.0 = Debug45|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug45|Mixed Platforms.ActiveCfg = Debug45|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug45|Mixed Platforms.Build.0 = Debug45|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug45|x86.ActiveCfg = Debug45|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug8|Any CPU.ActiveCfg = DebugPL|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug8|Any CPU.Build.0 = DebugPL|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug8|Any CPU.ActiveCfg = Debug8|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug8|Any CPU.Build.0 = Debug8|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug8|Mixed Platforms.ActiveCfg = Debug8|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug8|Mixed Platforms.Build.0 = Debug8|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug8|x86.ActiveCfg = Debug45|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugCF35|Any CPU.ActiveCfg = DebugCF35|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugCF35|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugCF35|x86.ActiveCfg = DebugSL3|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Debug8|x86.ActiveCfg = Debug8|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugPL|Any CPU.ActiveCfg = DebugPL|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugPL|Any CPU.Build.0 = DebugPL|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugPL|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugPL|Mixed Platforms.Build.0 = DebugPL|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugPL|x86.ActiveCfg = DebugPL|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugSL3|Any CPU.ActiveCfg = DebugSL3|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugSL3|Any CPU.Build.0 = DebugSL3|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugSL3|Mixed Platforms.ActiveCfg = DebugSL3|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugSL3|Mixed Platforms.Build.0 = DebugSL3|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugSL3|x86.ActiveCfg = DebugSL3|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugPLLITE|Any CPU.ActiveCfg = DebugPLLITE|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugPLLITE|Any CPU.Build.0 = DebugPLLITE|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugPLLITE|Mixed Platforms.ActiveCfg = DebugPLLITE|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugPLLITE|Mixed Platforms.Build.0 = DebugPLLITE|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugPLLITE|x86.ActiveCfg = DebugPLLITE|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugSL4|Any CPU.ActiveCfg = DebugSL4|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugSL4|Any CPU.Build.0 = DebugSL4|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugSL4|Mixed Platforms.ActiveCfg = DebugSL4|Any CPU
@@ -821,24 +662,16 @@ Global
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugWP7|Mixed Platforms.ActiveCfg = DebugWP7|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugWP7|Mixed Platforms.Build.0 = DebugWP7|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugWP7|x86.ActiveCfg = DebugWP7|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugWP8|Any CPU.ActiveCfg = DebugPL|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugWP8|Any CPU.Build.0 = DebugPL|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugWP8|Any CPU.ActiveCfg = DebugWP8|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugWP8|Any CPU.Build.0 = DebugWP8|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugWP8|Mixed Platforms.ActiveCfg = DebugWP8|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugWP8|Mixed Platforms.Build.0 = DebugWP8|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugWP8|x86.ActiveCfg = DebugWP8|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugXBLV|Any CPU.ActiveCfg = DebugXBLV|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugXBLV|Mixed Platforms.ActiveCfg = DebugXBLV|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugXBLV|Mixed Platforms.Build.0 = DebugXBLV|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugXBLV|x86.ActiveCfg = DebugXBLV|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugXNA4|Any CPU.ActiveCfg = DebugXNA4|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugXNA4|Mixed Platforms.ActiveCfg = DebugXNA4|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugXNA4|Mixed Platforms.Build.0 = DebugXNA4|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.DebugXNA4|x86.ActiveCfg = DebugXNA4|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release|Any CPU.Build.0 = ReleasePL|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release|Mixed Platforms.Build.0 = ReleasePL|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release|x86.ActiveCfg = ReleasePL|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release|Any CPU.Build.0 = ReleaseCF35|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release|Mixed Platforms.Build.0 = ReleaseCF35|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release|x86.ActiveCfg = ReleaseCF35|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release35|Any CPU.ActiveCfg = Release35|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release35|Any CPU.Build.0 = Release35|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release35|Mixed Platforms.ActiveCfg = Release35|Any CPU
@@ -849,29 +682,26 @@ Global
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release40|Mixed Platforms.ActiveCfg = Release40|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release40|Mixed Platforms.Build.0 = Release40|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release40|x86.ActiveCfg = Release40|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release45|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release45|Any CPU.Build.0 = ReleasePL|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release45|Any CPU.ActiveCfg = Release45|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release45|Any CPU.Build.0 = Release45|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release45|Mixed Platforms.ActiveCfg = Release45|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release45|Mixed Platforms.Build.0 = Release45|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release45|x86.ActiveCfg = Release45|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release8|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release8|Any CPU.Build.0 = ReleasePL|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release8|Any CPU.ActiveCfg = Release8|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release8|Any CPU.Build.0 = Release8|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release8|Mixed Platforms.ActiveCfg = Release8|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release8|Mixed Platforms.Build.0 = Release8|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release8|x86.ActiveCfg = Release45|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseCF35|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseCF35|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseCF35|x86.ActiveCfg = ReleaseSL3|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.Release8|x86.ActiveCfg = Release8|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleasePL|Any CPU.ActiveCfg = ReleasePL|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleasePL|Any CPU.Build.0 = ReleasePL|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleasePL|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleasePL|Mixed Platforms.Build.0 = ReleasePL|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleasePL|x86.ActiveCfg = ReleasePL|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseSL3|Any CPU.ActiveCfg = ReleaseSL3|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseSL3|Any CPU.Build.0 = ReleaseSL3|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseSL3|Mixed Platforms.ActiveCfg = ReleaseSL3|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseSL3|Mixed Platforms.Build.0 = ReleaseSL3|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseSL3|x86.ActiveCfg = ReleaseSL3|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleasePLLITE|Any CPU.ActiveCfg = ReleasePLLITE|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleasePLLITE|Any CPU.Build.0 = ReleasePLLITE|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleasePLLITE|Mixed Platforms.ActiveCfg = ReleasePLLITE|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleasePLLITE|Mixed Platforms.Build.0 = ReleasePLLITE|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleasePLLITE|x86.ActiveCfg = ReleasePLLITE|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseSL4|Any CPU.ActiveCfg = ReleaseSL4|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseSL4|Any CPU.Build.0 = ReleaseSL4|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseSL4|Mixed Platforms.ActiveCfg = ReleaseSL4|Any CPU
@@ -887,19 +717,11 @@ Global
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseWP7|Mixed Platforms.ActiveCfg = ReleaseWP7|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseWP7|Mixed Platforms.Build.0 = ReleaseWP7|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseWP7|x86.ActiveCfg = ReleaseWP7|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseWP8|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseWP8|Any CPU.Build.0 = ReleasePL|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseWP8|Any CPU.ActiveCfg = ReleaseWP8|Any CPU
+ {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseWP8|Any CPU.Build.0 = ReleaseWP8|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseWP8|Mixed Platforms.ActiveCfg = ReleaseWP8|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseWP8|Mixed Platforms.Build.0 = ReleaseWP8|Any CPU
{C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseWP8|x86.ActiveCfg = ReleaseWP8|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseXBLV|Any CPU.ActiveCfg = ReleaseXBLV|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseXBLV|Mixed Platforms.ActiveCfg = ReleaseXBLV|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseXBLV|Mixed Platforms.Build.0 = ReleaseXBLV|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseXBLV|x86.ActiveCfg = ReleaseXBLV|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseXNA4|Any CPU.ActiveCfg = ReleaseXNA4|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseXNA4|Mixed Platforms.ActiveCfg = ReleaseXNA4|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseXNA4|Mixed Platforms.Build.0 = ReleaseXNA4|Any CPU
- {C7B9D7BE-F47F-466B-A6B0-E46F1069B171}.ReleaseXNA4|x86.ActiveCfg = ReleaseXNA4|Any CPU
{8A062C6B-4441-49F3-B618-4238B6AB5290}.Debug|Any CPU.ActiveCfg = Debug|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.Debug|Mixed Platforms.Build.0 = Debug|x86
@@ -923,18 +745,15 @@ Global
{8A062C6B-4441-49F3-B618-4238B6AB5290}.Debug8|Mixed Platforms.ActiveCfg = Debug|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.Debug8|x86.ActiveCfg = Debug|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.Debug8|x86.Build.0 = Debug|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugCF35|Any CPU.ActiveCfg = Debug|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugCF35|Mixed Platforms.ActiveCfg = Debug|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugCF35|x86.ActiveCfg = Debug|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugCF35|x86.Build.0 = Debug|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugPL|Any CPU.ActiveCfg = Debug|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugPL|Mixed Platforms.ActiveCfg = Debug|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugPL|x86.ActiveCfg = Debug|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugPL|x86.Build.0 = Debug|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugSL3|Any CPU.ActiveCfg = Debug|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugSL3|Mixed Platforms.ActiveCfg = Debug|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugSL3|x86.ActiveCfg = Debug|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugSL3|x86.Build.0 = Debug|x86
+ {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugPLLITE|Any CPU.ActiveCfg = Debug|x86
+ {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugPLLITE|Mixed Platforms.ActiveCfg = Debug|x86
+ {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugPLLITE|Mixed Platforms.Build.0 = Debug|x86
+ {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugPLLITE|x86.ActiveCfg = Debug|x86
+ {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugPLLITE|x86.Build.0 = Debug|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugSL4|Any CPU.ActiveCfg = Debug|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugSL4|Mixed Platforms.ActiveCfg = Debug|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugSL4|x86.ActiveCfg = Debug|x86
@@ -951,15 +770,6 @@ Global
{8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugWP8|Mixed Platforms.ActiveCfg = Debug|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugWP8|x86.ActiveCfg = Debug|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugWP8|x86.Build.0 = Debug|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugXBLV|Any CPU.ActiveCfg = DebugXBLV|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugXBLV|Mixed Platforms.ActiveCfg = DebugXBLV|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugXBLV|Mixed Platforms.Build.0 = DebugXBLV|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugXBLV|x86.ActiveCfg = DebugXBLV|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugXBLV|x86.Build.0 = DebugXBLV|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugXNA4|Any CPU.ActiveCfg = Debug|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugXNA4|Mixed Platforms.ActiveCfg = Debug|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugXNA4|x86.ActiveCfg = Debug|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.DebugXNA4|x86.Build.0 = Debug|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.Release|Any CPU.ActiveCfg = Release|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.Release|Mixed Platforms.ActiveCfg = Release|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.Release|Mixed Platforms.Build.0 = Release|x86
@@ -981,18 +791,15 @@ Global
{8A062C6B-4441-49F3-B618-4238B6AB5290}.Release8|Mixed Platforms.ActiveCfg = Release|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.Release8|x86.ActiveCfg = Release|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.Release8|x86.Build.0 = Release|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseCF35|Any CPU.ActiveCfg = Release|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseCF35|Mixed Platforms.ActiveCfg = Release|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseCF35|x86.ActiveCfg = Release|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseCF35|x86.Build.0 = Release|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleasePL|Any CPU.ActiveCfg = Release|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleasePL|Mixed Platforms.ActiveCfg = Release|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleasePL|x86.ActiveCfg = Release|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleasePL|x86.Build.0 = Release|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseSL3|Any CPU.ActiveCfg = Release|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseSL3|Mixed Platforms.ActiveCfg = Release|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseSL3|x86.ActiveCfg = Release|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseSL3|x86.Build.0 = Release|x86
+ {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleasePLLITE|Any CPU.ActiveCfg = Release|x86
+ {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleasePLLITE|Mixed Platforms.ActiveCfg = ReleaseXBLV|x86
+ {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleasePLLITE|Mixed Platforms.Build.0 = ReleaseXBLV|x86
+ {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleasePLLITE|x86.ActiveCfg = ReleaseXBLV|x86
+ {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleasePLLITE|x86.Build.0 = ReleaseXBLV|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseSL4|Any CPU.ActiveCfg = Release|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseSL4|Mixed Platforms.ActiveCfg = Release|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseSL4|x86.ActiveCfg = Release|x86
@@ -1009,20 +816,11 @@ Global
{8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseWP8|Mixed Platforms.ActiveCfg = Release|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseWP8|x86.ActiveCfg = Release|x86
{8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseWP8|x86.Build.0 = Release|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseXBLV|Any CPU.ActiveCfg = ReleaseXBLV|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseXBLV|Mixed Platforms.ActiveCfg = ReleaseXBLV|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseXBLV|Mixed Platforms.Build.0 = ReleaseXBLV|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseXBLV|x86.ActiveCfg = ReleaseXBLV|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseXBLV|x86.Build.0 = ReleaseXBLV|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseXNA4|Any CPU.ActiveCfg = Release|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseXNA4|Mixed Platforms.ActiveCfg = Release|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseXNA4|x86.ActiveCfg = Release|x86
- {8A062C6B-4441-49F3-B618-4238B6AB5290}.ReleaseXNA4|x86.Build.0 = Release|x86
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Debug|Any CPU.ActiveCfg = DebugPL|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Debug|Any CPU.Build.0 = DebugPL|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Debug|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Debug|Mixed Platforms.Build.0 = DebugPL|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Debug|x86.ActiveCfg = DebugPL|Any CPU
+ {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Debug|Any CPU.ActiveCfg = DebugCF35|Any CPU
+ {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Debug|Any CPU.Build.0 = DebugCF35|Any CPU
+ {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Debug|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
+ {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Debug|Mixed Platforms.Build.0 = DebugCF35|Any CPU
+ {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Debug|x86.ActiveCfg = DebugCF35|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.Debug35|Any CPU.ActiveCfg = Debug35|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.Debug35|Mixed Platforms.ActiveCfg = Debug35|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.Debug35|x86.ActiveCfg = Debug35|Any CPU
@@ -1037,15 +835,12 @@ Global
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.Debug8|Mixed Platforms.ActiveCfg = Debug8|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.Debug8|Mixed Platforms.Build.0 = Debug8|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.Debug8|x86.ActiveCfg = Debug8|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugCF35|Any CPU.ActiveCfg = DebugCF35|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugCF35|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugCF35|x86.ActiveCfg = DebugSL3|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugPL|Any CPU.ActiveCfg = DebugPL|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugPL|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugPL|x86.ActiveCfg = DebugPL|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugSL3|Any CPU.ActiveCfg = DebugSL3|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugSL3|Mixed Platforms.ActiveCfg = DebugSL3|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugSL3|x86.ActiveCfg = DebugSL3|Any CPU
+ {EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugPLLITE|Any CPU.ActiveCfg = DebugPLLITE|Any CPU
+ {EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugPLLITE|Mixed Platforms.ActiveCfg = DebugPLLITE|Any CPU
+ {EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugPLLITE|x86.ActiveCfg = DebugPLLITE|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugSL4|Any CPU.ActiveCfg = DebugSL4|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugSL4|Mixed Platforms.ActiveCfg = DebugSL4|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugSL4|x86.ActiveCfg = DebugSL4|Any CPU
@@ -1056,21 +851,14 @@ Global
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugWP7|Mixed Platforms.ActiveCfg = DebugWP7|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugWP7|x86.ActiveCfg = DebugWP7|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugWP8|Any CPU.ActiveCfg = DebugWP8|Any CPU
+ {EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugWP8|Any CPU.Build.0 = DebugWP8|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugWP8|Mixed Platforms.ActiveCfg = DebugWP8|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugWP8|x86.ActiveCfg = DebugWP8|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugXBLV|Any CPU.ActiveCfg = DebugXBLV|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugXBLV|Mixed Platforms.ActiveCfg = DebugXBLV|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugXBLV|Mixed Platforms.Build.0 = DebugXBLV|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugXBLV|x86.ActiveCfg = DebugXBLV|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugXNA4|Any CPU.ActiveCfg = DebugXNA4|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugXNA4|Mixed Platforms.ActiveCfg = DebugXNA4|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugXNA4|Mixed Platforms.Build.0 = DebugXNA4|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.DebugXNA4|x86.ActiveCfg = DebugXNA4|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Release|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Release|Any CPU.Build.0 = ReleasePL|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Release|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Release|Mixed Platforms.Build.0 = ReleasePL|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Release|x86.ActiveCfg = ReleasePL|Any CPU
+ {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Release|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
+ {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Release|Any CPU.Build.0 = ReleaseCF35|Any CPU
+ {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Release|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
+ {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Release|Mixed Platforms.Build.0 = ReleaseCF35|Any CPU
+ {EE655A70-A899-4B38-84D3-FB9F63A8C661}.Release|x86.ActiveCfg = ReleaseCF35|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.Release35|Any CPU.ActiveCfg = Release35|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.Release35|Mixed Platforms.ActiveCfg = Release35|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.Release35|x86.ActiveCfg = Release35|Any CPU
@@ -1085,15 +873,12 @@ Global
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.Release8|Mixed Platforms.ActiveCfg = Release8|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.Release8|Mixed Platforms.Build.0 = Release8|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.Release8|x86.ActiveCfg = Release8|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseCF35|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseCF35|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseCF35|x86.ActiveCfg = ReleaseSL3|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleasePL|Any CPU.ActiveCfg = ReleasePL|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleasePL|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleasePL|x86.ActiveCfg = ReleasePL|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseSL3|Any CPU.ActiveCfg = ReleaseSL3|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseSL3|Mixed Platforms.ActiveCfg = ReleaseSL3|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseSL3|x86.ActiveCfg = ReleaseSL3|Any CPU
+ {EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleasePLLITE|Any CPU.ActiveCfg = ReleasePLLITE|Any CPU
+ {EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleasePLLITE|Mixed Platforms.ActiveCfg = ReleasePLLITE|Any CPU
+ {EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleasePLLITE|x86.ActiveCfg = ReleasePLLITE|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseSL4|Any CPU.ActiveCfg = ReleaseSL4|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseSL4|Mixed Platforms.ActiveCfg = ReleaseSL4|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseSL4|x86.ActiveCfg = ReleaseSL4|Any CPU
@@ -1104,20 +889,14 @@ Global
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseWP7|Mixed Platforms.ActiveCfg = ReleaseWP7|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseWP7|x86.ActiveCfg = ReleaseWP7|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseWP8|Any CPU.ActiveCfg = ReleaseWP8|Any CPU
+ {EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseWP8|Any CPU.Build.0 = ReleaseWP8|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseWP8|Mixed Platforms.ActiveCfg = ReleaseWP8|Any CPU
{EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseWP8|x86.ActiveCfg = ReleaseWP8|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseXBLV|Any CPU.ActiveCfg = ReleaseXBLV|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseXBLV|Mixed Platforms.ActiveCfg = ReleaseXBLV|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseXBLV|Mixed Platforms.Build.0 = ReleaseXBLV|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseXBLV|x86.ActiveCfg = ReleaseXBLV|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseXNA4|Any CPU.ActiveCfg = ReleaseXNA4|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseXNA4|Mixed Platforms.ActiveCfg = ReleaseXNA4|Any CPU
- {EE655A70-A899-4B38-84D3-FB9F63A8C661}.ReleaseXNA4|x86.ActiveCfg = ReleaseXNA4|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug|Any CPU.ActiveCfg = DebugPL|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug|Any CPU.Build.0 = DebugPL|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug|Mixed Platforms.Build.0 = DebugPL|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug|x86.ActiveCfg = DebugPL|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug|Any CPU.ActiveCfg = DebugCF35|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug|Any CPU.Build.0 = DebugCF35|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug|Mixed Platforms.Build.0 = DebugCF35|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug|x86.ActiveCfg = DebugCF35|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug35|Any CPU.ActiveCfg = Debug35|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug35|Any CPU.Build.0 = Debug35|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug35|Mixed Platforms.ActiveCfg = Debug35|Any CPU
@@ -1128,31 +907,26 @@ Global
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug40|Mixed Platforms.ActiveCfg = Debug40|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug40|Mixed Platforms.Build.0 = Debug40|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug40|x86.ActiveCfg = Debug40|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug45|Any CPU.ActiveCfg = DebugPL|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug45|Any CPU.Build.0 = DebugPL|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug45|Any CPU.ActiveCfg = Debug45|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug45|Any CPU.Build.0 = Debug45|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug45|Mixed Platforms.ActiveCfg = Debug45|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug45|Mixed Platforms.Build.0 = Debug45|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug45|x86.ActiveCfg = Debug45|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug8|Any CPU.ActiveCfg = DebugPL|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug8|Any CPU.Build.0 = DebugPL|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug8|Any CPU.ActiveCfg = Debug8|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug8|Any CPU.Build.0 = Debug8|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug8|Mixed Platforms.ActiveCfg = Debug8|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug8|Mixed Platforms.Build.0 = Debug8|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Debug8|x86.ActiveCfg = Debug8|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugCF35|Any CPU.ActiveCfg = DebugCF35|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugCF35|Any CPU.Build.0 = DebugCF35|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugCF35|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugCF35|Mixed Platforms.Build.0 = DebugCF35|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugCF35|x86.ActiveCfg = DebugSL3|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugPL|Any CPU.ActiveCfg = DebugPL|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugPL|Any CPU.Build.0 = DebugPL|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugPL|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugPL|Mixed Platforms.Build.0 = DebugPL|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugPL|x86.ActiveCfg = DebugPL|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugSL3|Any CPU.ActiveCfg = DebugSL3|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugSL3|Any CPU.Build.0 = DebugSL3|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugSL3|Mixed Platforms.ActiveCfg = DebugSL3|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugSL3|Mixed Platforms.Build.0 = DebugSL3|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugSL3|x86.ActiveCfg = DebugSL3|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugPLLITE|Any CPU.ActiveCfg = DebugPLLITE|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugPLLITE|Any CPU.Build.0 = DebugPLLITE|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugPLLITE|Mixed Platforms.ActiveCfg = DebugPLLITE|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugPLLITE|Mixed Platforms.Build.0 = DebugPLLITE|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugPLLITE|x86.ActiveCfg = DebugPLLITE|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugSL4|Any CPU.ActiveCfg = DebugSL4|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugSL4|Any CPU.Build.0 = DebugSL4|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugSL4|Mixed Platforms.ActiveCfg = DebugSL4|Any CPU
@@ -1168,26 +942,16 @@ Global
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugWP7|Mixed Platforms.ActiveCfg = DebugWP7|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugWP7|Mixed Platforms.Build.0 = DebugWP7|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugWP7|x86.ActiveCfg = DebugWP7|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugWP8|Any CPU.ActiveCfg = DebugPL|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugWP8|Any CPU.Build.0 = DebugPL|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugWP8|Any CPU.ActiveCfg = DebugWP8|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugWP8|Any CPU.Build.0 = DebugWP8|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugWP8|Mixed Platforms.ActiveCfg = DebugWP8|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugWP8|Mixed Platforms.Build.0 = DebugWP8|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugWP8|x86.ActiveCfg = DebugWP8|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugXBLV|Any CPU.ActiveCfg = DebugXBLV|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugXBLV|Any CPU.Build.0 = DebugXBLV|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugXBLV|Mixed Platforms.ActiveCfg = DebugXBLV|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugXBLV|Mixed Platforms.Build.0 = DebugXBLV|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugXBLV|x86.ActiveCfg = DebugXBLV|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugXNA4|Any CPU.ActiveCfg = DebugXNA4|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugXNA4|Any CPU.Build.0 = DebugXNA4|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugXNA4|Mixed Platforms.ActiveCfg = DebugXNA4|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugXNA4|Mixed Platforms.Build.0 = DebugXNA4|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.DebugXNA4|x86.ActiveCfg = DebugXNA4|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release|Any CPU.Build.0 = ReleasePL|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release|Mixed Platforms.Build.0 = ReleasePL|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release|x86.ActiveCfg = ReleasePL|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release|Any CPU.Build.0 = ReleaseCF35|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release|Mixed Platforms.Build.0 = ReleaseCF35|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release|x86.ActiveCfg = ReleaseCF35|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release35|Any CPU.ActiveCfg = Release35|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release35|Any CPU.Build.0 = Release35|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release35|Mixed Platforms.ActiveCfg = Release35|Any CPU
@@ -1198,31 +962,26 @@ Global
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release40|Mixed Platforms.ActiveCfg = Release40|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release40|Mixed Platforms.Build.0 = Release40|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release40|x86.ActiveCfg = Release40|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release45|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release45|Any CPU.Build.0 = ReleasePL|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release45|Any CPU.ActiveCfg = Release45|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release45|Any CPU.Build.0 = Release45|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release45|Mixed Platforms.ActiveCfg = Release45|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release45|Mixed Platforms.Build.0 = Release45|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release45|x86.ActiveCfg = Release45|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release8|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release8|Any CPU.Build.0 = ReleasePL|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release8|Any CPU.ActiveCfg = Release8|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release8|Any CPU.Build.0 = Release8|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release8|Mixed Platforms.ActiveCfg = Release8|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release8|Mixed Platforms.Build.0 = Release8|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.Release8|x86.ActiveCfg = Release8|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseCF35|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseCF35|Any CPU.Build.0 = ReleaseCF35|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseCF35|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseCF35|Mixed Platforms.Build.0 = ReleaseCF35|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseCF35|x86.ActiveCfg = ReleaseSL3|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleasePL|Any CPU.ActiveCfg = ReleasePL|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleasePL|Any CPU.Build.0 = ReleasePL|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleasePL|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleasePL|Mixed Platforms.Build.0 = ReleasePL|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleasePL|x86.ActiveCfg = ReleasePL|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseSL3|Any CPU.ActiveCfg = ReleaseSL3|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseSL3|Any CPU.Build.0 = ReleaseSL3|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseSL3|Mixed Platforms.ActiveCfg = ReleaseSL3|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseSL3|Mixed Platforms.Build.0 = ReleaseSL3|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseSL3|x86.ActiveCfg = ReleaseSL3|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleasePLLITE|Any CPU.ActiveCfg = ReleasePLLITE|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleasePLLITE|Any CPU.Build.0 = ReleasePLLITE|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleasePLLITE|Mixed Platforms.ActiveCfg = ReleasePLLITE|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleasePLLITE|Mixed Platforms.Build.0 = ReleasePLLITE|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleasePLLITE|x86.ActiveCfg = ReleasePLLITE|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseSL4|Any CPU.ActiveCfg = ReleaseSL4|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseSL4|Any CPU.Build.0 = ReleaseSL4|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseSL4|Mixed Platforms.ActiveCfg = ReleaseSL4|Any CPU
@@ -1238,26 +997,16 @@ Global
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseWP7|Mixed Platforms.ActiveCfg = ReleaseWP7|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseWP7|Mixed Platforms.Build.0 = ReleaseWP7|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseWP7|x86.ActiveCfg = ReleaseWP7|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseWP8|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseWP8|Any CPU.Build.0 = ReleasePL|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseWP8|Any CPU.ActiveCfg = ReleaseWP8|Any CPU
+ {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseWP8|Any CPU.Build.0 = ReleaseWP8|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseWP8|Mixed Platforms.ActiveCfg = ReleaseWP8|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseWP8|Mixed Platforms.Build.0 = ReleaseWP8|Any CPU
{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseWP8|x86.ActiveCfg = ReleaseWP8|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseXBLV|Any CPU.ActiveCfg = ReleaseXBLV|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseXBLV|Any CPU.Build.0 = ReleaseXBLV|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseXBLV|Mixed Platforms.ActiveCfg = ReleaseXBLV|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseXBLV|Mixed Platforms.Build.0 = ReleaseXBLV|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseXBLV|x86.ActiveCfg = ReleaseXBLV|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseXNA4|Any CPU.ActiveCfg = ReleaseXNA4|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseXNA4|Any CPU.Build.0 = ReleaseXNA4|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseXNA4|Mixed Platforms.ActiveCfg = ReleaseXNA4|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseXNA4|Mixed Platforms.Build.0 = ReleaseXNA4|Any CPU
- {9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}.ReleaseXNA4|x86.ActiveCfg = ReleaseXNA4|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug|Any CPU.ActiveCfg = DebugPL|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug|Any CPU.Build.0 = DebugPL|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug|Mixed Platforms.Build.0 = DebugPL|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug|x86.ActiveCfg = DebugPL|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug|Any CPU.ActiveCfg = DebugCF35|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug|Any CPU.Build.0 = DebugCF35|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug|Mixed Platforms.Build.0 = DebugCF35|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug|x86.ActiveCfg = DebugCF35|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug35|Any CPU.ActiveCfg = Debug35|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug35|Any CPU.Build.0 = Debug35|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug35|Mixed Platforms.ActiveCfg = Debug35|Any CPU
@@ -1268,31 +1017,26 @@ Global
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug40|Mixed Platforms.ActiveCfg = Debug40|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug40|Mixed Platforms.Build.0 = Debug40|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug40|x86.ActiveCfg = Debug40|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug45|Any CPU.ActiveCfg = DebugPL|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug45|Any CPU.Build.0 = DebugPL|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug45|Any CPU.ActiveCfg = Debug45|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug45|Any CPU.Build.0 = Debug45|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug45|Mixed Platforms.ActiveCfg = Debug45|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug45|Mixed Platforms.Build.0 = Debug45|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug45|x86.ActiveCfg = Debug45|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug8|Any CPU.ActiveCfg = DebugPL|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug8|Any CPU.Build.0 = DebugPL|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug8|Any CPU.ActiveCfg = Debug8|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug8|Any CPU.Build.0 = Debug8|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug8|Mixed Platforms.ActiveCfg = Debug8|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug8|Mixed Platforms.Build.0 = Debug8|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Debug8|x86.ActiveCfg = Debug8|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugCF35|Any CPU.ActiveCfg = DebugCF35|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugCF35|Any CPU.Build.0 = DebugCF35|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugCF35|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugCF35|Mixed Platforms.Build.0 = DebugCF35|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugCF35|x86.ActiveCfg = DebugSL3|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugPL|Any CPU.ActiveCfg = DebugPL|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugPL|Any CPU.Build.0 = DebugPL|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugPL|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugPL|Mixed Platforms.Build.0 = DebugPL|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugPL|x86.ActiveCfg = DebugPL|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugSL3|Any CPU.ActiveCfg = DebugSL3|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugSL3|Any CPU.Build.0 = DebugSL3|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugSL3|Mixed Platforms.ActiveCfg = DebugSL3|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugSL3|Mixed Platforms.Build.0 = DebugSL3|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugSL3|x86.ActiveCfg = DebugSL3|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugPLLITE|Any CPU.ActiveCfg = DebugPLLITE|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugPLLITE|Any CPU.Build.0 = DebugPLLITE|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugPLLITE|Mixed Platforms.ActiveCfg = DebugPLLITE|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugPLLITE|Mixed Platforms.Build.0 = DebugPLLITE|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugPLLITE|x86.ActiveCfg = DebugPLLITE|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugSL4|Any CPU.ActiveCfg = DebugSL4|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugSL4|Any CPU.Build.0 = DebugSL4|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugSL4|Mixed Platforms.ActiveCfg = DebugSL4|Any CPU
@@ -1308,26 +1052,16 @@ Global
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugWP7|Mixed Platforms.ActiveCfg = DebugWP7|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugWP7|Mixed Platforms.Build.0 = DebugWP7|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugWP7|x86.ActiveCfg = DebugWP7|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugWP8|Any CPU.ActiveCfg = DebugPL|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugWP8|Any CPU.Build.0 = DebugPL|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugWP8|Any CPU.ActiveCfg = DebugWP8|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugWP8|Any CPU.Build.0 = DebugWP8|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugWP8|Mixed Platforms.ActiveCfg = DebugWP8|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugWP8|Mixed Platforms.Build.0 = DebugWP8|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugWP8|x86.ActiveCfg = DebugWP8|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugXBLV|Any CPU.ActiveCfg = DebugXBLV|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugXBLV|Any CPU.Build.0 = DebugXBLV|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugXBLV|Mixed Platforms.ActiveCfg = DebugXBLV|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugXBLV|Mixed Platforms.Build.0 = DebugXBLV|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugXBLV|x86.ActiveCfg = DebugXBLV|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugXNA4|Any CPU.ActiveCfg = DebugXNA4|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugXNA4|Any CPU.Build.0 = DebugXNA4|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugXNA4|Mixed Platforms.ActiveCfg = DebugXNA4|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugXNA4|Mixed Platforms.Build.0 = DebugXNA4|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.DebugXNA4|x86.ActiveCfg = DebugXNA4|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release|Any CPU.Build.0 = ReleasePL|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release|Mixed Platforms.Build.0 = ReleasePL|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release|x86.ActiveCfg = ReleasePL|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release|Any CPU.Build.0 = ReleaseCF35|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release|Mixed Platforms.Build.0 = ReleaseCF35|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release|x86.ActiveCfg = ReleaseCF35|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release35|Any CPU.ActiveCfg = Release35|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release35|Any CPU.Build.0 = Release35|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release35|Mixed Platforms.ActiveCfg = Release35|Any CPU
@@ -1338,31 +1072,26 @@ Global
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release40|Mixed Platforms.ActiveCfg = Release40|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release40|Mixed Platforms.Build.0 = Release40|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release40|x86.ActiveCfg = Release40|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release45|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release45|Any CPU.Build.0 = ReleasePL|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release45|Any CPU.ActiveCfg = Release45|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release45|Any CPU.Build.0 = Release45|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release45|Mixed Platforms.ActiveCfg = Release45|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release45|Mixed Platforms.Build.0 = Release45|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release45|x86.ActiveCfg = Release45|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release8|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release8|Any CPU.Build.0 = ReleasePL|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release8|Any CPU.ActiveCfg = Release8|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release8|Any CPU.Build.0 = Release8|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release8|Mixed Platforms.ActiveCfg = Release8|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release8|Mixed Platforms.Build.0 = Release8|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.Release8|x86.ActiveCfg = Release8|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseCF35|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseCF35|Any CPU.Build.0 = ReleaseCF35|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseCF35|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseCF35|Mixed Platforms.Build.0 = ReleaseCF35|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseCF35|x86.ActiveCfg = ReleaseSL3|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleasePL|Any CPU.ActiveCfg = ReleasePL|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleasePL|Any CPU.Build.0 = ReleasePL|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleasePL|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleasePL|Mixed Platforms.Build.0 = ReleasePL|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleasePL|x86.ActiveCfg = ReleasePL|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseSL3|Any CPU.ActiveCfg = ReleaseSL3|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseSL3|Any CPU.Build.0 = ReleaseSL3|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseSL3|Mixed Platforms.ActiveCfg = ReleaseSL3|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseSL3|Mixed Platforms.Build.0 = ReleaseSL3|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseSL3|x86.ActiveCfg = ReleaseSL3|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleasePLLITE|Any CPU.ActiveCfg = ReleasePLLITE|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleasePLLITE|Any CPU.Build.0 = ReleasePLLITE|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleasePLLITE|Mixed Platforms.ActiveCfg = ReleasePLLITE|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleasePLLITE|Mixed Platforms.Build.0 = ReleasePLLITE|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleasePLLITE|x86.ActiveCfg = ReleasePLLITE|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseSL4|Any CPU.ActiveCfg = ReleaseSL4|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseSL4|Any CPU.Build.0 = ReleaseSL4|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseSL4|Mixed Platforms.ActiveCfg = ReleaseSL4|Any CPU
@@ -1378,24 +1107,16 @@ Global
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseWP7|Mixed Platforms.ActiveCfg = ReleaseWP7|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseWP7|Mixed Platforms.Build.0 = ReleaseWP7|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseWP7|x86.ActiveCfg = ReleaseWP7|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseWP8|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseWP8|Any CPU.Build.0 = ReleasePL|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseWP8|Any CPU.ActiveCfg = ReleaseWP8|Any CPU
+ {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseWP8|Any CPU.Build.0 = ReleaseWP8|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseWP8|Mixed Platforms.ActiveCfg = ReleaseWP8|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseWP8|Mixed Platforms.Build.0 = ReleaseWP8|Any CPU
{4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseWP8|x86.ActiveCfg = ReleaseWP8|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseXBLV|Any CPU.ActiveCfg = ReleaseXBLV|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseXBLV|Any CPU.Build.0 = ReleaseXBLV|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseXBLV|Mixed Platforms.ActiveCfg = ReleaseXBLV|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseXBLV|Mixed Platforms.Build.0 = ReleaseXBLV|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseXBLV|x86.ActiveCfg = ReleaseXBLV|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseXNA4|Any CPU.ActiveCfg = ReleaseXNA4|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseXNA4|Any CPU.Build.0 = ReleaseXNA4|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseXNA4|Mixed Platforms.ActiveCfg = ReleaseXNA4|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseXNA4|Mixed Platforms.Build.0 = ReleaseXNA4|Any CPU
- {4E516F10-DA7A-4D43-963E-A93865ABEA5B}.ReleaseXNA4|x86.ActiveCfg = ReleaseXNA4|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.Debug|Any CPU.ActiveCfg = DebugPL|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.Debug|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.Debug|x86.ActiveCfg = DebugPL|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.Debug|Any CPU.ActiveCfg = DebugCF35|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.Debug|Any CPU.Build.0 = DebugCF35|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.Debug|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.Debug|Mixed Platforms.Build.0 = DebugCF35|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.Debug|x86.ActiveCfg = DebugCF35|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.Debug35|Any CPU.ActiveCfg = Debug35|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.Debug35|Any CPU.Build.0 = Debug35|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.Debug35|Mixed Platforms.ActiveCfg = Debug35|Any CPU
@@ -1416,18 +1137,16 @@ Global
{0CCCF009-763F-40D2-8655-7A94828023BF}.Debug8|Mixed Platforms.ActiveCfg = Debug8|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.Debug8|Mixed Platforms.Build.0 = Debug8|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.Debug8|x86.ActiveCfg = Debug8|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugCF35|Any CPU.ActiveCfg = DebugCF35|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugCF35|Any CPU.Build.0 = DebugCF35|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugCF35|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugCF35|Mixed Platforms.Build.0 = DebugCF35|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugCF35|x86.ActiveCfg = DebugSL3|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.DebugPL|Any CPU.ActiveCfg = DebugPL|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugPL|Any CPU.Build.0 = DebugPL|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.DebugPL|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugPL|Mixed Platforms.Build.0 = DebugPL|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.DebugPL|x86.ActiveCfg = DebugPL|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugSL3|Any CPU.ActiveCfg = DebugSL3|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugSL3|Any CPU.Build.0 = DebugSL3|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugSL3|Mixed Platforms.ActiveCfg = DebugSL3|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugSL3|x86.ActiveCfg = DebugSL3|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugPLLITE|Any CPU.ActiveCfg = DebugPLLITE|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugPLLITE|Any CPU.Build.0 = DebugPLLITE|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugPLLITE|Mixed Platforms.ActiveCfg = DebugPLLITE|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugPLLITE|Mixed Platforms.Build.0 = DebugPLLITE|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugPLLITE|x86.ActiveCfg = DebugPLLITE|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.DebugSL4|Any CPU.ActiveCfg = DebugSL4|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.DebugSL4|Any CPU.Build.0 = DebugSL4|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.DebugSL4|Mixed Platforms.ActiveCfg = DebugSL4|Any CPU
@@ -1448,19 +1167,11 @@ Global
{0CCCF009-763F-40D2-8655-7A94828023BF}.DebugWP8|Mixed Platforms.ActiveCfg = DebugWP8|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.DebugWP8|Mixed Platforms.Build.0 = DebugWP8|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.DebugWP8|x86.ActiveCfg = DebugWP8|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugXBLV|Any CPU.ActiveCfg = DebugXBLV|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugXBLV|Any CPU.Build.0 = DebugXBLV|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugXBLV|Mixed Platforms.ActiveCfg = DebugXBLV|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugXBLV|Mixed Platforms.Build.0 = DebugXBLV|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugXBLV|x86.ActiveCfg = DebugXBLV|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugXNA4|Any CPU.ActiveCfg = DebugXNA4|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugXNA4|Any CPU.Build.0 = DebugXNA4|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugXNA4|Mixed Platforms.ActiveCfg = DebugXNA4|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugXNA4|Mixed Platforms.Build.0 = DebugXNA4|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.DebugXNA4|x86.ActiveCfg = DebugXNA4|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.Release|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.Release|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.Release|x86.ActiveCfg = ReleasePL|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.Release|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.Release|Any CPU.Build.0 = ReleaseCF35|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.Release|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.Release|Mixed Platforms.Build.0 = ReleaseCF35|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.Release|x86.ActiveCfg = ReleaseCF35|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.Release35|Any CPU.ActiveCfg = Release35|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.Release35|Any CPU.Build.0 = Release35|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.Release35|Mixed Platforms.ActiveCfg = Release35|Any CPU
@@ -1481,18 +1192,14 @@ Global
{0CCCF009-763F-40D2-8655-7A94828023BF}.Release8|Mixed Platforms.ActiveCfg = Release8|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.Release8|Mixed Platforms.Build.0 = Release8|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.Release8|x86.ActiveCfg = Release8|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseCF35|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseCF35|Any CPU.Build.0 = ReleaseCF35|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseCF35|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseCF35|Mixed Platforms.Build.0 = ReleaseCF35|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseCF35|x86.ActiveCfg = ReleaseSL3|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.ReleasePL|Any CPU.ActiveCfg = ReleasePL|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleasePL|Any CPU.Build.0 = ReleasePL|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.ReleasePL|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.ReleasePL|x86.ActiveCfg = ReleasePL|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseSL3|Any CPU.ActiveCfg = ReleaseSL3|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseSL3|Any CPU.Build.0 = ReleaseSL3|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseSL3|Mixed Platforms.ActiveCfg = ReleaseSL3|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseSL3|x86.ActiveCfg = ReleaseSL3|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleasePLLITE|Any CPU.ActiveCfg = ReleasePLLITE|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleasePLLITE|Any CPU.Build.0 = ReleasePLLITE|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleasePLLITE|Mixed Platforms.ActiveCfg = ReleasePLLITE|Any CPU
+ {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleasePLLITE|x86.ActiveCfg = ReleasePLLITE|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseSL4|Any CPU.ActiveCfg = ReleaseSL4|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseSL4|Any CPU.Build.0 = ReleaseSL4|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseSL4|Mixed Platforms.ActiveCfg = ReleaseSL4|Any CPU
@@ -1513,16 +1220,6 @@ Global
{0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseWP8|Mixed Platforms.ActiveCfg = ReleaseWP8|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseWP8|Mixed Platforms.Build.0 = ReleaseWP8|Any CPU
{0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseWP8|x86.ActiveCfg = ReleaseWP8|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseXBLV|Any CPU.ActiveCfg = ReleaseXBLV|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseXBLV|Any CPU.Build.0 = ReleaseXBLV|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseXBLV|Mixed Platforms.ActiveCfg = ReleaseXBLV|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseXBLV|Mixed Platforms.Build.0 = ReleaseXBLV|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseXBLV|x86.ActiveCfg = ReleaseXBLV|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseXNA4|Any CPU.ActiveCfg = ReleaseXNA4|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseXNA4|Any CPU.Build.0 = ReleaseXNA4|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseXNA4|Mixed Platforms.ActiveCfg = ReleaseXNA4|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseXNA4|Mixed Platforms.Build.0 = ReleaseXNA4|Any CPU
- {0CCCF009-763F-40D2-8655-7A94828023BF}.ReleaseXNA4|x86.ActiveCfg = ReleaseXNA4|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.Debug|Any CPU.ActiveCfg = DebugCF35|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.Debug|Any CPU.Build.0 = DebugCF35|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.Debug|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
@@ -1546,17 +1243,16 @@ Global
{7A6EF49E-7946-4101-9C89-407B9C53A173}.Debug8|Any CPU.ActiveCfg = Debug8|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.Debug8|Mixed Platforms.ActiveCfg = Debug8|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.Debug8|x86.ActiveCfg = Debug8|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugCF35|Any CPU.ActiveCfg = DebugCF35|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugCF35|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugCF35|x86.ActiveCfg = DebugCF35|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugPL|Any CPU.ActiveCfg = DebugPL|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugPL|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugPL|x86.ActiveCfg = DebugPL|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugSL3|Any CPU.ActiveCfg = DebugSL3|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugSL3|Mixed Platforms.ActiveCfg = DebugSL3|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugSL3|x86.ActiveCfg = DebugSL3|Any CPU
+ {7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugPLLITE|Any CPU.ActiveCfg = DebugPLLITE|Any CPU
+ {7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugPLLITE|Mixed Platforms.ActiveCfg = DebugPLLITE|Any CPU
+ {7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugPLLITE|x86.ActiveCfg = DebugPLLITE|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugSL4|Any CPU.ActiveCfg = DebugSL4|Any CPU
+ {7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugSL4|Any CPU.Build.0 = DebugSL4|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugSL4|Mixed Platforms.ActiveCfg = DebugSL4|Any CPU
+ {7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugSL4|Mixed Platforms.Build.0 = DebugSL4|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugSL4|x86.ActiveCfg = DebugSL4|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugSL5|Any CPU.ActiveCfg = DebugSL5|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugSL5|Mixed Platforms.ActiveCfg = DebugSL5|Any CPU
@@ -1567,13 +1263,6 @@ Global
{7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugWP8|Any CPU.ActiveCfg = DebugWP8|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugWP8|Mixed Platforms.ActiveCfg = DebugWP8|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugWP8|x86.ActiveCfg = DebugWP8|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugXBLV|Any CPU.ActiveCfg = DebugXBLV|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugXBLV|Mixed Platforms.ActiveCfg = DebugXBLV|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugXBLV|Mixed Platforms.Build.0 = DebugXBLV|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugXBLV|x86.ActiveCfg = DebugXBLV|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugXNA4|Any CPU.ActiveCfg = DebugXNA4|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugXNA4|Mixed Platforms.ActiveCfg = DebugXNA4|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.DebugXNA4|x86.ActiveCfg = DebugXNA4|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.Release|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.Release|Any CPU.Build.0 = ReleaseCF35|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.Release|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
@@ -1597,15 +1286,12 @@ Global
{7A6EF49E-7946-4101-9C89-407B9C53A173}.Release8|Any CPU.ActiveCfg = Release8|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.Release8|Mixed Platforms.ActiveCfg = Release8|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.Release8|x86.ActiveCfg = Release8|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseCF35|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseCF35|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseCF35|x86.ActiveCfg = ReleaseCF35|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleasePL|Any CPU.ActiveCfg = ReleasePL|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleasePL|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleasePL|x86.ActiveCfg = ReleasePL|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseSL3|Any CPU.ActiveCfg = ReleaseSL3|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseSL3|Mixed Platforms.ActiveCfg = ReleaseSL3|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseSL3|x86.ActiveCfg = ReleaseSL3|Any CPU
+ {7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleasePLLITE|Any CPU.ActiveCfg = ReleasePLLITE|Any CPU
+ {7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleasePLLITE|Mixed Platforms.ActiveCfg = ReleasePLLITE|Any CPU
+ {7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleasePLLITE|x86.ActiveCfg = ReleasePLLITE|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseSL4|Any CPU.ActiveCfg = ReleaseSL4|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseSL4|Mixed Platforms.ActiveCfg = ReleaseSL4|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseSL4|x86.ActiveCfg = ReleaseSL4|Any CPU
@@ -1618,13 +1304,6 @@ Global
{7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseWP8|Any CPU.ActiveCfg = ReleaseWP8|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseWP8|Mixed Platforms.ActiveCfg = ReleaseWP8|Any CPU
{7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseWP8|x86.ActiveCfg = ReleaseWP8|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseXBLV|Any CPU.ActiveCfg = ReleaseXBLV|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseXBLV|Mixed Platforms.ActiveCfg = ReleaseXBLV|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseXBLV|Mixed Platforms.Build.0 = ReleaseXBLV|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseXBLV|x86.ActiveCfg = ReleaseXBLV|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseXNA4|Any CPU.ActiveCfg = ReleaseXNA4|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseXNA4|Mixed Platforms.ActiveCfg = ReleaseXNA4|Any CPU
- {7A6EF49E-7946-4101-9C89-407B9C53A173}.ReleaseXNA4|x86.ActiveCfg = ReleaseXNA4|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug|Any CPU.ActiveCfg = DebugCF35|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug|Any CPU.Build.0 = DebugCF35|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
@@ -1640,31 +1319,26 @@ Global
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug40|Mixed Platforms.ActiveCfg = Debug40|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug40|Mixed Platforms.Build.0 = Debug40|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug40|x86.ActiveCfg = Debug40|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug45|Any CPU.ActiveCfg = DebugPL|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug45|Any CPU.Build.0 = DebugPL|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug45|Any CPU.ActiveCfg = Debug45|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug45|Any CPU.Build.0 = Debug45|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug45|Mixed Platforms.ActiveCfg = Debug45|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug45|Mixed Platforms.Build.0 = Debug45|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug45|x86.ActiveCfg = Debug45|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug8|Any CPU.ActiveCfg = DebugPL|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug8|Any CPU.Build.0 = DebugPL|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug8|Any CPU.ActiveCfg = Debug8|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug8|Any CPU.Build.0 = Debug8|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug8|Mixed Platforms.ActiveCfg = Debug8|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug8|Mixed Platforms.Build.0 = Debug8|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Debug8|x86.ActiveCfg = Debug8|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugCF35|Any CPU.ActiveCfg = DebugCF35|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugCF35|Any CPU.Build.0 = DebugCF35|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugCF35|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugCF35|Mixed Platforms.Build.0 = DebugCF35|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugCF35|x86.ActiveCfg = DebugCF35|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugPL|Any CPU.ActiveCfg = DebugPL|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugPL|Any CPU.Build.0 = DebugPL|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugPL|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugPL|Mixed Platforms.Build.0 = DebugPL|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugPL|x86.ActiveCfg = DebugPL|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugSL3|Any CPU.ActiveCfg = DebugSL3|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugSL3|Any CPU.Build.0 = DebugSL3|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugSL3|Mixed Platforms.ActiveCfg = DebugSL3|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugSL3|Mixed Platforms.Build.0 = DebugSL3|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugSL3|x86.ActiveCfg = DebugSL3|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugPLLITE|Any CPU.ActiveCfg = DebugPLLITE|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugPLLITE|Any CPU.Build.0 = DebugPLLITE|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugPLLITE|Mixed Platforms.ActiveCfg = DebugPLLITE|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugPLLITE|Mixed Platforms.Build.0 = DebugPLLITE|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugPLLITE|x86.ActiveCfg = DebugPLLITE|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugSL4|Any CPU.ActiveCfg = DebugSL4|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugSL4|Any CPU.Build.0 = DebugSL4|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugSL4|Mixed Platforms.ActiveCfg = DebugSL4|Any CPU
@@ -1680,21 +1354,11 @@ Global
{41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugWP7|Mixed Platforms.ActiveCfg = DebugWP7|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugWP7|Mixed Platforms.Build.0 = DebugWP7|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugWP7|x86.ActiveCfg = DebugWP7|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugWP8|Any CPU.ActiveCfg = DebugPL|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugWP8|Any CPU.Build.0 = DebugPL|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugWP8|Any CPU.ActiveCfg = DebugWP8|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugWP8|Any CPU.Build.0 = DebugWP8|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugWP8|Mixed Platforms.ActiveCfg = DebugWP8|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugWP8|Mixed Platforms.Build.0 = DebugWP8|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugWP8|x86.ActiveCfg = DebugWP8|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugXBLV|Any CPU.ActiveCfg = DebugXBLV|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugXBLV|Any CPU.Build.0 = DebugXBLV|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugXBLV|Mixed Platforms.ActiveCfg = DebugXBLV|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugXBLV|Mixed Platforms.Build.0 = DebugXBLV|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugXBLV|x86.ActiveCfg = DebugXBLV|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugXNA4|Any CPU.ActiveCfg = DebugXNA4|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugXNA4|Any CPU.Build.0 = DebugXNA4|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugXNA4|Mixed Platforms.ActiveCfg = DebugXNA4|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugXNA4|Mixed Platforms.Build.0 = DebugXNA4|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.DebugXNA4|x86.ActiveCfg = DebugXNA4|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Release|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Release|Any CPU.Build.0 = ReleaseCF35|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Release|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
@@ -1710,31 +1374,26 @@ Global
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Release40|Mixed Platforms.ActiveCfg = Release40|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Release40|Mixed Platforms.Build.0 = Release40|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Release40|x86.ActiveCfg = Release40|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.Release45|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.Release45|Any CPU.Build.0 = ReleasePL|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.Release45|Any CPU.ActiveCfg = Release45|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.Release45|Any CPU.Build.0 = Release45|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Release45|Mixed Platforms.ActiveCfg = Release45|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Release45|Mixed Platforms.Build.0 = Release45|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Release45|x86.ActiveCfg = Release45|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.Release8|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.Release8|Any CPU.Build.0 = ReleasePL|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.Release8|Any CPU.ActiveCfg = Release8|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.Release8|Any CPU.Build.0 = Release8|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Release8|Mixed Platforms.ActiveCfg = Release8|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Release8|Mixed Platforms.Build.0 = Release8|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.Release8|x86.ActiveCfg = Release8|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseCF35|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseCF35|Any CPU.Build.0 = ReleaseCF35|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseCF35|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseCF35|Mixed Platforms.Build.0 = ReleaseCF35|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseCF35|x86.ActiveCfg = ReleaseCF35|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleasePL|Any CPU.ActiveCfg = ReleasePL|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleasePL|Any CPU.Build.0 = ReleasePL|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleasePL|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleasePL|Mixed Platforms.Build.0 = ReleasePL|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleasePL|x86.ActiveCfg = ReleasePL|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseSL3|Any CPU.ActiveCfg = ReleaseSL3|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseSL3|Any CPU.Build.0 = ReleaseSL3|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseSL3|Mixed Platforms.ActiveCfg = ReleaseSL3|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseSL3|Mixed Platforms.Build.0 = ReleaseSL3|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseSL3|x86.ActiveCfg = ReleaseSL3|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleasePLLITE|Any CPU.ActiveCfg = ReleasePLLITE|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleasePLLITE|Any CPU.Build.0 = ReleasePLLITE|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleasePLLITE|Mixed Platforms.ActiveCfg = ReleasePLLITE|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleasePLLITE|Mixed Platforms.Build.0 = ReleasePLLITE|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleasePLLITE|x86.ActiveCfg = ReleasePLLITE|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseSL4|Any CPU.ActiveCfg = ReleaseSL4|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseSL4|Any CPU.Build.0 = ReleaseSL4|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseSL4|Mixed Platforms.ActiveCfg = ReleaseSL4|Any CPU
@@ -1750,21 +1409,11 @@ Global
{41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseWP7|Mixed Platforms.ActiveCfg = ReleaseWP7|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseWP7|Mixed Platforms.Build.0 = ReleaseWP7|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseWP7|x86.ActiveCfg = ReleaseWP7|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseWP8|Any CPU.ActiveCfg = ReleasePL|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseWP8|Any CPU.Build.0 = ReleasePL|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseWP8|Any CPU.ActiveCfg = ReleaseWP8|Any CPU
+ {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseWP8|Any CPU.Build.0 = ReleaseWP8|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseWP8|Mixed Platforms.ActiveCfg = ReleaseWP8|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseWP8|Mixed Platforms.Build.0 = ReleaseWP8|Any CPU
{41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseWP8|x86.ActiveCfg = ReleaseWP8|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseXBLV|Any CPU.ActiveCfg = ReleaseXBLV|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseXBLV|Any CPU.Build.0 = ReleaseXBLV|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseXBLV|Mixed Platforms.ActiveCfg = ReleaseXBLV|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseXBLV|Mixed Platforms.Build.0 = ReleaseXBLV|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseXBLV|x86.ActiveCfg = ReleaseXBLV|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseXNA4|Any CPU.ActiveCfg = ReleaseXNA4|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseXNA4|Any CPU.Build.0 = ReleaseXNA4|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseXNA4|Mixed Platforms.ActiveCfg = ReleaseXNA4|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseXNA4|Mixed Platforms.Build.0 = ReleaseXNA4|Any CPU
- {41E65B96-733B-41C4-A1BB-7476359B89EB}.ReleaseXNA4|x86.ActiveCfg = ReleaseXNA4|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.Debug|Any CPU.ActiveCfg = DebugCF35|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.Debug|Any CPU.Build.0 = DebugCF35|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.Debug|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
@@ -1790,21 +1439,15 @@ Global
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.Debug8|Mixed Platforms.ActiveCfg = Debug8|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.Debug8|Mixed Platforms.Build.0 = Debug8|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.Debug8|x86.ActiveCfg = Debug8|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugCF35|Any CPU.ActiveCfg = DebugCF35|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugCF35|Any CPU.Build.0 = DebugCF35|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugCF35|Mixed Platforms.ActiveCfg = DebugCF35|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugCF35|Mixed Platforms.Build.0 = DebugCF35|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugCF35|x86.ActiveCfg = DebugCF35|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugPL|Any CPU.ActiveCfg = DebugPL|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugPL|Any CPU.Build.0 = DebugPL|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugPL|Mixed Platforms.ActiveCfg = DebugPL|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugPL|Mixed Platforms.Build.0 = DebugPL|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugPL|x86.ActiveCfg = DebugPL|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugSL3|Any CPU.ActiveCfg = DebugSL3|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugSL3|Any CPU.Build.0 = DebugSL3|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugSL3|Mixed Platforms.ActiveCfg = DebugSL3|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugSL3|Mixed Platforms.Build.0 = DebugSL3|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugSL3|x86.ActiveCfg = DebugSL3|Any CPU
+ {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugPLLITE|Any CPU.ActiveCfg = DebugPLLITE|Any CPU
+ {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugPLLITE|Any CPU.Build.0 = DebugPLLITE|Any CPU
+ {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugPLLITE|Mixed Platforms.ActiveCfg = DebugPLLITE|Any CPU
+ {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugPLLITE|Mixed Platforms.Build.0 = DebugPLLITE|Any CPU
+ {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugPLLITE|x86.ActiveCfg = DebugPLLITE|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugSL4|Any CPU.ActiveCfg = DebugSL4|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugSL4|Any CPU.Build.0 = DebugSL4|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugSL4|Mixed Platforms.ActiveCfg = DebugSL4|Any CPU
@@ -1825,16 +1468,6 @@ Global
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugWP8|Mixed Platforms.ActiveCfg = DebugWP8|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugWP8|Mixed Platforms.Build.0 = DebugWP8|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugWP8|x86.ActiveCfg = DebugWP8|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugXBLV|Any CPU.ActiveCfg = DebugXBLV|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugXBLV|Any CPU.Build.0 = DebugXBLV|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugXBLV|Mixed Platforms.ActiveCfg = DebugXBLV|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugXBLV|Mixed Platforms.Build.0 = DebugXBLV|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugXBLV|x86.ActiveCfg = DebugXBLV|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugXNA4|Any CPU.ActiveCfg = DebugXNA4|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugXNA4|Any CPU.Build.0 = DebugXNA4|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugXNA4|Mixed Platforms.ActiveCfg = DebugXNA4|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugXNA4|Mixed Platforms.Build.0 = DebugXNA4|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.DebugXNA4|x86.ActiveCfg = DebugXNA4|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.Release|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.Release|Any CPU.Build.0 = ReleaseCF35|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.Release|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
@@ -1860,21 +1493,15 @@ Global
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.Release8|Mixed Platforms.ActiveCfg = Release8|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.Release8|Mixed Platforms.Build.0 = Release8|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.Release8|x86.ActiveCfg = Release8|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseCF35|Any CPU.ActiveCfg = ReleaseCF35|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseCF35|Any CPU.Build.0 = ReleaseCF35|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseCF35|Mixed Platforms.ActiveCfg = ReleaseCF35|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseCF35|Mixed Platforms.Build.0 = ReleaseCF35|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseCF35|x86.ActiveCfg = ReleaseCF35|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleasePL|Any CPU.ActiveCfg = ReleasePL|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleasePL|Any CPU.Build.0 = ReleasePL|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleasePL|Mixed Platforms.ActiveCfg = ReleasePL|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleasePL|Mixed Platforms.Build.0 = ReleasePL|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleasePL|x86.ActiveCfg = ReleasePL|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseSL3|Any CPU.ActiveCfg = ReleaseSL3|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseSL3|Any CPU.Build.0 = ReleaseSL3|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseSL3|Mixed Platforms.ActiveCfg = ReleaseSL3|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseSL3|Mixed Platforms.Build.0 = ReleaseSL3|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseSL3|x86.ActiveCfg = ReleaseSL3|Any CPU
+ {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleasePLLITE|Any CPU.ActiveCfg = ReleasePLLITE|Any CPU
+ {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleasePLLITE|Any CPU.Build.0 = ReleasePLLITE|Any CPU
+ {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleasePLLITE|Mixed Platforms.ActiveCfg = ReleasePLLITE|Any CPU
+ {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleasePLLITE|Mixed Platforms.Build.0 = ReleasePLLITE|Any CPU
+ {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleasePLLITE|x86.ActiveCfg = ReleasePLLITE|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseSL4|Any CPU.ActiveCfg = ReleaseSL4|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseSL4|Any CPU.Build.0 = ReleaseSL4|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseSL4|Mixed Platforms.ActiveCfg = ReleaseSL4|Any CPU
@@ -1895,16 +1522,108 @@ Global
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseWP8|Mixed Platforms.ActiveCfg = ReleaseWP8|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseWP8|Mixed Platforms.Build.0 = ReleaseWP8|Any CPU
{FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseWP8|x86.ActiveCfg = ReleaseWP8|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseXBLV|Any CPU.ActiveCfg = ReleaseXBLV|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseXBLV|Any CPU.Build.0 = ReleaseXBLV|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseXBLV|Mixed Platforms.ActiveCfg = ReleaseXBLV|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseXBLV|Mixed Platforms.Build.0 = ReleaseXBLV|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseXBLV|x86.ActiveCfg = ReleaseXBLV|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseXNA4|Any CPU.ActiveCfg = ReleaseXNA4|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseXNA4|Any CPU.Build.0 = ReleaseXNA4|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseXNA4|Mixed Platforms.ActiveCfg = ReleaseXNA4|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseXNA4|Mixed Platforms.Build.0 = ReleaseXNA4|Any CPU
- {FFB7A57C-BC22-4B71-88D4-2489B3FF10B6}.ReleaseXNA4|x86.ActiveCfg = ReleaseXNA4|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug|Any CPU.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug|Any CPU.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug|Mixed Platforms.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug|Mixed Platforms.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug|x86.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug35|Any CPU.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug35|Any CPU.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug35|Mixed Platforms.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug35|Mixed Platforms.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug35|x86.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug40|Any CPU.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug40|Any CPU.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug40|Mixed Platforms.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug40|Mixed Platforms.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug40|x86.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug45|Any CPU.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug45|Any CPU.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug45|Mixed Platforms.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug45|Mixed Platforms.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug45|x86.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug8|Any CPU.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug8|Any CPU.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug8|Mixed Platforms.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug8|Mixed Platforms.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Debug8|x86.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugPL|Any CPU.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugPL|Any CPU.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugPL|Mixed Platforms.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugPL|Mixed Platforms.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugPL|x86.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugPLLITE|Any CPU.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugPLLITE|Any CPU.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugPLLITE|Mixed Platforms.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugPLLITE|Mixed Platforms.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugPLLITE|x86.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugSL4|Any CPU.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugSL4|Any CPU.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugSL4|Mixed Platforms.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugSL4|Mixed Platforms.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugSL4|x86.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugSL5|Any CPU.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugSL5|Any CPU.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugSL5|Mixed Platforms.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugSL5|Mixed Platforms.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugSL5|x86.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugWP7|Any CPU.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugWP7|Any CPU.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugWP7|Mixed Platforms.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugWP7|Mixed Platforms.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugWP7|x86.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugWP8|Any CPU.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugWP8|Any CPU.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugWP8|Mixed Platforms.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugWP8|Mixed Platforms.Build.0 = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.DebugWP8|x86.ActiveCfg = Debug40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release|Any CPU.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release|Any CPU.Build.0 = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release|Mixed Platforms.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release|Mixed Platforms.Build.0 = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release|x86.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release35|Any CPU.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release35|Mixed Platforms.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release35|Mixed Platforms.Build.0 = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release35|x86.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release40|Any CPU.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release40|Any CPU.Build.0 = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release40|Mixed Platforms.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release40|Mixed Platforms.Build.0 = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release40|x86.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release45|Any CPU.ActiveCfg = Release45|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release45|Any CPU.Build.0 = Release45|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release45|Mixed Platforms.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release45|Mixed Platforms.Build.0 = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release45|x86.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release8|Any CPU.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release8|Mixed Platforms.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release8|Mixed Platforms.Build.0 = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.Release8|x86.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleasePL|Any CPU.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleasePL|Mixed Platforms.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleasePL|Mixed Platforms.Build.0 = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleasePL|x86.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleasePLLITE|Any CPU.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleasePLLITE|Mixed Platforms.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleasePLLITE|Mixed Platforms.Build.0 = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleasePLLITE|x86.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleaseSL4|Any CPU.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleaseSL4|Mixed Platforms.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleaseSL4|Mixed Platforms.Build.0 = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleaseSL4|x86.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleaseSL5|Any CPU.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleaseSL5|Mixed Platforms.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleaseSL5|Mixed Platforms.Build.0 = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleaseSL5|x86.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleaseWP7|Any CPU.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleaseWP7|Mixed Platforms.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleaseWP7|Mixed Platforms.Build.0 = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleaseWP7|x86.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleaseWP8|Any CPU.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleaseWP8|Mixed Platforms.ActiveCfg = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleaseWP8|Mixed Platforms.Build.0 = Release40|Any CPU
+ {9FFAC385-10A4-4DDD-B800-DE67E8469CC0}.ReleaseWP8|x86.ActiveCfg = Release40|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Rx/NET/Source/System.Reactive.Core/Properties/AssemblyInfo.cs b/Rx/NET/Source/System.Reactive.Core/Properties/AssemblyInfo.cs
index 85d1da3..b37d0e0 100644
--- a/Rx/NET/Source/System.Reactive.Core/Properties/AssemblyInfo.cs
+++ b/Rx/NET/Source/System.Reactive.Core/Properties/AssemblyInfo.cs
@@ -27,11 +27,11 @@ using System.Security;
[assembly: AllowPartiallyTrustedCallers]
#endif
-#if XBOX_LAKEVIEW
-[assembly: SecurityTransparent]
-#endif
+// ===========================================================================
+// DO NOT EDIT OR REMOVE ANYTHING BELOW THIS COMMENT.
+// Version numbers are automatically generated in the msbuild files based on regular expressions
+// ===========================================================================
-//
-// Note: Assembly (file) version numbers get inserted by the build system on the fly. Inspect the Team Build workflows
-// and the custom activity in Build/Source/Activities/AppendVersionInfo.cs for more information.
-//
+[assembly: AssemblyVersion("2.2.0.0")]
+[assembly: AssemblyFileVersion("2.2.0.0")]
+[assembly: AssemblyInformationalVersion("2.2.0.0")]
diff --git a/Rx/NET/Source/System.Reactive.Core/Reactive/Concurrency/ConcurrencyAbstractionLayer.Default.cs b/Rx/NET/Source/System.Reactive.Core/Reactive/Concurrency/ConcurrencyAbstractionLayer.Default.cs
index cc9cd57..b3ec5be 100644
--- a/Rx/NET/Source/System.Reactive.Core/Reactive/Concurrency/ConcurrencyAbstractionLayer.Default.cs
+++ b/Rx/NET/Source/System.Reactive.Core/Reactive/Concurrency/ConcurrencyAbstractionLayer.Default.cs
@@ -22,16 +22,21 @@ namespace System.Reactive.Concurrency
public IDisposable StartPeriodicTimer(Action action, TimeSpan period)
{
- //
- // MSDN documentation states the following:
- //
- // "If period is zero (0) or negative one (-1) milliseconds and dueTime is positive, callback is invoked once;
- // the periodic behavior of the timer is disabled, but can be re-enabled using the Change method."
- //
- if (period <= TimeSpan.Zero)
+ if (period < TimeSpan.Zero)
throw new ArgumentOutOfRangeException("period");
- return new PeriodicTimer(action, period);
+ //
+ // The contract for periodic scheduling in Rx is that specifying TimeSpan.Zero as the period causes the scheduler to
+ // call back periodically as fast as possible, sequentially.
+ //
+ if (period == TimeSpan.Zero)
+ {
+ return new FastPeriodicTimer(action);
+ }
+ else
+ {
+ return new PeriodicTimer(action, period);
+ }
}
public IDisposable QueueUserWorkItem(Action<object> action, object state)
@@ -362,6 +367,37 @@ namespace System.Reactive.Concurrency
}
}
#endif
+
+ class FastPeriodicTimer : IDisposable
+ {
+ private readonly Action _action;
+ private bool disposed;
+
+ public FastPeriodicTimer(Action action)
+ {
+ _action = action;
+
+ new System.Threading.Thread(Loop)
+ {
+ Name = "Rx-FastPeriodicTimer",
+ IsBackground = true
+ }
+ .Start();
+ }
+
+ private void Loop()
+ {
+ while (!disposed)
+ {
+ _action();
+ }
+ }
+
+ public void Dispose()
+ {
+ disposed = true;
+ }
+ }
}
}
#else
@@ -375,8 +411,12 @@ namespace System.Reactive.Concurrency
{
public IDisposable StartTimer(Action<object> action, object state, TimeSpan dueTime)
{
- var cancel = new CancellationDisposable();
+ var cancel = new CancellationDisposable();
+#if USE_TASKEX
+ TaskEx.Delay(dueTime, cancel.Token).ContinueWith(
+#else
Task.Delay(dueTime, cancel.Token).ContinueWith(
+#endif
_ => action(state),
TaskContinuationOptions.ExecuteSynchronously | TaskContinuationOptions.OnlyOnRanToCompletion
);
@@ -385,24 +425,35 @@ namespace System.Reactive.Concurrency
public IDisposable StartPeriodicTimer(Action action, TimeSpan period)
{
- var cancel = new CancellationDisposable();
-
- var moveNext = default(Action);
- moveNext = () =>
+ if (period <= TimeSpan.Zero)
{
- Task.Delay(period, cancel.Token).ContinueWith(
- _ =>
- {
- moveNext();
- action();
- },
- TaskContinuationOptions.ExecuteSynchronously | TaskContinuationOptions.OnlyOnRanToCompletion
- );
- };
-
- moveNext();
+ return new FastPeriodicTimer(action);
+ }
+ else
+ {
+ var cancel = new CancellationDisposable();
- return cancel;
+ var moveNext = default(Action);
+ moveNext = () =>
+ {
+#if USE_TASKEX
+ TaskEx.Delay(period, cancel.Token).ContinueWith(
+#else
+ Task.Delay(period, cancel.Token).ContinueWith(
+#endif
+ _ =>
+ {
+ moveNext();
+ action();
+ },
+ TaskContinuationOptions.ExecuteSynchronously | TaskContinuationOptions.OnlyOnRanToCompletion
+ );
+ };
+
+ moveNext();
+
+ return cancel;
+ }
}
public IDisposable QueueUserWorkItem(Action<object> action, object state)
@@ -414,7 +465,12 @@ namespace System.Reactive.Concurrency
public void Sleep(TimeSpan timeout)
{
+#if USE_TASKEX
+ TaskEx.Delay(timeout).Wait();
+#else
Task.Delay(timeout).Wait();
+#endif
+
}
public IStopwatch StartStopwatch()
@@ -434,6 +490,32 @@ namespace System.Reactive.Concurrency
action(state);
}, TaskCreationOptions.LongRunning);
}
+
+ class FastPeriodicTimer : IDisposable
+ {
+ private readonly Action _action;
+ private bool disposed;
+
+ public FastPeriodicTimer(Action action)
+ {
+ _action = action;
+
+ Task.Factory.StartNew(Loop, TaskCreationOptions.LongRunning);
+ }
+
+ private void Loop()
+ {
+ while (!disposed)
+ {
+ _action();
+ }
+ }
+
+ public void Dispose()
+ {
+ disposed = true;
+ }
+ }
}
}
#endif \ No newline at end of file
diff --git a/Rx/NET/Source/System.Reactive.Core/Reactive/Concurrency/LocalScheduler.TimerQueue.cs b/Rx/NET/Source/System.Reactive.Core/Reactive/Concurrency/LocalScheduler.TimerQueue.cs
index ded2b28..7518037 100644
--- a/Rx/NET/Source/System.Reactive.Core/Reactive/Concurrency/LocalScheduler.TimerQueue.cs
+++ b/Rx/NET/Source/System.Reactive.Core/Reactive/Concurrency/LocalScheduler.TimerQueue.cs
@@ -93,6 +93,11 @@ namespace System.Reactive.Concurrency
/// </summary>
private static readonly TimeSpan RETRYSHORT = TimeSpan.FromMilliseconds(50);
+ /// <summary>
+ /// Longest interval supported by <see cref="System.Threading.Timer"/>.
+ /// </summary>
+ private static readonly TimeSpan MAXSUPPORTEDTIMER = TimeSpan.FromMilliseconds((1L << 32) - 2);
+
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1810:InitializeReferenceTypeStaticFieldsInline", Justification = "We can't really lift this into a field initializer, and would end up checking for an initialization flag in every static method anyway (which is roughly what the JIT does in a thread-safe manner).")]
static LocalScheduler()
{
@@ -317,8 +322,13 @@ namespace System.Reactive.Concurrency
var remainder = TimeSpan.FromTicks(Math.Max(due.Ticks / MAXERRORRATIO, LONGTOSHORT.Ticks));
var dueEarly = due - remainder;
+ //
+ // Limit the interval to maximum supported by underlying Timer.
+ //
+ var dueCapped = TimeSpan.FromTicks(Math.Min(dueEarly.Ticks, MAXSUPPORTEDTIMER.Ticks));
+
s_nextLongTermWorkItem = next;
- s_nextLongTermTimer.Disposable = ConcurrencyAbstractionLayer.Current.StartTimer(EvaluateLongTermQueue, null, dueEarly);
+ s_nextLongTermTimer.Disposable = ConcurrencyAbstractionLayer.Current.StartTimer(EvaluateLongTermQueue, null, dueCapped);
}
}
diff --git a/Rx/NET/Source/System.Reactive.Core/Reactive/Concurrency/Synchronization.ObserveOn.cs b/Rx/NET/Source/System.Reactive.Core/Reactive/Concurrency/Synchronization.ObserveOn.cs
index 7fd80d0..20a8a40 100644
--- a/Rx/NET/Source/System.Reactive.Core/Reactive/Concurrency/Synchronization.ObserveOn.cs
+++ b/Rx/NET/Source/System.Reactive.Core/Reactive/Concurrency/Synchronization.ObserveOn.cs
@@ -35,7 +35,7 @@ namespace System.Reactive.Concurrency
#if !NO_SYNCCTX
if (_context != null)
{
- var sink = new ς(this, observer, cancel);
+ var sink = new ObserveOnSink(this, observer, cancel);
setSink(sink);
return sink.Run();
}
@@ -49,11 +49,11 @@ namespace System.Reactive.Concurrency
}
#if !NO_SYNCCTX
- class ς : Sink<TSource>, IObserver<TSource>
+ class ObserveOnSink : Sink<TSource>, IObserver<TSource>
{
private readonly ObserveOn<TSource> _parent;
- public ς(ObserveOn<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public ObserveOnSink(ObserveOn<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Core/Reactive/Internal/ConcurrentDictionary.cs b/Rx/NET/Source/System.Reactive.Core/Reactive/Internal/ConcurrentDictionary.cs
index 8b7ec81..25e3957 100644
--- a/Rx/NET/Source/System.Reactive.Core/Reactive/Internal/ConcurrentDictionary.cs
+++ b/Rx/NET/Source/System.Reactive.Core/Reactive/Internal/ConcurrentDictionary.cs
@@ -99,6 +99,8 @@ namespace System.Collections.Concurrent
public ConcurrentDictionary(IEqualityComparer<TKey> comparer) : this(DefaultConcurrencyLevel, DEFAULT_CAPACITY, true, comparer) { }
+ public ConcurrentDictionary(int capacity, IEqualityComparer<TKey> comparer) : this(DefaultConcurrencyLevel, capacity, true, comparer) { }
+
internal ConcurrentDictionary(int concurrencyLevel, int capacity, bool growLockArray, IEqualityComparer<TKey> comparer)
{
if (concurrencyLevel < 1)
diff --git a/Rx/NET/Source/System.Reactive.Core/Reactive/Internal/PlatformEnlightenmentProvider.cs b/Rx/NET/Source/System.Reactive.Core/Reactive/Internal/PlatformEnlightenmentProvider.cs
index f2483e8..26d29d8 100644
--- a/Rx/NET/Source/System.Reactive.Core/Reactive/Internal/PlatformEnlightenmentProvider.cs
+++ b/Rx/NET/Source/System.Reactive.Core/Reactive/Internal/PlatformEnlightenmentProvider.cs
@@ -60,7 +60,7 @@ namespace System.Reactive.PlatformServices
#if NETCF35
var name = "System.Reactive.PlatformServices.CurrentPlatformEnlightenmentProvider, System.Reactive.PlatformServices";
#else
-#if CRIPPLED_REFLECTION
+#if CRIPPLED_REFLECTION && HAS_WINRT
var ifType = typeof(IPlatformEnlightenmentProvider).GetTypeInfo();
#else
var ifType = typeof(IPlatformEnlightenmentProvider);
diff --git a/Rx/NET/Source/System.Reactive.Core/Reactive/Internal/Semaphore.Silverlight.cs b/Rx/NET/Source/System.Reactive.Core/Reactive/Internal/Semaphore.Silverlight.cs
index 4f5eeee..d73a81f 100644
--- a/Rx/NET/Source/System.Reactive.Core/Reactive/Internal/Semaphore.Silverlight.cs
+++ b/Rx/NET/Source/System.Reactive.Core/Reactive/Internal/Semaphore.Silverlight.cs
@@ -1,6 +1,6 @@
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
-#if NO_SEMAPHORE && SILVERLIGHT
+#if NO_SEMAPHORE && (SILVERLIGHT || PLIB_LITE)
using System;
using System.Threading;
diff --git a/Rx/NET/Source/System.Reactive.Core/Strings_Core.Generated.cs b/Rx/NET/Source/System.Reactive.Core/Strings_Core.Generated.cs
index 3e9a82e..409a50d 100644
--- a/Rx/NET/Source/System.Reactive.Core/Strings_Core.Generated.cs
+++ b/Rx/NET/Source/System.Reactive.Core/Strings_Core.Generated.cs
@@ -53,7 +53,7 @@ namespace System.Reactive
{
if (object.ReferenceEquals(resourceMan, null))
{
-#if CRIPPLED_REFLECTION
+#if (CRIPPLED_REFLECTION && HAS_WINRT)
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("System.Reactive.Strings_Core", typeof(Strings_Core).GetTypeInfo().Assembly);
#else
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("System.Reactive.Strings_Core", typeof(Strings_Core).Assembly);
diff --git a/Rx/NET/Source/System.Reactive.Core/System.Reactive.Core.csproj b/Rx/NET/Source/System.Reactive.Core/System.Reactive.Core.csproj
index a6938ff..ebf057a 100644
--- a/Rx/NET/Source/System.Reactive.Core/System.Reactive.Core.csproj
+++ b/Rx/NET/Source/System.Reactive.Core/System.Reactive.Core.csproj
@@ -12,6 +12,8 @@
<FileAlignment>512</FileAlignment>
<ProductSignAssembly>true</ProductSignAssembly>
<CodeAnalysisRuleSet>..\Rx.ruleset</CodeAnalysisRuleSet>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
+ <RestorePackages>true</RestorePackages>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseXBLV|AnyCPU'">
<OutputPath>bin\ReleaseXBLV\</OutputPath>
@@ -119,5 +121,14 @@
<ItemGroup>
<EmbeddedResource Include="Strings_Core.resx" />
</ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ </ItemGroup>
<Import Project="..\Import.targets" />
+ <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
+ <Import Project="..\packages\Microsoft.Bcl.Build.1.0.10\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.10\tools\Microsoft.Bcl.Build.targets')" />
+ <Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
+ <Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.10\tools\Microsoft.Bcl.Build.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567." HelpKeyword="BCLBUILD2001" />
+ <Error Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.10\tools\Microsoft.Bcl.Build.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568." HelpKeyword="BCLBUILD2002" />
+ </Target>
</Project> \ No newline at end of file
diff --git a/Rx/NET/Source/System.Reactive.Core/packages.config b/Rx/NET/Source/System.Reactive.Core/packages.config
new file mode 100644
index 0000000..82d2e60
--- /dev/null
+++ b/Rx/NET/Source/System.Reactive.Core/packages.config
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="Microsoft.Bcl.Build" version="1.0.10" targetFramework="net40" />
+</packages> \ No newline at end of file
diff --git a/Rx/NET/Source/System.Reactive.Debugger/Properties/AssemblyInfo.cs b/Rx/NET/Source/System.Reactive.Debugger/Properties/AssemblyInfo.cs
index e1a4c79..2932d06 100644
--- a/Rx/NET/Source/System.Reactive.Debugger/Properties/AssemblyInfo.cs
+++ b/Rx/NET/Source/System.Reactive.Debugger/Properties/AssemblyInfo.cs
@@ -27,11 +27,11 @@ using System.Security;
[assembly: AllowPartiallyTrustedCallers]
#endif
-#if XBOX_LAKEVIEW
-[assembly: SecurityTransparent]
-#endif
+// ===========================================================================
+// DO NOT EDIT OR REMOVE ANYTHING BELOW THIS COMMENT.
+// Version numbers are automatically generated in the msbuild files based on regular expressions
+// ===========================================================================
-//
-// Note: Assembly (file) version numbers get inserted by the build system on the fly. Inspect the Team Build workflows
-// and the custom activity in Build/Source/Activities/AppendVersionInfo.cs for more information.
-//
+[assembly: AssemblyVersion("2.2.0.0")]
+[assembly: AssemblyFileVersion("2.2.0.0")]
+[assembly: AssemblyInformationalVersion("2.2.0.0")]
diff --git a/Rx/NET/Source/System.Reactive.Debugger/System.Reactive.Debugger.csproj b/Rx/NET/Source/System.Reactive.Debugger/System.Reactive.Debugger.csproj
index 87ca262..87e97db 100644
--- a/Rx/NET/Source/System.Reactive.Debugger/System.Reactive.Debugger.csproj
+++ b/Rx/NET/Source/System.Reactive.Debugger/System.Reactive.Debugger.csproj
@@ -12,6 +12,7 @@
<FileAlignment>512</FileAlignment>
<ProductSignAssembly>true</ProductSignAssembly>
<CodeAnalysisRuleSet>..\Rx.ruleset</CodeAnalysisRuleSet>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseXBLV|AnyCPU'">
<OutputPath>bin\ReleaseXBLV\</OutputPath>
@@ -56,4 +57,5 @@
</ProjectReference>
</ItemGroup>
<Import Project="..\Import.targets" />
+ <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
</Project> \ No newline at end of file
diff --git a/Rx/NET/Source/System.Reactive.Experimental/Properties/AssemblyInfo.cs b/Rx/NET/Source/System.Reactive.Experimental/Properties/AssemblyInfo.cs
index 1cd8857..c391996 100644
--- a/Rx/NET/Source/System.Reactive.Experimental/Properties/AssemblyInfo.cs
+++ b/Rx/NET/Source/System.Reactive.Experimental/Properties/AssemblyInfo.cs
@@ -28,11 +28,11 @@ using System.Security;
[assembly: AllowPartiallyTrustedCallers]
#endif
-#if XBOX_LAKEVIEW
-[assembly: SecurityTransparent]
-#endif
+// ===========================================================================
+// DO NOT EDIT OR REMOVE ANYTHING BELOW THIS COMMENT.
+// Version numbers are automatically generated in the msbuild files based on regular expressions
+// ===========================================================================
-//
-// Note: Assembly (file) version numbers get inserted by the build system on the fly. Inspect the Team Build workflows
-// and the custom activity in Build/Source/Activities/AppendVersionInfo.cs for more information.
-//
+[assembly: AssemblyVersion("2.2.0.0")]
+[assembly: AssemblyFileVersion("2.2.0.0")]
+[assembly: AssemblyInformationalVersion("2.2.0.0")]
diff --git a/Rx/NET/Source/System.Reactive.Experimental/Reactive/Linq/QbservableEx.Generated.cs b/Rx/NET/Source/System.Reactive.Experimental/Reactive/Linq/QbservableEx.Generated.cs
index 4903e30..8103f32 100644
--- a/Rx/NET/Source/System.Reactive.Experimental/Reactive/Linq/QbservableEx.Generated.cs
+++ b/Rx/NET/Source/System.Reactive.Experimental/Reactive/Linq/QbservableEx.Generated.cs
@@ -1,5 +1,6 @@
/*
- * WARNING: Auto-generated file (8/5/2012 1:55:31 PM)
+ * WARNING: Auto-generated file (11/21/2013 11:07:25 AM)
+ * Run Rx's auto-homoiconizer tool to generate this file (in the HomoIcon directory).
*/
#pragma warning disable 1591
diff --git a/Rx/NET/Source/System.Reactive.Experimental/System.Reactive.Experimental.csproj b/Rx/NET/Source/System.Reactive.Experimental/System.Reactive.Experimental.csproj
index b860492..2c80a0d 100644
--- a/Rx/NET/Source/System.Reactive.Experimental/System.Reactive.Experimental.csproj
+++ b/Rx/NET/Source/System.Reactive.Experimental/System.Reactive.Experimental.csproj
@@ -12,6 +12,7 @@
<FileAlignment>512</FileAlignment>
<ProductSignAssembly>true</ProductSignAssembly>
<CodeAnalysisRuleSet>..\Rx.ruleset</CodeAnalysisRuleSet>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseXBLV|AnyCPU'">
<OutputPath>bin\ReleaseXBLV\</OutputPath>
@@ -56,4 +57,5 @@
</ProjectReference>
</ItemGroup>
<Import Project="..\Import.targets" />
+ <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
</Project> \ No newline at end of file
diff --git a/Rx/NET/Source/System.Reactive.Interfaces/IObservable.cs b/Rx/NET/Source/System.Reactive.Interfaces/IObservable.cs
index f1b62d2..ae67bc7 100644
--- a/Rx/NET/Source/System.Reactive.Interfaces/IObservable.cs
+++ b/Rx/NET/Source/System.Reactive.Interfaces/IObservable.cs
@@ -18,4 +18,7 @@ namespace System
IDisposable Subscribe(IObserver<T> observer);
}
}
-#endif \ No newline at end of file
+#elif !WINDOWSPHONE7 // TypeForwardedTo is not presen on windows phone 7 so we can't really target
+[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.IObservable<>))]
+#endif
+
diff --git a/Rx/NET/Source/System.Reactive.Interfaces/IObserver.cs b/Rx/NET/Source/System.Reactive.Interfaces/IObserver.cs
index 6ed6c58..e157410 100644
--- a/Rx/NET/Source/System.Reactive.Interfaces/IObserver.cs
+++ b/Rx/NET/Source/System.Reactive.Interfaces/IObserver.cs
@@ -30,4 +30,6 @@ namespace System
void OnCompleted();
}
}
+#elif !WINDOWSPHONE7 // TypeForwardedTo is not presen on windows phone 7 so we can't really target
+[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.IObserver<>))]
#endif \ No newline at end of file
diff --git a/Rx/NET/Source/System.Reactive.Interfaces/Properties/AssemblyInfo.cs b/Rx/NET/Source/System.Reactive.Interfaces/Properties/AssemblyInfo.cs
index fd916fa..0cbc40b 100644
--- a/Rx/NET/Source/System.Reactive.Interfaces/Properties/AssemblyInfo.cs
+++ b/Rx/NET/Source/System.Reactive.Interfaces/Properties/AssemblyInfo.cs
@@ -27,13 +27,11 @@ using System.Security;
[assembly: AllowPartiallyTrustedCallers]
#endif
-#if XBOX_LAKEVIEW
-[assembly: SecurityTransparent]
-#endif
+// ===========================================================================
+// DO NOT EDIT OR REMOVE ANYTHING BELOW THIS COMMENT.
+// Version numbers are automatically generated in the msbuild files based on regular expressions
+// ===========================================================================
-//
-// Starting with v2.0 RC, we're bumping this file's version number,
-// because MSI wouldn't pick it up as an update otherwise...
-//
-//[assembly: AssemblyVersion("2.0.0.0")]
-//[assembly: AssemblyFileVersion("2.0.0.0")]
+[assembly: AssemblyVersion("2.2.0.0")]
+[assembly: AssemblyFileVersion("2.2.0.0")]
+[assembly: AssemblyInformationalVersion("2.2.0.0")]
diff --git a/Rx/NET/Source/System.Reactive.Interfaces/System.Reactive.Interfaces.csproj b/Rx/NET/Source/System.Reactive.Interfaces/System.Reactive.Interfaces.csproj
index 02851a7..86efc2f 100644
--- a/Rx/NET/Source/System.Reactive.Interfaces/System.Reactive.Interfaces.csproj
+++ b/Rx/NET/Source/System.Reactive.Interfaces/System.Reactive.Interfaces.csproj
@@ -12,6 +12,7 @@
<FileAlignment>512</FileAlignment>
<ProductSignAssembly>true</ProductSignAssembly>
<CodeAnalysisRuleSet>..\Rx.ruleset</CodeAnalysisRuleSet>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseXBLV|AnyCPU'">
<OutputPath>bin\ReleaseXBLV\</OutputPath>
@@ -57,4 +58,5 @@
</ItemGroup>
<ItemGroup />
<Import Project="..\Import.targets" />
+ <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
</Project> \ No newline at end of file
diff --git a/Rx/NET/Source/System.Reactive.Linq/GlobalSuppressions.cs b/Rx/NET/Source/System.Reactive.Linq/GlobalSuppressions.cs
index e0088a2..d05b514 100644
--- a/Rx/NET/Source/System.Reactive.Linq/GlobalSuppressions.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/GlobalSuppressions.cs
@@ -15,169 +15,169 @@
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "System.Reactive.Threading.Tasks", Justification = "By design.")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA2210:AssembliesShouldHaveValidStrongNames", Justification = "Taken care of by lab build.")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1016:MarkAssembliesWithAssemblyVersion", Justification = "Taken care of by lab build.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.AddRef`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Aggregate`2.#Run(System.IObserver`1<!1>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Aggregate`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.All`1.#Run(System.IObserver`1<System.Boolean>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Amb`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Any`1.#Run(System.IObserver`1<System.Boolean>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.AsObservable`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.AverageDecimal.#Run(System.IObserver`1<System.Decimal>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.AverageDecimalNullable.#Run(System.IObserver`1<System.Nullable`1<System.Decimal>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.AverageDouble.#Run(System.IObserver`1<System.Double>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.AverageDoubleNullable.#Run(System.IObserver`1<System.Nullable`1<System.Double>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.AverageInt32.#Run(System.IObserver`1<System.Double>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.AverageInt32Nullable.#Run(System.IObserver`1<System.Nullable`1<System.Double>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.AverageInt64.#Run(System.IObserver`1<System.Double>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.AverageInt64Nullable.#Run(System.IObserver`1<System.Nullable`1<System.Double>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.AverageSingle.#Run(System.IObserver`1<System.Single>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.AverageSingleNullable.#Run(System.IObserver`1<System.Nullable`1<System.Single>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Buffer`2.#Run(System.IObserver`1<System.Collections.Generic.IList`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Buffer`1.#Run(System.IObserver`1<System.Collections.Generic.IList`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Cast`2.#Run(System.IObserver`1<!1>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Catch`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Catch`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.CombineLatest`17.#Run(System.IObserver`1<!16>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.CombineLatest`16.#Run(System.IObserver`1<!15>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.CombineLatest`15.#Run(System.IObserver`1<!14>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.CombineLatest`14.#Run(System.IObserver`1<!13>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.CombineLatest`13.#Run(System.IObserver`1<!12>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.CombineLatest`12.#Run(System.IObserver`1<!11>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.CombineLatest`11.#Run(System.IObserver`1<!10>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.CombineLatest`10.#Run(System.IObserver`1<!9>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.CombineLatest`9.#Run(System.IObserver`1<!8>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.CombineLatest`8.#Run(System.IObserver`1<!7>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.CombineLatest`7.#Run(System.IObserver`1<!6>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.CombineLatest`6.#Run(System.IObserver`1<!5>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.CombineLatest`5.#Run(System.IObserver`1<!4>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.CombineLatest`4.#Run(System.IObserver`1<!3>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.CombineLatest`3.#Run(System.IObserver`1<!2>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.CombineLatest`2.#Run(System.IObserver`1<!1>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Concat`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Contains`1.#Run(System.IObserver`1<System.Boolean>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.CountObservαble`1.#Run(System.IObserver`1<System.Int32>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.DefaultIfEmpty`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Defer`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Delay`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Delay`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.DelaySubscription`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.Reactive.Linq.Observαble.Dematerialize`1+_.#OnNext(System.Reactive.Notification`1<!0>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Dematerialize`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Distinct`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.DistinctUntilChanged`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Do`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.AddRef`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Aggregate`2.#Run(System.IObserver`1<!1>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Aggregate`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.All`1.#Run(System.IObserver`1<System.Boolean>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Amb`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Any`1.#Run(System.IObserver`1<System.Boolean>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.AsObservable`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.AverageDecimal.#Run(System.IObserver`1<System.Decimal>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.AverageDecimalNullable.#Run(System.IObserver`1<System.Nullable`1<System.Decimal>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.AverageDouble.#Run(System.IObserver`1<System.Double>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.AverageDoubleNullable.#Run(System.IObserver`1<System.Nullable`1<System.Double>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.AverageInt32.#Run(System.IObserver`1<System.Double>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.AverageInt32Nullable.#Run(System.IObserver`1<System.Nullable`1<System.Double>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.AverageInt64.#Run(System.IObserver`1<System.Double>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.AverageInt64Nullable.#Run(System.IObserver`1<System.Nullable`1<System.Double>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.AverageSingle.#Run(System.IObserver`1<System.Single>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.AverageSingleNullable.#Run(System.IObserver`1<System.Nullable`1<System.Single>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Buffer`2.#Run(System.IObserver`1<System.Collections.Generic.IList`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Buffer`1.#Run(System.IObserver`1<System.Collections.Generic.IList`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Cast`2.#Run(System.IObserver`1<!1>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Catch`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Catch`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.CombineLatest`17.#Run(System.IObserver`1<!16>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.CombineLatest`16.#Run(System.IObserver`1<!15>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.CombineLatest`15.#Run(System.IObserver`1<!14>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.CombineLatest`14.#Run(System.IObserver`1<!13>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.CombineLatest`13.#Run(System.IObserver`1<!12>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.CombineLatest`12.#Run(System.IObserver`1<!11>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.CombineLatest`11.#Run(System.IObserver`1<!10>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.CombineLatest`10.#Run(System.IObserver`1<!9>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.CombineLatest`9.#Run(System.IObserver`1<!8>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.CombineLatest`8.#Run(System.IObserver`1<!7>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.CombineLatest`7.#Run(System.IObserver`1<!6>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.CombineLatest`6.#Run(System.IObserver`1<!5>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.CombineLatest`5.#Run(System.IObserver`1<!4>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.CombineLatest`4.#Run(System.IObserver`1<!3>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.CombineLatest`3.#Run(System.IObserver`1<!2>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.CombineLatest`2.#Run(System.IObserver`1<!1>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Concat`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Contains`1.#Run(System.IObserver`1<System.Boolean>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Count`1.#Run(System.IObserver`1<System.Int32>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.DefaultIfEmpty`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Defer`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Delay`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Delay`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.DelaySubscription`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Dematerialize`1+_.#OnNext(System.Reactive.Notification`1<!0>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Dematerialize`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Distinct`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.DistinctUntilChanged`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Do`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.Reactive.Either`2+Left.#Switch(System.Action`1<!0>,System.Action`1<!1>)", Justification = "Producer cannot pass null to setSink parameter.")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.Reactive.Either`2+Left.#Switch`1(System.Func`2<!0,!!0>,System.Func`2<!1,!!0>)", Justification = "Producer cannot pass null to setSink parameter.")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "1", Scope = "member", Target = "System.Reactive.Either`2+Right.#Switch(System.Action`1<!0>,System.Action`1<!1>)", Justification = "Producer cannot pass null to setSink parameter.")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "1", Scope = "member", Target = "System.Reactive.Either`2+Right.#Switch`1(System.Func`2<!0,!!0>,System.Func`2<!1,!!0>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.ElementAt`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Empty`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Finally`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.FirstAsync`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Generate`2.#Run(System.IObserver`1<!1>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.GroupBy`3.#Run(System.IObserver`1<System.Reactive.Linq.IGroupedObservable`2<!1,!2>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.GroupByUntil`4.#Run(System.IObserver`1<System.Reactive.Linq.IGroupedObservable`2<!1,!2>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.GroupJoin`5.#Run(System.IObserver`1<!4>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.IgnoreElements`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.IsEmpty`1.#Run(System.IObserver`1<System.Boolean>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Join`5.#Run(System.IObserver`1<!4>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.ElementAt`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Empty`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Finally`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.FirstAsync`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Generate`2.#Run(System.IObserver`1<!1>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.GroupBy`3.#Run(System.IObserver`1<System.Reactive.Linq.IGroupedObservable`2<!1,!2>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.GroupByUntil`4.#Run(System.IObserver`1<System.Reactive.Linq.IGroupedObservable`2<!1,!2>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.GroupJoin`5.#Run(System.IObserver`1<!4>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.IgnoreElements`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.IsEmpty`1.#Run(System.IObserver`1<System.Boolean>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Join`5.#Run(System.IObserver`1<!4>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.Reactive.Joins.JoinObserver`1.#OnNextCore(System.Reactive.Notification`1<!0>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.LastAsync`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.LongCountObservαble`1.#Run(System.IObserver`1<System.Int64>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Materialize`1.#Run(System.IObserver`1<System.Reactive.Notification`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Max`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MaxBy`2.#Run(System.IObserver`1<System.Collections.Generic.IList`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MaxDecimal.#Run(System.IObserver`1<System.Decimal>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MaxDecimalNullable.#Run(System.IObserver`1<System.Nullable`1<System.Decimal>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MaxDouble.#Run(System.IObserver`1<System.Double>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MaxDoubleNullable.#Run(System.IObserver`1<System.Nullable`1<System.Double>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MaxInt32.#Run(System.IObserver`1<System.Int32>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MaxInt32Nullable.#Run(System.IObserver`1<System.Nullable`1<System.Int32>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MaxInt64.#Run(System.IObserver`1<System.Int64>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MaxInt64Nullable.#Run(System.IObserver`1<System.Nullable`1<System.Int64>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MaxSingle.#Run(System.IObserver`1<System.Single>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MaxSingleNullable.#Run(System.IObserver`1<System.Nullable`1<System.Single>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Merge`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Min`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MinBy`2.#Run(System.IObserver`1<System.Collections.Generic.IList`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MinDecimal.#Run(System.IObserver`1<System.Decimal>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MinDecimalNullable.#Run(System.IObserver`1<System.Nullable`1<System.Decimal>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MinDouble.#Run(System.IObserver`1<System.Double>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MinDoubleNullable.#Run(System.IObserver`1<System.Nullable`1<System.Double>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MinInt32.#Run(System.IObserver`1<System.Int32>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MinInt32Nullable.#Run(System.IObserver`1<System.Nullable`1<System.Int32>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MinInt64.#Run(System.IObserver`1<System.Int64>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MinInt64Nullable.#Run(System.IObserver`1<System.Nullable`1<System.Int64>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MinSingle.#Run(System.IObserver`1<System.Single>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.MinSingleNullable.#Run(System.IObserver`1<System.Nullable`1<System.Single>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Multicast`3.#Run(System.IObserver`1<!2>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.OfType`2.#Run(System.IObserver`1<!1>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.OnErrorResumeNext`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Range.#Run(System.IObserver`1<System.Int32>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.RefCount`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Repeat`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Return`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Sample`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Sample`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Scan`2.#Run(System.IObserver`1<!1>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Scan`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Select`2.#Run(System.IObserver`1<!1>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.SelectMany`3.#Run(System.IObserver`1<!2>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.SelectMany`2.#Run(System.IObserver`1<!1>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.SequenceEqual`1.#Run(System.IObserver`1<System.Boolean>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.SingleAsync`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Skip`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.SkipLast`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.SkipUntil`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.SkipUntil`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.SkipWhile`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.SumDecimal.#Run(System.IObserver`1<System.Decimal>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.SumDecimalNullable.#Run(System.IObserver`1<System.Nullable`1<System.Decimal>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.SumDouble.#Run(System.IObserver`1<System.Double>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.SumDoubleNullable.#Run(System.IObserver`1<System.Nullable`1<System.Double>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.SumInt32.#Run(System.IObserver`1<System.Int32>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.SumInt32Nullable.#Run(System.IObserver`1<System.Nullable`1<System.Int32>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.SumInt64.#Run(System.IObserver`1<System.Int64>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.SumInt64Nullable.#Run(System.IObserver`1<System.Nullable`1<System.Int64>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.SumSingle.#Run(System.IObserver`1<System.Single>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.SumSingleNullable.#Run(System.IObserver`1<System.Nullable`1<System.Single>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Switch`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Take`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.TakeLast`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.TakeUntil`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.TakeUntil`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.TakeWhile`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Throttle`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Throttle`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Throw`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.TimeInterval`1.#Run(System.IObserver`1<System.Reactive.TimeInterval`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Timeout`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Timeout`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Timer.#Run(System.IObserver`1<System.Int64>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Timestamp`1.#Run(System.IObserver`1<System.Reactive.Timestamped`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.ToArray`1.#Run(System.IObserver`1<!0[]>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.ToDictionary`3.#Run(System.IObserver`1<System.Collections.Generic.IDictionary`2<!1,!2>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.ToList`1.#Run(System.IObserver`1<System.Collections.Generic.IList`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.ToLookup`3.#Run(System.IObserver`1<System.Linq.ILookup`2<!1,!2>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.ToObservable`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Using`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Where`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Window`2.#Run(System.IObserver`1<System.IObservable`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Window`1.#Run(System.IObserver`1<System.IObservable`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Zip`17.#Run(System.IObserver`1<!16>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Zip`16.#Run(System.IObserver`1<!15>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Zip`15.#Run(System.IObserver`1<!14>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Zip`14.#Run(System.IObserver`1<!13>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Zip`13.#Run(System.IObserver`1<!12>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Zip`12.#Run(System.IObserver`1<!11>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Zip`11.#Run(System.IObserver`1<!10>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Zip`10.#Run(System.IObserver`1<!9>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Zip`9.#Run(System.IObserver`1<!8>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Zip`8.#Run(System.IObserver`1<!7>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Zip`7.#Run(System.IObserver`1<!6>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Zip`6.#Run(System.IObserver`1<!5>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Zip`4.#Run(System.IObserver`1<!3>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Zip`3.#Run(System.IObserver`1<!2>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Zip`1.#Run(System.IObserver`1<System.Collections.Generic.IList`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.Observαble.Zip`5.#Run(System.IObserver`1<!4>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
-[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2208:InstantiateArgumentExceptionsCorrectly", Scope = "member", Target = "System.Reactive.Linq.Observαble.ElementAt`1+_.#OnCompleted()", Justification = "Asynchronous behavior; no more index parameter in scope.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.LastAsync`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.LongCount`1.#Run(System.IObserver`1<System.Int64>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Materialize`1.#Run(System.IObserver`1<System.Reactive.Notification`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Max`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MaxBy`2.#Run(System.IObserver`1<System.Collections.Generic.IList`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MaxDecimal.#Run(System.IObserver`1<System.Decimal>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MaxDecimalNullable.#Run(System.IObserver`1<System.Nullable`1<System.Decimal>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MaxDouble.#Run(System.IObserver`1<System.Double>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MaxDoubleNullable.#Run(System.IObserver`1<System.Nullable`1<System.Double>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MaxInt32.#Run(System.IObserver`1<System.Int32>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MaxInt32Nullable.#Run(System.IObserver`1<System.Nullable`1<System.Int32>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MaxInt64.#Run(System.IObserver`1<System.Int64>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MaxInt64Nullable.#Run(System.IObserver`1<System.Nullable`1<System.Int64>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MaxSingle.#Run(System.IObserver`1<System.Single>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MaxSingleNullable.#Run(System.IObserver`1<System.Nullable`1<System.Single>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Merge`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Min`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MinBy`2.#Run(System.IObserver`1<System.Collections.Generic.IList`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MinDecimal.#Run(System.IObserver`1<System.Decimal>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MinDecimalNullable.#Run(System.IObserver`1<System.Nullable`1<System.Decimal>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MinDouble.#Run(System.IObserver`1<System.Double>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MinDoubleNullable.#Run(System.IObserver`1<System.Nullable`1<System.Double>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MinInt32.#Run(System.IObserver`1<System.Int32>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MinInt32Nullable.#Run(System.IObserver`1<System.Nullable`1<System.Int32>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MinInt64.#Run(System.IObserver`1<System.Int64>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MinInt64Nullable.#Run(System.IObserver`1<System.Nullable`1<System.Int64>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MinSingle.#Run(System.IObserver`1<System.Single>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.MinSingleNullable.#Run(System.IObserver`1<System.Nullable`1<System.Single>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Multicast`3.#Run(System.IObserver`1<!2>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.OfType`2.#Run(System.IObserver`1<!1>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.OnErrorResumeNext`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Range.#Run(System.IObserver`1<System.Int32>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.RefCount`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Repeat`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Return`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Sample`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Sample`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Scan`2.#Run(System.IObserver`1<!1>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Scan`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Select`2.#Run(System.IObserver`1<!1>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.SelectMany`3.#Run(System.IObserver`1<!2>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.SelectMany`2.#Run(System.IObserver`1<!1>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.SequenceEqual`1.#Run(System.IObserver`1<System.Boolean>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.SingleAsync`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Skip`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.SkipLast`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.SkipUntil`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.SkipUntil`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.SkipWhile`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.SumDecimal.#Run(System.IObserver`1<System.Decimal>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.SumDecimalNullable.#Run(System.IObserver`1<System.Nullable`1<System.Decimal>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.SumDouble.#Run(System.IObserver`1<System.Double>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.SumDoubleNullable.#Run(System.IObserver`1<System.Nullable`1<System.Double>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.SumInt32.#Run(System.IObserver`1<System.Int32>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.SumInt32Nullable.#Run(System.IObserver`1<System.Nullable`1<System.Int32>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.SumInt64.#Run(System.IObserver`1<System.Int64>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.SumInt64Nullable.#Run(System.IObserver`1<System.Nullable`1<System.Int64>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.SumSingle.#Run(System.IObserver`1<System.Single>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.SumSingleNullable.#Run(System.IObserver`1<System.Nullable`1<System.Single>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Switch`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Take`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.TakeLast`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.TakeUntil`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.TakeUntil`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.TakeWhile`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Throttle`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Throttle`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Throw`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.TimeInterval`1.#Run(System.IObserver`1<System.Reactive.TimeInterval`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Timeout`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Timeout`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Timer.#Run(System.IObserver`1<System.Int64>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Timestamp`1.#Run(System.IObserver`1<System.Reactive.Timestamped`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.ToArray`1.#Run(System.IObserver`1<!0[]>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.ToDictionary`3.#Run(System.IObserver`1<System.Collections.Generic.IDictionary`2<!1,!2>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.ToList`1.#Run(System.IObserver`1<System.Collections.Generic.IList`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.ToLookup`3.#Run(System.IObserver`1<System.Linq.ILookup`2<!1,!2>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.ToObservable`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Using`2.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Where`1.#Run(System.IObserver`1<!0>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Window`2.#Run(System.IObserver`1<System.IObservable`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Window`1.#Run(System.IObserver`1<System.IObservable`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Zip`17.#Run(System.IObserver`1<!16>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Zip`16.#Run(System.IObserver`1<!15>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Zip`15.#Run(System.IObserver`1<!14>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Zip`14.#Run(System.IObserver`1<!13>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Zip`13.#Run(System.IObserver`1<!12>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Zip`12.#Run(System.IObserver`1<!11>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Zip`11.#Run(System.IObserver`1<!10>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Zip`10.#Run(System.IObserver`1<!9>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Zip`9.#Run(System.IObserver`1<!8>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Zip`8.#Run(System.IObserver`1<!7>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Zip`7.#Run(System.IObserver`1<!6>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Zip`6.#Run(System.IObserver`1<!5>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Zip`4.#Run(System.IObserver`1<!3>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Zip`3.#Run(System.IObserver`1<!2>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Zip`1.#Run(System.IObserver`1<System.Collections.Generic.IList`1<!0>>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "2", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.Zip`5.#Run(System.IObserver`1<!4>,System.IDisposable,System.Action`1<System.IDisposable>)", Justification = "Producer cannot pass null to setSink parameter.")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2208:InstantiateArgumentExceptionsCorrectly", Scope = "member", Target = "System.Reactive.Linq.ObservableImpl.ElementAt`1+_.#OnCompleted()", Justification = "Asynchronous behavior; no more index parameter in scope.")]
diff --git a/Rx/NET/Source/System.Reactive.Linq/Properties/AssemblyInfo.cs b/Rx/NET/Source/System.Reactive.Linq/Properties/AssemblyInfo.cs
index a4b081a..9b1065e 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Properties/AssemblyInfo.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Properties/AssemblyInfo.cs
@@ -27,11 +27,12 @@ using System.Security;
[assembly: AllowPartiallyTrustedCallers]
#endif
-#if XBOX_LAKEVIEW
-[assembly: SecurityTransparent]
-#endif
+// ===========================================================================
+// DO NOT EDIT OR REMOVE ANYTHING BELOW THIS COMMENT.
+// Version numbers are automatically generated in the msbuild files based on regular expressions
+// ===========================================================================
+
+[assembly: AssemblyVersion("2.2.0.0")]
+[assembly: AssemblyFileVersion("2.2.0.0")]
+[assembly: AssemblyInformationalVersion("2.2.0.0")]
-//
-// Note: Assembly (file) version numbers get inserted by the build system on the fly. Inspect the Team Build workflows
-// and the custom activity in Build/Source/Activities/AppendVersionInfo.cs for more information.
-//
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Internal/Helpers.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Internal/Helpers.cs
index dee33fb..5a6e1e2 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Internal/Helpers.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Internal/Helpers.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
using System.Collections.Generic;
-using System.Reactive.Linq.Observαble;
+using System.Reactive.Linq.ObservableImpl;
namespace System.Reactive
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Internal/ReflectionUtils.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Internal/ReflectionUtils.cs
index effdd08..34dec93 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Internal/ReflectionUtils.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Internal/ReflectionUtils.cs
@@ -15,7 +15,7 @@ namespace System.Reactive
{
public static TDelegate CreateDelegate<TDelegate>(object o, MethodInfo method)
{
-#if CRIPPLED_REFLECTION
+#if (CRIPPLED_REFLECTION && HAS_WINRT)
return (TDelegate)(object)method.CreateDelegate(typeof(TDelegate), o);
#else
return (TDelegate)(object)Delegate.CreateDelegate(typeof(TDelegate), o, method);
@@ -24,7 +24,7 @@ namespace System.Reactive
public static Delegate CreateDelegate(Type delegateType, object o, MethodInfo method)
{
-#if CRIPPLED_REFLECTION
+#if (CRIPPLED_REFLECTION && HAS_WINRT)
return method.CreateDelegate(delegateType, o);
#else
return Delegate.CreateDelegate(delegateType, o, method);
@@ -101,7 +101,7 @@ namespace System.Reactive
public static EventInfo GetEventEx(this Type type, string name, bool isStatic)
{
-#if CRIPPLED_REFLECTION
+#if (CRIPPLED_REFLECTION && HAS_WINRT)
// TODO: replace in the future by System.Reflection.RuntimeExtensions extension methods
var q = new Queue<TypeInfo>();
q.Enqueue(type.GetTypeInfo());
@@ -127,7 +127,7 @@ namespace System.Reactive
#endif
}
-#if CRIPPLED_REFLECTION
+#if (CRIPPLED_REFLECTION && HAS_WINRT)
public static MethodInfo GetMethod(this Type type, string name)
{
return type.GetTypeInfo().GetDeclaredMethod(name);
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/IQueryLanguage.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/IQueryLanguage.cs
index 4b35af6..2abdae0 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/IQueryLanguage.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/IQueryLanguage.cs
@@ -1,6 +1,5 @@
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
-using System;
using System.Collections.Generic;
using System.Linq;
using System.Reactive.Concurrency;
@@ -9,7 +8,7 @@ using System.Reactive.Subjects;
using System.Threading;
#if !NO_REMOTING
-using System.Runtime.Remoting.Lifetime;
+
#endif
#if !NO_TPL
@@ -386,7 +385,7 @@ namespace System.Reactive.Linq
#endregion
#region * Conversions *
-
+
IDisposable Subscribe<TSource>(IEnumerable<TSource> source, IObserver<TSource> observer);
IDisposable Subscribe<TSource>(IEnumerable<TSource> source, IObserver<TSource> observer, IScheduler scheduler);
IEnumerable<TSource> ToEnumerable<TSource>(IObservable<TSource> source);
@@ -503,7 +502,7 @@ namespace System.Reactive.Linq
IObservable<TEventArgs> FromEvent<TEventArgs>(Action<Action<TEventArgs>> addHandler, Action<Action<TEventArgs>> removeHandler, IScheduler scheduler);
IObservable<Unit> FromEvent(Action<Action> addHandler, Action<Action> removeHandler);
IObservable<Unit> FromEvent(Action<Action> addHandler, Action<Action> removeHandler, IScheduler scheduler);
-
+
#endregion
#region * Imperative *
@@ -683,10 +682,18 @@ namespace System.Reactive.Linq
IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer);
IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector);
IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer);
+ IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, int capacity);
+ IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, int capacity, IEqualityComparer<TKey> comparer);
+ IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, int capacity);
+ IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, int capacity, IEqualityComparer<TKey> comparer);
IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer);
IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector);
- IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector,Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer);
+ IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer);
IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector);
+ IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int capacity, IEqualityComparer<TKey> comparer);
+ IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int capacity);
+ IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, int capacity, IEqualityComparer<TKey> comparer);
+ IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, int capacity);
IObservable<TResult> GroupJoin<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(IObservable<TLeft> left, IObservable<TRight> right, Func<TLeft, IObservable<TLeftDuration>> leftDurationSelector, Func<TRight, IObservable<TRightDuration>> rightDurationSelector, Func<TLeft, IObservable<TRight>, TResult> resultSelector);
IObservable<TResult> Join<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(IObservable<TLeft> left, IObservable<TRight> right, Func<TLeft, IObservable<TLeftDuration>> leftDurationSelector, Func<TRight, IObservable<TRightDuration>> rightDurationSelector, Func<TLeft, TRight, TResult> resultSelector);
IObservable<TResult> OfType<TResult>(IObservable<object> source);
@@ -698,7 +705,7 @@ namespace System.Reactive.Linq
IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, IObservable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector);
IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, int, IObservable<TCollection>> collectionSelector, Func<TSource, int, TCollection, int, TResult> resultSelector);
IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, IObservable<TResult>> onNext, Func<Exception, IObservable<TResult>> onError, Func<IObservable<TResult>> onCompleted);
- IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> onNext, Func<Exception, int, IObservable<TResult>> onError, Func<int, IObservable<TResult>> onCompleted);
+ IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> onNext, Func<Exception, IObservable<TResult>> onError, Func<IObservable<TResult>> onCompleted);
IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, IEnumerable<TResult>> selector);
IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, IEnumerable<TResult>> selector);
IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, IEnumerable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector);
@@ -715,9 +722,13 @@ namespace System.Reactive.Linq
#if !NO_TPL
IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, Task<TResult>> selector);
+ IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, Task<TResult>> selector);
IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, CancellationToken, Task<TResult>> selector);
+ IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, CancellationToken, Task<TResult>> selector);
IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(IObservable<TSource> source, Func<TSource, Task<TTaskResult>> taskSelector, Func<TSource, TTaskResult, TResult> resultSelector);
+ IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(IObservable<TSource> source, Func<TSource, int, Task<TTaskResult>> taskSelector, Func<TSource, int, TTaskResult, TResult> resultSelector);
IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(IObservable<TSource> source, Func<TSource, CancellationToken, Task<TTaskResult>> taskSelector, Func<TSource, TTaskResult, TResult> resultSelector);
+ IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(IObservable<TSource> source, Func<TSource, int, CancellationToken, Task<TTaskResult>> taskSelector, Func<TSource, int, TTaskResult, TResult> resultSelector);
#endif
#endregion
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Blocking.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Blocking.cs
index 1575b3d..db2a1d1 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Blocking.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Blocking.cs
@@ -76,7 +76,7 @@ namespace System.Reactive.Linq
#endregion
- #region First
+ #region + First +
/// <summary>
/// Returns the first element of an observable sequence.
@@ -123,7 +123,7 @@ namespace System.Reactive.Linq
#endregion
- #region FirstOrDefault
+ #region + FirstOrDefault +
/// <summary>
/// Returns the first element of an observable sequence, or a default value if no such element exists.
@@ -233,7 +233,7 @@ namespace System.Reactive.Linq
#endregion
- #region Last
+ #region + Last +
/// <summary>
/// Returns the last element of an observable sequence.
@@ -280,7 +280,7 @@ namespace System.Reactive.Linq
#endregion
- #region LastOrDefault
+ #region + LastOrDefault +
/// <summary>
/// Returns the last element of an observable sequence, or a default value if no such element exists.
@@ -385,7 +385,7 @@ namespace System.Reactive.Linq
#endregion
- #region Single
+ #region + Single +
/// <summary>
/// Returns the only element of an observable sequence, and throws an exception if there is not exactly one element in the observable sequence.
@@ -432,7 +432,7 @@ namespace System.Reactive.Linq
#endregion
- #region SingleOrDefault
+ #region + SingleOrDefault +
/// <summary>
/// Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method throws an exception if there is more than one element in the observable sequence.
@@ -479,7 +479,7 @@ namespace System.Reactive.Linq
#endregion
- #region Wait
+ #region + Wait +
/// <summary>
/// Waits for the observable sequence to complete and returns the last element of the sequence.
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Concurrency.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Concurrency.cs
index e14df19..7f29bfd 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Concurrency.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Concurrency.cs
@@ -5,7 +5,7 @@ using System.Threading;
namespace System.Reactive.Linq
{
- public static partial class Observable
+ public static partial class Observable
{
#region + ObserveOn +
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Creation.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Creation.cs
index 3de4a43..9b39888 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Creation.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Creation.cs
@@ -12,7 +12,7 @@ namespace System.Reactive.Linq
{
public static partial class Observable
{
- #region - Create -
+ #region + Create +
/// <summary>
/// Creates an observable sequence from a specified Subscribe method implementation.
@@ -56,7 +56,7 @@ namespace System.Reactive.Linq
#endregion
- #region - CreateAsync -
+ #region + CreateAsync +
#if !NO_TPL
/// <summary>
@@ -591,7 +591,7 @@ namespace System.Reactive.Linq
#endregion
- #region - UsingAsync -
+ #region + UsingAsync +
#if !NO_TPL
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Imperative.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Imperative.cs
index 0c8089e..2124e62 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Imperative.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Imperative.cs
@@ -12,7 +12,7 @@ namespace System.Reactive.Linq
{
public static partial class Observable
{
- #region ForEachAsync
+ #region + ForEachAsync +
#if !NO_TPL
/// <summary>
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Multiple.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Multiple.cs
index 9cb62de..db0d61b 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Multiple.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Multiple.cs
@@ -67,7 +67,7 @@ namespace System.Reactive.Linq
#endregion
- #region Buffer
+ #region + Buffer +
/// <summary>
/// Projects each element of an observable sequence into consecutive non-overlapping buffers.
@@ -1403,8 +1403,10 @@ namespace System.Reactive.Linq
#region + Switch +
/// <summary>
- /// Switches between the inner observable sequences such that the resulting sequence always produces elements from the most recently received inner observable sequence.
- /// Each time a new inner observable sequence is received, the previous inner observable sequence is unsubscribed from.
+ /// Transforms an observable sequence of observable sequences into an observable sequence
+ /// producing values only from the most recent observable sequence.
+ /// Each time a new inner observable sequence is received, unsubscribe from the
+ /// previous inner observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
/// <param name="sources">Observable sequence of inner observable sequences.</param>
@@ -1421,7 +1423,8 @@ namespace System.Reactive.Linq
#if !NO_TPL
/// <summary>
- /// Switches between the tasks such that the resulting sequence always produces results from the most recently received task.
+ /// Transforms an observable sequence of tasks into an observable sequence
+ /// producing values only from the most recent observable sequence.
/// Each time a new task is received, the previous task's result is ignored.
/// </summary>
/// <typeparam name="TSource">The type of the results produced by the source tasks.</typeparam>
@@ -1464,7 +1467,7 @@ namespace System.Reactive.Linq
#endregion
- #region Window
+ #region + Window +
/// <summary>
/// Projects each element of an observable sequence into consecutive non-overlapping windows.
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Single.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Single.cs
index 5d8e3ef..8782702 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Single.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Single.cs
@@ -339,7 +339,7 @@ namespace System.Reactive.Linq
#endregion
- #region - Repeat -
+ #region + Repeat +
/// <summary>
/// Repeats the observable sequence indefinitely.
@@ -377,7 +377,7 @@ namespace System.Reactive.Linq
#endregion
- #region - Retry -
+ #region + Retry +
/// <summary>
/// Repeats the source observable sequence until it successfully terminates.
@@ -486,7 +486,7 @@ namespace System.Reactive.Linq
#endregion
- #region - StartWith -
+ #region + StartWith +
/// <summary>
/// Prepends a sequence of values to an observable sequence.
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.StandardSequenceOperators.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.StandardSequenceOperators.cs
index 8eb9289..803ba26 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.StandardSequenceOperators.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.StandardSequenceOperators.cs
@@ -241,6 +241,112 @@ namespace System.Reactive.Linq
return s_impl.GroupBy<TSource, TKey, TElement>(source, keySelector, elementSelector, comparer);
}
+ /// <summary>
+ /// Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
+ /// <param name="source">An observable sequence whose elements to group.</param>
+ /// <param name="keySelector">A function to extract the key for each element.</param>
+ /// <param name="capacity">The initial number of elements that the underlying dictionary can contain.</param>
+ /// <returns>A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="keySelector"/> is null.</exception>
+ /// <exception cref="ArgumentOutOfRangeException"><paramref name="capacity"/> is less than 0.</exception>
+ public static IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, int capacity)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (keySelector == null)
+ throw new ArgumentNullException("keySelector");
+ if (capacity < 0)
+ throw new ArgumentOutOfRangeException("capacity");
+
+ return s_impl.GroupBy<TSource, TKey>(source, keySelector, capacity);
+ }
+
+ /// <summary>
+ /// Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function and comparer.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
+ /// <param name="source">An observable sequence whose elements to group.</param>
+ /// <param name="keySelector">A function to extract the key for each element.</param>
+ /// <param name="capacity">The initial number of elements that the underlying dictionary can contain.</param>
+ /// <param name="comparer">An equality comparer to compare keys with.</param>
+ /// <returns>A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="keySelector"/> or <paramref name="comparer"/> is null.</exception>
+ /// <exception cref="ArgumentOutOfRangeException"><paramref name="capacity"/> is less than 0.</exception>
+ public static IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, int capacity, IEqualityComparer<TKey> comparer)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (keySelector == null)
+ throw new ArgumentNullException("keySelector");
+ if (capacity < 0)
+ throw new ArgumentOutOfRangeException("capacity");
+ if (comparer == null)
+ throw new ArgumentNullException("comparer");
+
+ return s_impl.GroupBy<TSource, TKey>(source, keySelector, capacity, comparer);
+ }
+
+ /// <summary>
+ /// Groups the elements of an observable sequence with the specified initial capacity and selects the resulting elements by using a specified function.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
+ /// <typeparam name="TElement">The type of the elements within the groups computed for each element in the source sequence.</typeparam>
+ /// <param name="source">An observable sequence whose elements to group.</param>
+ /// <param name="keySelector">A function to extract the key for each element.</param>
+ /// <param name="elementSelector">A function to map each source element to an element in an observable group.</param>
+ /// <param name="capacity">The initial number of elements that the underlying dictionary can contain.</param>
+ /// <returns>A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="keySelector"/> or <paramref name="elementSelector"/> is null.</exception>
+ /// <exception cref="ArgumentOutOfRangeException"><paramref name="capacity"/> is less than 0.</exception>
+ public static IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, int capacity)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (keySelector == null)
+ throw new ArgumentNullException("keySelector");
+ if (elementSelector == null)
+ throw new ArgumentNullException("elementSelector");
+ if (capacity < 0)
+ throw new ArgumentOutOfRangeException("capacity");
+
+ return s_impl.GroupBy<TSource, TKey, TElement>(source, keySelector, elementSelector, capacity);
+ }
+
+ /// <summary>
+ /// Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function and comparer and selects the resulting elements by using a specified function.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
+ /// <typeparam name="TElement">The type of the elements within the groups computed for each element in the source sequence.</typeparam>
+ /// <param name="source">An observable sequence whose elements to group.</param>
+ /// <param name="keySelector">A function to extract the key for each element.</param>
+ /// <param name="elementSelector">A function to map each source element to an element in an observable group.</param>
+ /// <param name="capacity">The initial number of elements that the underlying dictionary can contain.</param>
+ /// <param name="comparer">An equality comparer to compare keys with.</param>
+ /// <returns>A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="keySelector"/> or <paramref name="elementSelector"/> or <paramref name="comparer"/> is null.</exception>
+ /// <exception cref="ArgumentOutOfRangeException"><paramref name="capacity"/> is less than 0.</exception>
+ public static IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, int capacity, IEqualityComparer<TKey> comparer)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (keySelector == null)
+ throw new ArgumentNullException("keySelector");
+ if (elementSelector == null)
+ throw new ArgumentNullException("elementSelector");
+ if (capacity < 0)
+ throw new ArgumentOutOfRangeException("capacity");
+ if (comparer == null)
+ throw new ArgumentNullException("comparer");
+
+ return s_impl.GroupBy<TSource, TKey, TElement>(source, keySelector, elementSelector, capacity, comparer);
+ }
+
#endregion
#region + GroupByUntil +
@@ -329,7 +435,7 @@ namespace System.Reactive.Linq
/// If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered.
/// </returns>
/// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="keySelector"/> or <paramref name="durationSelector"/> or <paramref name="comparer"/> is null.</exception>
- public static IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector,Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer)
+ public static IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer)
{
if (source == null)
throw new ArgumentNullException("source");
@@ -371,6 +477,148 @@ namespace System.Reactive.Linq
return s_impl.GroupByUntil<TSource, TKey, TDuration>(source, keySelector, durationSelector);
}
+ /// <summary>
+ /// Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function and comparer and selects the resulting elements by using a specified function.
+ /// A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same
+ /// key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
+ /// <typeparam name="TElement">The type of the elements within the groups computed for each element in the source sequence.</typeparam>
+ /// <typeparam name="TDuration">The type of the elements in the duration sequences obtained for each group to denote its lifetime.</typeparam>
+ /// <param name="source">An observable sequence whose elements to group.</param>
+ /// <param name="keySelector">A function to extract the key for each element.</param>
+ /// <param name="elementSelector">A function to map each source element to an element in an observable group.</param>
+ /// <param name="durationSelector">A function to signal the expiration of a group.</param>
+ /// <param name="capacity">The initial number of elements that the underlying dictionary can contain.</param>
+ /// <param name="comparer">An equality comparer to compare keys with.</param>
+ /// <returns>
+ /// A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.
+ /// If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered.
+ /// </returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="keySelector"/> or <paramref name="elementSelector"/> or <paramref name="durationSelector"/> or <paramref name="comparer"/> is null.</exception>
+ /// <exception cref="ArgumentOutOfRangeException"><paramref name="capacity"/> is less than 0.</exception>
+ public static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int capacity, IEqualityComparer<TKey> comparer)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (keySelector == null)
+ throw new ArgumentNullException("keySelector");
+ if (elementSelector == null)
+ throw new ArgumentNullException("elementSelector");
+ if (durationSelector == null)
+ throw new ArgumentNullException("durationSelector");
+ if (capacity < 0)
+ throw new ArgumentOutOfRangeException("capacity");
+ if (comparer == null)
+ throw new ArgumentNullException("comparer");
+
+ return s_impl.GroupByUntil<TSource, TKey, TElement, TDuration>(source, keySelector, elementSelector, durationSelector, capacity, comparer);
+ }
+
+ /// <summary>
+ /// Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function and selects the resulting elements by using a specified function.
+ /// A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same
+ /// key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
+ /// <typeparam name="TElement">The type of the elements within the groups computed for each element in the source sequence.</typeparam>
+ /// <typeparam name="TDuration">The type of the elements in the duration sequences obtained for each group to denote its lifetime.</typeparam>
+ /// <param name="source">An observable sequence whose elements to group.</param>
+ /// <param name="keySelector">A function to extract the key for each element.</param>
+ /// <param name="elementSelector">A function to map each source element to an element in an observable group.</param>
+ /// <param name="durationSelector">A function to signal the expiration of a group.</param>
+ /// <param name="capacity">The initial number of elements that the underlying dictionary can contain.</param>
+ /// <returns>
+ /// A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.
+ /// If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered.
+ /// </returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="keySelector"/> or <paramref name="elementSelector"/> or <paramref name="durationSelector"/> is null.</exception>
+ /// <exception cref="ArgumentOutOfRangeException"><paramref name="capacity"/> is less than 0.</exception>
+ public static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int capacity)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (keySelector == null)
+ throw new ArgumentNullException("keySelector");
+ if (elementSelector == null)
+ throw new ArgumentNullException("elementSelector");
+ if (durationSelector == null)
+ throw new ArgumentNullException("durationSelector");
+ if (capacity < 0)
+ throw new ArgumentOutOfRangeException("capacity");
+
+ return s_impl.GroupByUntil<TSource, TKey, TElement, TDuration>(source, keySelector, elementSelector, durationSelector, capacity);
+ }
+
+ /// <summary>
+ /// Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function and comparer.
+ /// A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same
+ /// key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
+ /// <typeparam name="TDuration">The type of the elements in the duration sequences obtained for each group to denote its lifetime.</typeparam>
+ /// <param name="source">An observable sequence whose elements to group.</param>
+ /// <param name="keySelector">A function to extract the key for each element.</param>
+ /// <param name="durationSelector">A function to signal the expiration of a group.</param>
+ /// <param name="capacity">The initial number of elements that the underlying dictionary can contain.</param>
+ /// <param name="comparer">An equality comparer to compare keys with.</param>
+ /// <returns>
+ /// A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.
+ /// If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered.
+ /// </returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="keySelector"/> or <paramref name="durationSelector"/> or <paramref name="comparer"/> is null.</exception>
+ /// <exception cref="ArgumentOutOfRangeException"><paramref name="capacity"/> is less than 0.</exception>
+ public static IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, int capacity, IEqualityComparer<TKey> comparer)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (keySelector == null)
+ throw new ArgumentNullException("keySelector");
+ if (durationSelector == null)
+ throw new ArgumentNullException("durationSelector");
+ if (capacity < 0)
+ throw new ArgumentOutOfRangeException("capacity");
+ if (comparer == null)
+ throw new ArgumentNullException("comparer");
+
+ return s_impl.GroupByUntil<TSource, TKey, TDuration>(source, keySelector, durationSelector, capacity, comparer);
+ }
+
+ /// <summary>
+ /// Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function.
+ /// A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same
+ /// key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
+ /// <typeparam name="TDuration">The type of the elements in the duration sequences obtained for each group to denote its lifetime.</typeparam>
+ /// <param name="source">An observable sequence whose elements to group.</param>
+ /// <param name="keySelector">A function to extract the key for each element.</param>
+ /// <param name="durationSelector">A function to signal the expiration of a group.</param>
+ /// <param name="capacity">The initial number of elements that the underlying dictionary can contain.</param>
+ /// <returns>
+ /// A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.
+ /// If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered.
+ /// </returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="keySelector"/> or <paramref name="durationSelector"/> is null.</exception>
+ /// <exception cref="ArgumentOutOfRangeException"><paramref name="capacity"/> is less than 0.</exception>
+ public static IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, int capacity)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (keySelector == null)
+ throw new ArgumentNullException("keySelector");
+ if (durationSelector == null)
+ throw new ArgumentNullException("durationSelector");
+ if (capacity < 0)
+ throw new ArgumentOutOfRangeException("capacity");
+
+ return s_impl.GroupByUntil<TSource, TKey, TDuration>(source, keySelector, durationSelector, capacity);
+ }
+
#endregion
#region + GroupJoin +
@@ -545,12 +793,12 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence.
+ /// Projects each element of an observable sequence to an observable sequence by incorporating the element's index and merges the resulting observable sequences into one observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <typeparam name="TResult">The type of the elements in the projected inner sequences and the elements in the merged result sequence.</typeparam>
/// <param name="source">An observable sequence of elements to project.</param>
- /// <param name="selector">A transform function to apply to each source element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="selector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
/// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
/// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="selector"/> is null.</exception>
public static IObservable<TResult> SelectMany<TSource, TResult>(this IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> selector)
@@ -585,6 +833,26 @@ namespace System.Reactive.Linq
}
/// <summary>
+ /// Projects each element of an observable sequence to a task by incorporating the element's index and merges all of the task results into one observable sequence.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the result produced by the projected tasks and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.</returns>
+ /// <remarks>This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="TaskObservableExtensions.ToObservable&lt;TResult&gt;"/>.</remarks>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="selector"/> is null.</exception>
+ public static IObservable<TResult> SelectMany<TSource, TResult>(this IObservable<TSource> source, Func<TSource, int, Task<TResult>> selector)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (selector == null)
+ throw new ArgumentNullException("selector");
+
+ return s_impl.SelectMany<TSource, TResult>(source, selector);
+ }
+
+ /// <summary>
/// Projects each element of an observable sequence to a task with cancellation support and merges all of the task results into one observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
@@ -603,6 +871,26 @@ namespace System.Reactive.Linq
return s_impl.SelectMany<TSource, TResult>(source, selector);
}
+
+ /// <summary>
+ /// Projects each element of an observable sequence to a task by incorporating the element's index with cancellation support and merges all of the task results into one observable sequence.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the result produced by the projected tasks and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.</returns>
+ /// <remarks>This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="TaskObservableExtensions.ToObservable&lt;TResult&gt;"/>.</remarks>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="selector"/> is null.</exception>
+ public static IObservable<TResult> SelectMany<TSource, TResult>(this IObservable<TSource> source, Func<TSource, int, CancellationToken, Task<TResult>> selector)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (selector == null)
+ throw new ArgumentNullException("selector");
+
+ return s_impl.SelectMany<TSource, TResult>(source, selector);
+ }
#endif
/// <summary>
@@ -629,14 +917,14 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
+ /// Projects each element of an observable sequence to an observable sequence by incorporating the element's index, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <typeparam name="TCollection">The type of the elements in the projected intermediate sequences.</typeparam>
/// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.</typeparam>
/// <param name="source">An observable sequence of elements to project.</param>
- /// <param name="collectionSelector">A transform function to apply to each source element; the second parameter of the function represents the index of the source element.</param>
- /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
+ /// <param name="collectionSelector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element and the fourth parameter represents the index of the intermediate element.</param>
/// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.</returns>
/// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="collectionSelector"/> or <paramref name="resultSelector"/> is null.</exception>
public static IObservable<TResult> SelectMany<TSource, TCollection, TResult>(this IObservable<TSource> source, Func<TSource, int, IObservable<TCollection>> collectionSelector, Func<TSource, int, TCollection, int, TResult> resultSelector)
@@ -677,6 +965,30 @@ namespace System.Reactive.Linq
}
/// <summary>
+ /// Projects each element of an observable sequence to a task by incorporating the element's index, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TTaskResult">The type of the results produced by the projected intermediate tasks.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="taskSelector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="taskSelector"/> or <paramref name="resultSelector"/> is null.</exception>
+ /// <remarks>This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="TaskObservableExtensions.ToObservable&lt;TResult&gt;"/>.</remarks>
+ public static IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(this IObservable<TSource> source, Func<TSource, int, Task<TTaskResult>> taskSelector, Func<TSource, int, TTaskResult, TResult> resultSelector)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (taskSelector == null)
+ throw new ArgumentNullException("taskSelector");
+ if (resultSelector == null)
+ throw new ArgumentNullException("resultSelector");
+
+ return s_impl.SelectMany<TSource, TTaskResult, TResult>(source, taskSelector, resultSelector);
+ }
+
+ /// <summary>
/// Projects each element of an observable sequence to a task with cancellation support, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
@@ -699,6 +1011,30 @@ namespace System.Reactive.Linq
return s_impl.SelectMany<TSource, TTaskResult, TResult>(source, taskSelector, resultSelector);
}
+
+ /// <summary>
+ /// Projects each element of an observable sequence to a task by incorporating the element's index with cancellation support, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TTaskResult">The type of the results produced by the projected intermediate tasks.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="taskSelector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="taskSelector"/> or <paramref name="resultSelector"/> is null.</exception>
+ /// <remarks>This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="TaskObservableExtensions.ToObservable&lt;TResult&gt;"/>.</remarks>
+ public static IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(this IObservable<TSource> source, Func<TSource, int, CancellationToken, Task<TTaskResult>> taskSelector, Func<TSource, int, TTaskResult, TResult> resultSelector)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (taskSelector == null)
+ throw new ArgumentNullException("taskSelector");
+ if (resultSelector == null)
+ throw new ArgumentNullException("resultSelector");
+
+ return s_impl.SelectMany<TSource, TTaskResult, TResult>(source, taskSelector, resultSelector);
+ }
#endif
/// <summary>
@@ -727,17 +1063,17 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence.
+ /// Projects each notification of an observable sequence to an observable sequence by incorporating the element's index and merges the resulting observable sequences into one observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <typeparam name="TResult">The type of the elements in the projected inner sequences and the elements in the merged result sequence.</typeparam>
/// <param name="source">An observable sequence of notifications to project.</param>
- /// <param name="onNext">A transform function to apply to each element; the second parameter represents the index of the source element.</param>
- /// <param name="onError">A transform function to apply when an error occurs in the source sequence; the second parameter represents the index of the source element.</param>
- /// <param name="onCompleted">A transform function to apply when the end of the source sequence is reached; the second parameter represents the number of elements observed.</param>
+ /// <param name="onNext">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="onError">A transform function to apply when an error occurs in the source sequence.</param>
+ /// <param name="onCompleted">A transform function to apply when the end of the source sequence is reached.</param>
/// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence.</returns>
/// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="onNext"/> or <paramref name="onError"/> or <paramref name="onCompleted"/> is null.</exception>
- public static IObservable<TResult> SelectMany<TSource, TResult>(this IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> onNext, Func<Exception, int, IObservable<TResult>> onError, Func<int, IObservable<TResult>> onCompleted)
+ public static IObservable<TResult> SelectMany<TSource, TResult>(this IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> onNext, Func<Exception, IObservable<TResult>> onError, Func<IObservable<TResult>> onCompleted)
{
if (source == null)
throw new ArgumentNullException("source");
@@ -772,13 +1108,12 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence.
- /// The index of each source element is used in the projected form of that element.
+ /// Projects each element of an observable sequence to an enumerable sequence by incorporating the element's index and concatenates the resulting enumerable sequences into one observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <typeparam name="TResult">The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence.</typeparam>
/// <param name="source">An observable sequence of elements to project.</param>
- /// <param name="selector">A transform function to apply to each source element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="selector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
/// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
/// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="selector"/> is null.</exception>
/// <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="Observable.ToObservable&lt;TSource&gt;(IEnumerable&lt;TSource&gt;)"/> conversion.</remarks>
@@ -817,14 +1152,14 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
+ /// Projects each element of an observable sequence to an enumerable sequence by incorporating the element's index, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <typeparam name="TCollection">The type of the elements in the projected intermediate enumerable sequences.</typeparam>
/// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.</typeparam>
/// <param name="source">An observable sequence of elements to project.</param>
/// <param name="collectionSelector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
- /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element and the fourth parameter represents the index of the intermediate element.</param>
/// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.</returns>
/// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="collectionSelector"/> or <paramref name="resultSelector"/> is null.</exception>
/// <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="Observable.ToObservable&lt;TSource&gt;(IEnumerable&lt;TSource&gt;)"/> conversion.</remarks>
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/AddRef.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/AddRef.cs
index 3fc6962..46e66c6 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/AddRef.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/AddRef.cs
@@ -4,7 +4,7 @@
using System;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class AddRef<TSource> : Producer<TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Aggregate.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Aggregate.cs
index d1b6ef8..6ae63c0 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Aggregate.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Aggregate.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Aggregate<TSource, TAccumulate, TResult> : Producer<TResult>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/All.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/All.cs
index 09c825d..49a0933 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/All.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/All.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class All<TSource> : Producer<bool>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Amb.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Amb.cs
index 7272cee..ea110c5 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Amb.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Amb.cs
@@ -4,7 +4,7 @@
using System;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Amb<TSource> : Producer<TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Any.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Any.cs
index 1414bdd..c8eb37a 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Any.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Any.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Any<TSource> : Producer<bool>
{
@@ -25,7 +25,7 @@ namespace System.Reactive.Linq.Observαble
{
if (_predicate != null)
{
- var sink = new π(this, observer, cancel);
+ var sink = new AnyImpl(this, observer, cancel);
setSink(sink);
return _source.SubscribeSafe(sink);
}
@@ -65,11 +65,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class π : Sink<bool>, IObserver<TSource>
+ class AnyImpl : Sink<bool>, IObserver<TSource>
{
private readonly Any<TSource> _parent;
- public π(Any<TSource> parent, IObserver<bool> observer, IDisposable cancel)
+ public AnyImpl(Any<TSource> parent, IObserver<bool> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/AsObservable.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/AsObservable.cs
index 09d5f14..c4e9d2f 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/AsObservable.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/AsObservable.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class AsObservable<TSource> : Producer<TSource>, IEvaluatableObservable<TSource>
{
@@ -14,7 +14,7 @@ namespace System.Reactive.Linq.Observαble
_source = source;
}
- public IObservable<TSource> Ω()
+ public IObservable<TSource> Omega()
{
return this;
}
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Average.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Average.cs
index fb2d6b7..897da02 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Average.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Average.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class AverageDouble : Producer<double>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Buffer.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Buffer.cs
index a82b550..ce6ced8 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Buffer.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Buffer.cs
@@ -8,7 +8,7 @@ using System.Reactive.Concurrency;
using System.Reactive.Disposables;
using System.Threading;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Buffer<TSource> : Producer<IList<TSource>>
{
@@ -53,7 +53,7 @@ namespace System.Reactive.Linq.Observαble
}
else if (_count > 0)
{
- var sink = new μ(this, observer, cancel);
+ var sink = new Impl(this, observer, cancel);
setSink(sink);
return sink.Run();
}
@@ -61,13 +61,13 @@ namespace System.Reactive.Linq.Observαble
{
if (_timeSpan == _timeShift)
{
- var sink = new π(this, observer, cancel);
+ var sink = new BufferTimeShift(this, observer, cancel);
setSink(sink);
return sink.Run();
}
else
{
- var sink = new τ(this, observer, cancel);
+ var sink = new BufferImpl(this, observer, cancel);
setSink(sink);
return sink.Run();
}
@@ -143,11 +143,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class τ : Sink<IList<TSource>>, IObserver<TSource>
+ class BufferImpl : Sink<IList<TSource>>, IObserver<TSource>
{
private readonly Buffer<TSource> _parent;
- public τ(Buffer<TSource> parent, IObserver<IList<TSource>> observer, IDisposable cancel)
+ public BufferImpl(Buffer<TSource> parent, IObserver<IList<TSource>> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
@@ -283,11 +283,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class π : Sink<IList<TSource>>, IObserver<TSource>
+ class BufferTimeShift : Sink<IList<TSource>>, IObserver<TSource>
{
private readonly Buffer<TSource> _parent;
- public π(Buffer<TSource> parent, IObserver<IList<TSource>> observer, IDisposable cancel)
+ public BufferTimeShift(Buffer<TSource> parent, IObserver<IList<TSource>> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
@@ -346,11 +346,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class μ : Sink<IList<TSource>>, IObserver<TSource>
+ class Impl : Sink<IList<TSource>>, IObserver<TSource>
{
private readonly Buffer<TSource> _parent;
- public μ(Buffer<TSource> parent, IObserver<IList<TSource>> observer, IDisposable cancel)
+ public Impl(Buffer<TSource> parent, IObserver<IList<TSource>> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
@@ -487,7 +487,7 @@ namespace System.Reactive.Linq.Observαble
}
else
{
- var sink = new β(this, observer, cancel);
+ var sink = new Beta(this, observer, cancel);
setSink(sink);
return sink.Run();
}
@@ -544,7 +544,7 @@ namespace System.Reactive.Linq.Observαble
var closingSubscription = new SingleAssignmentDisposable();
_m.Disposable = closingSubscription;
- closingSubscription.Disposable = bufferClose.SubscribeSafe(new ω(this, closingSubscription));
+ closingSubscription.Disposable = bufferClose.SubscribeSafe(new Omega(this, closingSubscription));
}
private void CloseBuffer(IDisposable closingSubscription)
@@ -561,12 +561,12 @@ namespace System.Reactive.Linq.Observαble
_bufferGate.Wait(CreateBufferClose);
}
- class ω : IObserver<TBufferClosing>
+ class Omega : IObserver<TBufferClosing>
{
private readonly _ _parent;
private readonly IDisposable _self;
- public ω(_ parent, IDisposable self)
+ public Omega(_ parent, IDisposable self)
{
_parent = parent;
_self = self;
@@ -617,11 +617,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class β : Sink<IList<TSource>>, IObserver<TSource>
+ class Beta : Sink<IList<TSource>>, IObserver<TSource>
{
private readonly Buffer<TSource, TBufferClosing> _parent;
- public β(Buffer<TSource, TBufferClosing> parent, IObserver<IList<TSource>> observer, IDisposable cancel)
+ public Beta(Buffer<TSource, TBufferClosing> parent, IObserver<IList<TSource>> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
@@ -641,16 +641,16 @@ namespace System.Reactive.Linq.Observαble
_refCountDisposable = new RefCountDisposable(d);
d.Add(_parent._source.SubscribeSafe(this));
- d.Add(_parent._bufferBoundaries.SubscribeSafe(new ω(this)));
+ d.Add(_parent._bufferBoundaries.SubscribeSafe(new Omega(this)));
return _refCountDisposable;
}
- class ω : IObserver<TBufferClosing>
+ class Omega : IObserver<TBufferClosing>
{
- private readonly β _parent;
+ private readonly Beta _parent;
- public ω(β parent)
+ public Omega(Beta parent)
{
_parent = parent;
}
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Case.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Case.cs
index b104050..b3ba37c 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Case.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Case.cs
@@ -5,7 +5,7 @@ using System;
using System.Collections.Generic;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Case<TValue, TResult> : Producer<TResult>, IEvaluatableObservable<TResult>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Cast.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Cast.cs
index 48820b3..b123357 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Cast.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Cast.cs
@@ -3,9 +3,9 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
- class Cast<TSource, TResult> : Producer<TResult> /* Could optimize further by deriving from Select<TResult> and providing Ω<TResult2>. We're not doing this (yet) for debuggability. */
+ class Cast<TSource, TResult> : Producer<TResult> /* Could optimize further by deriving from Select<TResult> and providing Omega<TResult2>. We're not doing this (yet) for debuggability. */
{
private readonly IObservable<TSource> _source;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Catch.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Catch.cs
index 71e0037..06bf911 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Catch.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Catch.cs
@@ -6,7 +6,7 @@ using System.Collections.Generic;
using System.Reactive.Concurrency;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Catch<TSource> : Producer<TSource>
{
@@ -136,7 +136,7 @@ namespace System.Reactive.Linq.Observαble
var d = new SingleAssignmentDisposable();
_subscription.Disposable = d;
- d.Disposable = result.SubscribeSafe(new ε(this));
+ d.Disposable = result.SubscribeSafe(new Impl(this));
}
else
{
@@ -151,11 +151,11 @@ namespace System.Reactive.Linq.Observαble
base.Dispose();
}
- class ε : IObserver<TSource>
+ class Impl : IObserver<TSource>
{
private readonly _ _parent;
- public ε(_ parent)
+ public Impl(_ parent)
{
_parent = parent;
}
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Collect.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Collect.cs
index 2cfd240..8f0bf24 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Collect.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Collect.cs
@@ -7,7 +7,7 @@ using System.Reactive;
using System.Reactive.Threading;
using System.Threading;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Collect<TSource, TResult> : PushToPullAdapter<TSource, TResult>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/CombineLatest.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/CombineLatest.cs
index 2188307..9748e24 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/CombineLatest.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/CombineLatest.cs
@@ -7,7 +7,7 @@ using System.Collections.ObjectModel;
using System.Linq;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
#region Binary
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Concat.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Concat.cs
index 5a9b2e4..cd8c78a 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Concat.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Concat.cs
@@ -6,7 +6,7 @@ using System.Collections.Generic;
using System.Reactive.Concurrency;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Concat<TSource> : Producer<TSource>, IConcatenatable<TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Contains.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Contains.cs
index b26e2d4..69e30dc 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Contains.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Contains.cs
@@ -4,7 +4,7 @@
using System;
using System.Collections.Generic;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Contains<TSource> : Producer<bool>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Count.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Count.cs
index 7432816..0c2f389 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Count.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Count.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Count<TSource> : Producer<int>
{
@@ -31,7 +31,7 @@ namespace System.Reactive.Linq.Observαble
}
else
{
- var sink = new π(this, observer, cancel);
+ var sink = new CountImpl(this, observer, cancel);
setSink(sink);
return _source.SubscribeSafe(sink);
}
@@ -77,12 +77,12 @@ namespace System.Reactive.Linq.Observαble
}
}
- class π : Sink<int>, IObserver<TSource>
+ class CountImpl : Sink<int>, IObserver<TSource>
{
private readonly Count<TSource> _parent;
private int _count;
- public π(Count<TSource> parent, IObserver<int> observer, IDisposable cancel)
+ public CountImpl(Count<TSource> parent, IObserver<int> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DefaultIfEmpty.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DefaultIfEmpty.cs
index ed4bb89..551e536 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DefaultIfEmpty.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DefaultIfEmpty.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class DefaultIfEmpty<TSource> : Producer<TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Defer.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Defer.cs
index ba3dcc4..aa49c12 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Defer.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Defer.cs
@@ -4,7 +4,7 @@
using System;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Defer<TValue> : Producer<TValue>, IEvaluatableObservable<TValue>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Delay.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Delay.cs
index 3e2cbba..5ea3d25 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Delay.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Delay.cs
@@ -10,7 +10,7 @@ using System.Threading;
using System.Reactive.Threading;
#endif
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Delay<TSource> : Producer<TSource>
{
@@ -37,7 +37,7 @@ namespace System.Reactive.Linq.Observαble
{
if (_scheduler.AsLongRunning() != null)
{
- var sink = new λ(this, observer, cancel);
+ var sink = new LongRunningImpl(this, observer, cancel);
setSink(sink);
return sink.Run();
}
@@ -227,9 +227,9 @@ namespace System.Reactive.Linq.Observαble
// implementation, the loop below kept running while there was work for immediate dispatch,
// potentially causing a long running work item on the target scheduler. With the addition
// of long-running scheduling in Rx v2.0, we can check whether the scheduler supports this
- // interface and perform different processing (see λ). To reduce the code churn in the old
- // loop code here, we set the shouldYield flag to true after the first dispatch iteration,
- // in order to break from the loop and enter the recursive scheduling path.
+ // interface and perform different processing (see LongRunningImpl). To reduce the code
+ // churn in the old loop code here, we set the shouldYield flag to true after the first
+ // dispatch iteration, in order to break from the loop and enter the recursive scheduling path.
//
var shouldYield = false;
@@ -322,11 +322,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class λ : Sink<TSource>, IObserver<TSource>
+ class LongRunningImpl : Sink<TSource>, IObserver<TSource>
{
private readonly Delay<TSource> _parent;
- public λ(Delay<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public LongRunningImpl(Delay<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
@@ -629,7 +629,7 @@ namespace System.Reactive.Linq.Observαble
}
else
{
- _subscription.Disposable = _parent._subscriptionDelay.SubscribeSafe(new σ(this));
+ _subscription.Disposable = _parent._subscriptionDelay.SubscribeSafe(new SubscriptionDelay(this));
}
return new CompositeDisposable(_subscription, _delays);
@@ -660,7 +660,7 @@ namespace System.Reactive.Linq.Observαble
var d = new SingleAssignmentDisposable();
_delays.Add(d);
- d.Disposable = delay.SubscribeSafe(new δ(this, value, d));
+ d.Disposable = delay.SubscribeSafe(new Delta(this, value, d));
}
public void OnError(Exception error)
@@ -692,11 +692,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class σ : IObserver<TDelay>
+ class SubscriptionDelay : IObserver<TDelay>
{
private readonly _ _parent;
- public σ(_ parent)
+ public SubscriptionDelay(_ parent)
{
_parent = parent;
}
@@ -718,13 +718,13 @@ namespace System.Reactive.Linq.Observαble
}
}
- class δ : IObserver<TDelay>
+ class Delta : IObserver<TDelay>
{
private readonly _ _parent;
private readonly TSource _value;
private readonly IDisposable _self;
- public δ(_ parent, TSource value, IDisposable self)
+ public Delta(_ parent, TSource value, IDisposable self)
{
_parent = parent;
_value = value;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DelaySubscription.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DelaySubscription.cs
index c6a05cc..f5a742a 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DelaySubscription.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DelaySubscription.cs
@@ -4,7 +4,7 @@
using System;
using System.Reactive.Concurrency;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class DelaySubscription<TSource> : Producer<TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Dematerialize.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Dematerialize.cs
index 112b156..590ef3b 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Dematerialize.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Dematerialize.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Dematerialize<TSource> : Producer<TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Distinct.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Distinct.cs
index af20277..bd4b0ca 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Distinct.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Distinct.cs
@@ -4,7 +4,7 @@
using System;
using System.Collections.Generic;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Distinct<TSource, TKey> : Producer<TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DistinctUntilChanged.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DistinctUntilChanged.cs
index 10c7923..1ba8f5f 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DistinctUntilChanged.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DistinctUntilChanged.cs
@@ -4,7 +4,7 @@
using System;
using System.Collections.Generic;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class DistinctUntilChanged<TSource, TKey> : Producer<TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Do.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Do.cs
index 2f73cfa..a4b3747 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Do.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Do.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Do<TSource> : Producer<TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DoWhile.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DoWhile.cs
index 3ef40eb..5dc0bc6 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DoWhile.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/DoWhile.cs
@@ -4,7 +4,7 @@
using System;
using System.Collections.Generic;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class DoWhile<TSource> : Producer<TSource>, IConcatenatable<TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ElementAt.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ElementAt.cs
index b2b1212..0798d3b 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ElementAt.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ElementAt.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class ElementAt<TSource> : Producer<TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Empty.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Empty.cs
index 42c7241..30a2b65 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Empty.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Empty.cs
@@ -4,7 +4,7 @@
using System;
using System.Reactive.Concurrency;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Empty<TResult> : Producer<TResult>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Finally.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Finally.cs
index ca9a5d8..a70ac94 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Finally.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Finally.cs
@@ -4,7 +4,7 @@
using System;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Finally<TSource> : Producer<TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/FirstAsync.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/FirstAsync.cs
index 8d8bba7..62da120 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/FirstAsync.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/FirstAsync.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class FirstAsync<TSource> : Producer<TSource>
{
@@ -22,7 +22,7 @@ namespace System.Reactive.Linq.Observαble
{
if (_predicate != null)
{
- var sink = new π(this, observer, cancel);
+ var sink = new FirstAsyncImpl(this, observer, cancel);
setSink(sink);
return _source.SubscribeSafe(sink);
}
@@ -73,11 +73,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class π : Sink<TSource>, IObserver<TSource>
+ class FirstAsyncImpl : Sink<TSource>, IObserver<TSource>
{
private readonly FirstAsync<TSource> _parent;
- public π(FirstAsync<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public FirstAsyncImpl(FirstAsync<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/For.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/For.cs
index 85b9e03..948f319 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/For.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/For.cs
@@ -4,7 +4,7 @@
using System;
using System.Collections.Generic;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class For<TSource, TResult> : Producer<TResult>, IConcatenatable<TResult>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ForEach.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ForEach.cs
index 38e112d..9b5c024 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ForEach.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ForEach.cs
@@ -4,7 +4,7 @@
using System;
using System.Threading;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class ForEach<TSource>
{
@@ -62,7 +62,7 @@ namespace System.Reactive.Linq.Observαble
}
}
- public class τ : IObserver<TSource>
+ public class ForEachImpl : IObserver<TSource>
{
private readonly Action<TSource, int> _onNext;
private readonly Action _done;
@@ -71,7 +71,7 @@ namespace System.Reactive.Linq.Observαble
private Exception _exception;
private int _stopped;
- public τ(Action<TSource, int> onNext, Action done)
+ public ForEachImpl(Action<TSource, int> onNext, Action done)
{
_onNext = onNext;
_done = done;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/FromEvent.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/FromEvent.cs
index 82c4348..90aa779 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/FromEvent.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/FromEvent.cs
@@ -156,7 +156,7 @@ using System.Reactive.Subjects;
// subject (which is opaque to the event producer). Not to mention that the subject would always be
// rooted by the target event (even when the FromEvent[Pattern] observable wrapper is unreachable).
//
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class FromEvent<TDelegate, TEventArgs> : ClassicEventProducer<TDelegate, TEventArgs>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/FromEventPattern.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/FromEventPattern.cs
index 76da050..ca98290 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/FromEventPattern.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/FromEventPattern.cs
@@ -12,23 +12,23 @@ using System.Threading;
//
// See FromEvent.cs for more information.
//
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class FromEventPattern
{
- public class τ<TDelegate, TEventArgs> : ClassicEventProducer<TDelegate, EventPattern<TEventArgs>>
+ public class Impl<TDelegate, TEventArgs> : ClassicEventProducer<TDelegate, EventPattern<TEventArgs>>
#if !NO_EVENTARGS_CONSTRAINT
where TEventArgs : EventArgs
#endif
{
private readonly Func<EventHandler<TEventArgs>, TDelegate> _conversion;
- public τ(Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
+ public Impl(Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
: base(addHandler, removeHandler, scheduler)
{
}
- public τ(Func<EventHandler<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
+ public Impl(Func<EventHandler<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
: base(addHandler, removeHandler, scheduler)
{
_conversion = conversion;
@@ -52,12 +52,12 @@ namespace System.Reactive.Linq.Observαble
}
}
- public class τ<TDelegate, TSender, TEventArgs> : ClassicEventProducer<TDelegate, EventPattern<TSender, TEventArgs>>
+ public class Impl<TDelegate, TSender, TEventArgs> : ClassicEventProducer<TDelegate, EventPattern<TSender, TEventArgs>>
#if !NO_EVENTARGS_CONSTRAINT
where TEventArgs : EventArgs
#endif
{
- public τ(Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
+ public Impl(Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
: base(addHandler, removeHandler, scheduler)
{
}
@@ -69,7 +69,7 @@ namespace System.Reactive.Linq.Observαble
}
}
- public class ρ<TSender, TEventArgs, TResult> : EventProducer<Delegate, TResult>
+ public class Handler<TSender, TEventArgs, TResult> : EventProducer<Delegate, TResult>
{
private readonly object _target;
private readonly Type _delegateType;
@@ -80,7 +80,7 @@ namespace System.Reactive.Linq.Observαble
private readonly bool _isWinRT;
#endif
- public ρ(object target, Type delegateType, MethodInfo addMethod, MethodInfo removeMethod, Func<TSender, TEventArgs, TResult> getResult, bool isWinRT, IScheduler scheduler)
+ public Handler(object target, Type delegateType, MethodInfo addMethod, MethodInfo removeMethod, Func<TSender, TEventArgs, TResult> getResult, bool isWinRT, IScheduler scheduler)
: base(scheduler)
{
#if HAS_WINRT
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Generate.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Generate.cs
index 89ef862..7e46655 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Generate.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Generate.cs
@@ -7,7 +7,7 @@ using System.Reactive.Concurrency;
using System.Reactive.Disposables;
using System.Threading;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Generate<TState, TResult> : Producer<TResult>
{
@@ -52,13 +52,13 @@ namespace System.Reactive.Linq.Observαble
{
if (_timeSelectorA != null)
{
- var sink = new α(this, observer, cancel);
+ var sink = new SelectorA(this, observer, cancel);
setSink(sink);
return sink.Run();
}
else if (_timeSelectorR != null)
{
- var sink = new δ(this, observer, cancel);
+ var sink = new Delta(this, observer, cancel);
setSink(sink);
return sink.Run();
}
@@ -70,11 +70,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class α : Sink<TResult>
+ class SelectorA : Sink<TResult>
{
private readonly Generate<TState, TResult> _parent;
- public α(Generate<TState, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
+ public SelectorA(Generate<TState, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
@@ -130,11 +130,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class δ : Sink<TResult>
+ class Delta : Sink<TResult>
{
private readonly Generate<TState, TResult> _parent;
- public δ(Generate<TState, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
+ public Delta(Generate<TState, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GetEnumerator.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GetEnumerator.cs
index 05bf20b..a25efa8 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GetEnumerator.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GetEnumerator.cs
@@ -8,7 +8,7 @@ using System.Diagnostics;
using System.Reactive.Disposables;
using System.Threading;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class GetEnumerator<TSource> : IEnumerator<TSource>, IObserver<TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GroupBy.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GroupBy.cs
index 1e64100..4f91030 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GroupBy.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GroupBy.cs
@@ -7,20 +7,22 @@ using System.Linq;
using System.Reactive.Disposables;
using System.Reactive.Subjects;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class GroupBy<TSource, TKey, TElement> : Producer<IGroupedObservable<TKey, TElement>>
{
private readonly IObservable<TSource> _source;
private readonly Func<TSource, TKey> _keySelector;
private readonly Func<TSource, TElement> _elementSelector;
+ private readonly int? _capacity;
private readonly IEqualityComparer<TKey> _comparer;
- public GroupBy(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer)
+ public GroupBy(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, int? capacity, IEqualityComparer<TKey> comparer)
{
_source = source;
_keySelector = keySelector;
_elementSelector = elementSelector;
+ _capacity = capacity;
_comparer = comparer;
}
@@ -49,7 +51,15 @@ namespace System.Reactive.Linq.Observαble
: base(observer, cancel)
{
_parent = parent;
- _map = new Dictionary<TKey, ISubject<TElement>>(_parent._comparer);
+
+ if (_parent._capacity.HasValue)
+ {
+ _map = new Dictionary<TKey, ISubject<TElement>>(_parent._capacity.Value, _parent._comparer);
+ }
+ else
+ {
+ _map = new Dictionary<TKey, ISubject<TElement>>(_parent._comparer);
+ }
}
public void OnNext(TSource value)
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GroupByUntil.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GroupByUntil.cs
index 7d91f73..9baf146 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GroupByUntil.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GroupByUntil.cs
@@ -1,13 +1,13 @@
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
- #if !NO_PERF
+#if !NO_PERF
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reactive.Disposables;
using System.Reactive.Subjects;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class GroupByUntil<TSource, TKey, TElement, TDuration> : Producer<IGroupedObservable<TKey, TElement>>
{
@@ -15,14 +15,16 @@ namespace System.Reactive.Linq.Observαble
private readonly Func<TSource, TKey> _keySelector;
private readonly Func<TSource, TElement> _elementSelector;
private readonly Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> _durationSelector;
+ private readonly int? _capacity;
private readonly IEqualityComparer<TKey> _comparer;
- public GroupByUntil(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer)
+ public GroupByUntil(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int? capacity, IEqualityComparer<TKey> comparer)
{
_source = source;
_keySelector = keySelector;
_elementSelector = elementSelector;
_durationSelector = durationSelector;
+ _capacity = capacity;
_comparer = comparer;
}
@@ -52,7 +54,7 @@ namespace System.Reactive.Linq.Observαble
: base(observer, cancel)
{
_parent = parent;
- _map = new Map<TKey, ISubject<TElement>>(_parent._comparer);
+ _map = new Map<TKey, ISubject<TElement>>(_parent._capacity, _parent._comparer);
_nullGate = new object();
}
@@ -127,7 +129,7 @@ namespace System.Reactive.Linq.Observαble
var md = new SingleAssignmentDisposable();
_parent._groupDisposable.Add(md);
- md.Disposable = duration.SubscribeSafe(new δ(this, key, writer, md));
+ md.Disposable = duration.SubscribeSafe(new Delta(this, key, writer, md));
}
var element = default(TElement);
@@ -163,14 +165,14 @@ namespace System.Reactive.Linq.Observαble
writer.OnNext(element);
}
- class δ : IObserver<TDuration>
+ class Delta : IObserver<TDuration>
{
private readonly _ _parent;
private readonly TKey _key;
private readonly ISubject<TElement> _writer;
private readonly IDisposable _self;
- public δ(_ parent, TKey key, ISubject<TElement> writer, IDisposable self)
+ public Delta(_ parent, TKey key, ISubject<TElement> writer, IDisposable self)
{
_parent = parent;
_key = key;
@@ -272,11 +274,38 @@ namespace System.Reactive.Linq.Observαble
#if !NO_CDS
class Map<TKey, TValue>
{
+#if !NO_CDS_COLLECTIONS
+ // Taken from Rx\NET\Source\System.Reactive.Core\Reactive\Internal\ConcurrentDictionary.cs
+
+ // The default concurrency level is DEFAULT_CONCURRENCY_MULTIPLIER * #CPUs. The higher the
+ // DEFAULT_CONCURRENCY_MULTIPLIER, the more concurrent writes can take place without interference
+ // and blocking, but also the more expensive operations that require all locks become (e.g. table
+ // resizing, ToArray, Count, etc). According to brief benchmarks that we ran, 4 seems like a good
+ // compromise.
+ private const int DEFAULT_CONCURRENCY_MULTIPLIER = 4;
+
+ private static int DefaultConcurrencyLevel
+ {
+ get { return DEFAULT_CONCURRENCY_MULTIPLIER * Environment.ProcessorCount; }
+ }
+#endif
+
private readonly System.Collections.Concurrent.ConcurrentDictionary<TKey, TValue> _map;
- public Map(IEqualityComparer<TKey> comparer)
+ public Map(int? capacity, IEqualityComparer<TKey> comparer)
{
- _map = new System.Collections.Concurrent.ConcurrentDictionary<TKey, TValue>(comparer);
+ if (capacity.HasValue)
+ {
+#if NO_CDS_COLLECTIONS
+ _map = new System.Collections.Concurrent.ConcurrentDictionary<TKey, TValue>(capacity.Value, comparer);
+#else
+ _map = new System.Collections.Concurrent.ConcurrentDictionary<TKey, TValue>(DefaultConcurrencyLevel, capacity.Value, comparer);
+#endif
+ }
+ else
+ {
+ _map = new System.Collections.Concurrent.ConcurrentDictionary<TKey, TValue>(comparer);
+ }
}
public TValue GetOrAdd(TKey key, Func<TValue> valueFactory, out bool added)
@@ -327,9 +356,16 @@ namespace System.Reactive.Linq.Observαble
{
private readonly Dictionary<TKey, TValue> _map;
- public Map(IEqualityComparer<TKey> comparer)
+ public Map(int? capacity, IEqualityComparer<TKey> comparer)
{
- _map = new Dictionary<TKey, TValue>(comparer);
+ if (capacity.HasValue)
+ {
+ _map = new Dictionary<TKey, TValue>(capacity.Value, comparer);
+ }
+ else
+ {
+ _map = new Dictionary<TKey, TValue>(comparer);
+ }
}
public TValue GetOrAdd(TKey key, Func<TValue> valueFactory, out bool added)
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GroupJoin.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GroupJoin.cs
index 66e49be..19c8c45 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GroupJoin.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/GroupJoin.cs
@@ -6,7 +6,7 @@ using System.Collections.Generic;
using System.Reactive.Disposables;
using System.Reactive.Subjects;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class GroupJoin<TLeft, TRight, TLeftDuration, TRightDuration, TResult> : Producer<TResult>
{
@@ -68,18 +68,18 @@ namespace System.Reactive.Linq.Observαble
_rightID = 0;
_rightMap = new Dictionary<int, TRight>();
- leftSubscription.Disposable = _parent._left.SubscribeSafe(new λ(this, leftSubscription));
- rightSubscription.Disposable = _parent._right.SubscribeSafe(new ρ(this, rightSubscription));
+ leftSubscription.Disposable = _parent._left.SubscribeSafe(new LeftObserver(this, leftSubscription));
+ rightSubscription.Disposable = _parent._right.SubscribeSafe(new RightObserver(this, rightSubscription));
return _refCount;
}
- class λ : IObserver<TLeft>
+ class LeftObserver : IObserver<TLeft>
{
private readonly _ _parent;
private readonly IDisposable _self;
- public λ(_ parent, IDisposable self)
+ public LeftObserver(_ parent, IDisposable self)
{
_parent = parent;
_self = self;
@@ -122,7 +122,7 @@ namespace System.Reactive.Linq.Observαble
}
// BREAKING CHANGE v2 > v1.x - The duration sequence is subscribed to before the result sequence is evaluated.
- md.Disposable = duration.SubscribeSafe(new δ(this, id, s, md));
+ md.Disposable = duration.SubscribeSafe(new Delta(this, id, s, md));
var result = default(TResult);
try
@@ -146,14 +146,14 @@ namespace System.Reactive.Linq.Observαble
}
}
- class δ : IObserver<TLeftDuration>
+ class Delta : IObserver<TLeftDuration>
{
- private readonly λ _parent;
+ private readonly LeftObserver _parent;
private readonly int _id;
private readonly IObserver<TRight> _group;
private readonly IDisposable _self;
- public δ(λ parent, int id, IObserver<TRight> group, IDisposable self)
+ public Delta(LeftObserver parent, int id, IObserver<TRight> group, IDisposable self)
{
_parent = parent;
_id = id;
@@ -201,12 +201,12 @@ namespace System.Reactive.Linq.Observαble
}
}
- class ρ : IObserver<TRight>
+ class RightObserver : IObserver<TRight>
{
private readonly _ _parent;
private readonly IDisposable _self;
- public ρ(_ parent, IDisposable self)
+ public RightObserver(_ parent, IDisposable self)
{
_parent = parent;
_self = self;
@@ -242,7 +242,7 @@ namespace System.Reactive.Linq.Observαble
OnError(exception);
return;
}
- md.Disposable = duration.SubscribeSafe(new δ(this, id, md));
+ md.Disposable = duration.SubscribeSafe(new Delta(this, id, md));
lock (_parent._gate)
{
@@ -251,13 +251,13 @@ namespace System.Reactive.Linq.Observαble
}
}
- class δ : IObserver<TRightDuration>
+ class Delta : IObserver<TRightDuration>
{
- private readonly ρ _parent;
+ private readonly RightObserver _parent;
private readonly int _id;
private readonly IDisposable _self;
- public δ(ρ parent, int id, IDisposable self)
+ public Delta(RightObserver parent, int id, IDisposable self)
{
_parent = parent;
_id = id;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/If.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/If.cs
index 8b1804a..8740c32 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/If.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/If.cs
@@ -5,7 +5,7 @@ using System;
using System.Collections.Generic;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class If<TResult> : Producer<TResult>, IEvaluatableObservable<TResult>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/IgnoreElements.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/IgnoreElements.cs
index 65441bd..1f932ac 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/IgnoreElements.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/IgnoreElements.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class IgnoreElements<TSource> : Producer<TSource>
{
@@ -14,7 +14,7 @@ namespace System.Reactive.Linq.Observαble
_source = source;
}
- public IObservable<TSource> Ω()
+ public IObservable<TSource> Omega()
{
return this;
}
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/IsEmpty.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/IsEmpty.cs
index 674c6f8..722750e 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/IsEmpty.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/IsEmpty.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class IsEmpty<TSource> : Producer<bool>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Join.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Join.cs
index 13e6ad2..4d22d34 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Join.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Join.cs
@@ -5,7 +5,7 @@ using System;
using System.Collections.Generic;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Join<TLeft, TRight, TLeftDuration, TRightDuration, TResult> : Producer<TResult>
{
@@ -69,18 +69,18 @@ namespace System.Reactive.Linq.Observαble
_rightID = 0;
_rightMap = new Dictionary<int, TRight>();
- leftSubscription.Disposable = _parent._left.SubscribeSafe(new λ(this, leftSubscription));
- rightSubscription.Disposable = _parent._right.SubscribeSafe(new ρ(this, rightSubscription));
+ leftSubscription.Disposable = _parent._left.SubscribeSafe(new LeftObserver(this, leftSubscription));
+ rightSubscription.Disposable = _parent._right.SubscribeSafe(new RightObserver(this, rightSubscription));
return _group;
}
- class λ : IObserver<TLeft>
+ class LeftObserver : IObserver<TLeft>
{
private readonly _ _parent;
private readonly IDisposable _self;
- public λ(_ parent, IDisposable self)
+ public LeftObserver(_ parent, IDisposable self)
{
_parent = parent;
_self = self;
@@ -124,7 +124,7 @@ namespace System.Reactive.Linq.Observαble
return;
}
- md.Disposable = duration.SubscribeSafe(new δ(this, id, md));
+ md.Disposable = duration.SubscribeSafe(new Delta(this, id, md));
lock (_parent._gate)
{
@@ -147,13 +147,13 @@ namespace System.Reactive.Linq.Observαble
}
}
- class δ : IObserver<TLeftDuration>
+ class Delta : IObserver<TLeftDuration>
{
- private readonly λ _parent;
+ private readonly LeftObserver _parent;
private readonly int _id;
private readonly IDisposable _self;
- public δ(λ parent, int id, IDisposable self)
+ public Delta(LeftObserver parent, int id, IDisposable self)
{
_parent = parent;
_id = id;
@@ -203,12 +203,12 @@ namespace System.Reactive.Linq.Observαble
}
}
- class ρ : IObserver<TRight>
+ class RightObserver : IObserver<TRight>
{
private readonly _ _parent;
private readonly IDisposable _self;
- public ρ(_ parent, IDisposable self)
+ public RightObserver(_ parent, IDisposable self)
{
_parent = parent;
_self = self;
@@ -252,7 +252,7 @@ namespace System.Reactive.Linq.Observαble
return;
}
- md.Disposable = duration.SubscribeSafe(new δ(this, id, md));
+ md.Disposable = duration.SubscribeSafe(new Delta(this, id, md));
lock (_parent._gate)
{
@@ -275,13 +275,13 @@ namespace System.Reactive.Linq.Observαble
}
}
- class δ : IObserver<TRightDuration>
+ class Delta : IObserver<TRightDuration>
{
- private readonly ρ _parent;
+ private readonly RightObserver _parent;
private readonly int _id;
private readonly IDisposable _self;
- public δ(ρ parent, int id, IDisposable self)
+ public Delta(RightObserver parent, int id, IDisposable self)
{
_parent = parent;
_id = id;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/LastAsync.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/LastAsync.cs
index 1ecd930..0a77d32 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/LastAsync.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/LastAsync.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class LastAsync<TSource> : Producer<TSource>
{
@@ -22,7 +22,7 @@ namespace System.Reactive.Linq.Observαble
{
if (_predicate != null)
{
- var sink = new π(this, observer, cancel);
+ var sink = new LastAsyncImpl(this, observer, cancel);
setSink(sink);
return _source.SubscribeSafe(sink);
}
@@ -77,13 +77,13 @@ namespace System.Reactive.Linq.Observαble
}
}
- class π : Sink<TSource>, IObserver<TSource>
+ class LastAsyncImpl : Sink<TSource>, IObserver<TSource>
{
private readonly LastAsync<TSource> _parent;
private TSource _value;
private bool _seenValue;
- public π(LastAsync<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public LastAsyncImpl(LastAsync<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Latest.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Latest.cs
index 2699797..bc92e6d 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Latest.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Latest.cs
@@ -6,7 +6,7 @@ using System.Collections.Generic;
using System.Reactive.Threading;
using System.Threading;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Latest<TSource> : PushToPullAdapter<TSource, TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/LongCount.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/LongCount.cs
index 0108e18..63c9f24 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/LongCount.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/LongCount.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class LongCount<TSource> : Producer<long>
{
@@ -31,7 +31,7 @@ namespace System.Reactive.Linq.Observαble
}
else
{
- var sink = new π(this, observer, cancel);
+ var sink = new LongCountImpl(this, observer, cancel);
setSink(sink);
return _source.SubscribeSafe(sink);
}
@@ -77,12 +77,12 @@ namespace System.Reactive.Linq.Observαble
}
}
- class π : Sink<long>, IObserver<TSource>
+ class LongCountImpl : Sink<long>, IObserver<TSource>
{
private readonly LongCount<TSource> _parent;
private long _count;
- public π(LongCount<TSource> parent, IObserver<long> observer, IDisposable cancel)
+ public LongCountImpl(LongCount<TSource> parent, IObserver<long> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Materialize.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Materialize.cs
index 102267d..fa8e1ee 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Materialize.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Materialize.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Materialize<TSource> : Producer<Notification<TSource>>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Max.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Max.cs
index da339da..8e86e75 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Max.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Max.cs
@@ -4,7 +4,7 @@
using System;
using System.Collections.Generic;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Max<TSource> : Producer<TSource>
{
@@ -28,19 +28,19 @@ namespace System.Reactive.Linq.Observαble
}
else
{
- var sink = new δ(this, observer, cancel);
+ var sink = new Delta(this, observer, cancel);
setSink(sink);
return _source.SubscribeSafe(sink);
}
}
- class δ : Sink<TSource>, IObserver<TSource>
+ class Delta : Sink<TSource>, IObserver<TSource>
{
private readonly Max<TSource> _parent;
private bool _hasValue;
private TSource _lastValue;
- public δ(Max<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public Delta(Max<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/MaxBy.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/MaxBy.cs
index 52a9a42..4bf97f5 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/MaxBy.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/MaxBy.cs
@@ -4,7 +4,7 @@
using System;
using System.Collections.Generic;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class MaxBy<TSource, TKey> : Producer<IList<TSource>>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Merge.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Merge.cs
index a27c3c3..dd710cb 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Merge.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Merge.cs
@@ -10,7 +10,7 @@ using System.Threading;
using System.Threading.Tasks;
#endif
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Merge<TSource> : Producer<TSource>
{
@@ -41,14 +41,14 @@ namespace System.Reactive.Linq.Observαble
{
if (_maxConcurrent > 0)
{
- var sink = new μ(this, observer, cancel);
+ var sink = new MergeConcurrent(this, observer, cancel);
setSink(sink);
return sink.Run();
}
#if !NO_TPL
else if (_sourcesT != null)
{
- var sink = new τ(this, observer, cancel);
+ var sink = new MergeImpl(this, observer, cancel);
setSink(sink);
return sink.Run();
}
@@ -93,7 +93,7 @@ namespace System.Reactive.Linq.Observαble
{
var innerSubscription = new SingleAssignmentDisposable();
_group.Add(innerSubscription);
- innerSubscription.Disposable = value.SubscribeSafe(new ι(this, innerSubscription));
+ innerSubscription.Disposable = value.SubscribeSafe(new Iter(this, innerSubscription));
}
public void OnError(Exception error)
@@ -129,12 +129,12 @@ namespace System.Reactive.Linq.Observαble
}
}
- class ι : IObserver<TSource>
+ class Iter : IObserver<TSource>
{
private readonly _ _parent;
private readonly IDisposable _self;
- public ι(_ parent, IDisposable self)
+ public Iter(_ parent, IDisposable self)
{
_parent = parent;
_self = self;
@@ -177,11 +177,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class μ : Sink<TSource>, IObserver<IObservable<TSource>>
+ class MergeConcurrent : Sink<TSource>, IObserver<IObservable<TSource>>
{
private readonly Merge<TSource> _parent;
- public μ(Merge<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public MergeConcurrent(Merge<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
@@ -253,15 +253,15 @@ namespace System.Reactive.Linq.Observαble
{
var subscription = new SingleAssignmentDisposable();
_group.Add(subscription);
- subscription.Disposable = innerSource.SubscribeSafe(new ι(this, subscription));
+ subscription.Disposable = innerSource.SubscribeSafe(new Iter(this, subscription));
}
- class ι : IObserver<TSource>
+ class Iter : IObserver<TSource>
{
- private readonly μ _parent;
+ private readonly MergeConcurrent _parent;
private readonly IDisposable _self;
- public ι(μ parent, IDisposable self)
+ public Iter(MergeConcurrent parent, IDisposable self)
{
_parent = parent;
_self = self;
@@ -308,11 +308,11 @@ namespace System.Reactive.Linq.Observαble
#if !NO_TPL
#pragma warning disable 0420
- class τ : Sink<TSource>, IObserver<Task<TSource>>
+ class MergeImpl : Sink<TSource>, IObserver<Task<TSource>>
{
private readonly Merge<TSource> _parent;
- public τ(Merge<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public MergeImpl(Merge<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Min.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Min.cs
index f7b6197..fc08002 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Min.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Min.cs
@@ -4,7 +4,7 @@
using System;
using System.Collections.Generic;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Min<TSource> : Producer<TSource>
{
@@ -28,19 +28,19 @@ namespace System.Reactive.Linq.Observαble
}
else
{
- var sink = new δ(this, observer, cancel);
+ var sink = new Delta(this, observer, cancel);
setSink(sink);
return _source.SubscribeSafe(sink);
}
}
- class δ : Sink<TSource>, IObserver<TSource>
+ class Delta : Sink<TSource>, IObserver<TSource>
{
private readonly Min<TSource> _parent;
private bool _hasValue;
private TSource _lastValue;
- public δ(Min<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public Delta(Min<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/MinBy.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/MinBy.cs
index a32bf92..d9c93f6 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/MinBy.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/MinBy.cs
@@ -4,7 +4,7 @@
using System;
using System.Collections.Generic;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class MinBy<TSource, TKey> : Producer<IList<TSource>>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/MostRecent.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/MostRecent.cs
index 937d811..7311a33 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/MostRecent.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/MostRecent.cs
@@ -5,7 +5,7 @@ using System;
using System.Collections.Generic;
using System.Threading;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class MostRecent<TSource> : PushToPullAdapter<TSource, TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Multicast.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Multicast.cs
index 4a77300..ee163a5 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Multicast.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Multicast.cs
@@ -5,7 +5,7 @@ using System;
using System.Reactive.Disposables;
using System.Reactive.Subjects;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Multicast<TSource, TIntermediate, TResult> : Producer<TResult>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Never.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Never.cs
index a9adc52..eae632f 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Never.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Never.cs
@@ -4,7 +4,7 @@
using System;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Never<TResult> : IObservable<TResult>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Next.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Next.cs
index 2d4ec45..4b20276 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Next.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Next.cs
@@ -6,7 +6,7 @@ using System.Collections.Generic;
using System.Reactive.Threading;
using System.Threading;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Next<TSource> : PushToPullAdapter<TSource, TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ObserveOn.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ObserveOn.cs
index d5d7428..eaf7613 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ObserveOn.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ObserveOn.cs
@@ -5,7 +5,7 @@ using System;
using System.Reactive.Concurrency;
using System.Threading;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class ObserveOn<TSource> : Producer<TSource>
{
@@ -33,7 +33,7 @@ namespace System.Reactive.Linq.Observαble
#if !NO_SYNCCTX
if (_context != null)
{
- var sink = new ς(this, observer, cancel);
+ var sink = new ObserveOnImpl(this, observer, cancel);
setSink(sink);
return _source.Subscribe(sink);
}
@@ -47,11 +47,11 @@ namespace System.Reactive.Linq.Observαble
}
#if !NO_SYNCCTX
- class ς : Sink<TSource>, IObserver<TSource>
+ class ObserveOnImpl : Sink<TSource>, IObserver<TSource>
{
private readonly ObserveOn<TSource> _parent;
- public ς(ObserveOn<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public ObserveOnImpl(ObserveOn<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/OfType.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/OfType.cs
index 07e4515..27a0ca3 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/OfType.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/OfType.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class OfType<TSource, TResult> : Producer<TResult>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/OnErrorResumeNext.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/OnErrorResumeNext.cs
index 26dfd34..077a23f 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/OnErrorResumeNext.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/OnErrorResumeNext.cs
@@ -6,7 +6,7 @@ using System.Collections.Generic;
using System.Reactive.Concurrency;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class OnErrorResumeNext<TSource> : Producer<TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/PushToPullAdapter.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/PushToPullAdapter.cs
index 916d12b..6351365 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/PushToPullAdapter.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/PushToPullAdapter.cs
@@ -5,7 +5,7 @@ using System.Collections;
using System.Collections.Generic;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
abstract class PushToPullAdapter<TSource, TResult> : IEnumerable<TResult>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Range.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Range.cs
index c58d94c..414ae72 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Range.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Range.cs
@@ -5,7 +5,7 @@ using System;
using System.Reactive.Concurrency;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Range : Producer<int>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/RefCount.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/RefCount.cs
index 1762807..4efb917 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/RefCount.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/RefCount.cs
@@ -5,7 +5,7 @@ using System;
using System.Reactive.Disposables;
using System.Reactive.Subjects;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class RefCount<TSource> : Producer<TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Repeat.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Repeat.cs
index fab0607..4f418cb 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Repeat.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Repeat.cs
@@ -5,7 +5,7 @@ using System;
using System.Reactive.Concurrency;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Repeat<TResult> : Producer<TResult>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Return.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Return.cs
index cd9ad02..db98f88 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Return.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Return.cs
@@ -4,7 +4,7 @@
using System;
using System.Reactive.Concurrency;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Return<TResult> : Producer<TResult>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Sample.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Sample.cs
index 0d46c62..6d0e68b 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Sample.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Sample.cs
@@ -5,7 +5,7 @@ using System;
using System.Reactive.Concurrency;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Sample<TSource, TSample> : Producer<TSource>
{
@@ -51,7 +51,7 @@ namespace System.Reactive.Linq.Observαble
_sourceSubscription = sourceSubscription;
sourceSubscription.Disposable = _parent._source.SubscribeSafe(this);
- var samplerSubscription = _parent._sampler.SubscribeSafe(new σ(this));
+ var samplerSubscription = _parent._sampler.SubscribeSafe(new SampleImpl(this));
return new CompositeDisposable(_sourceSubscription, samplerSubscription);
}
@@ -83,11 +83,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class σ : IObserver<TSample>
+ class SampleImpl : IObserver<TSample>
{
private readonly _ _parent;
- public σ(_ parent)
+ public SampleImpl(_ parent)
{
_parent = parent;
}
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Scan.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Scan.cs
index 6c8f2fe..421177f 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Scan.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Scan.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Scan<TSource, TAccumulate> : Producer<TAccumulate>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Select.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Select.cs
index e853210..330fe3a 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Select.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Select.cs
@@ -3,11 +3,11 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
abstract class Select<TResult> : Producer<TResult>
{
- public abstract IObservable<TResult2> Ω<TResult2>(Func<TResult, TResult2> selector);
+ public abstract IObservable<TResult2> Omega<TResult2>(Func<TResult, TResult2> selector);
}
class Select<TSource, TResult> : Select<TResult>
@@ -28,7 +28,7 @@ namespace System.Reactive.Linq.Observαble
_selectorI = selector;
}
- public override IObservable<TResult2> Ω<TResult2>(Func<TResult, TResult2> selector)
+ public override IObservable<TResult2> Omega<TResult2>(Func<TResult, TResult2> selector)
{
if (_selector != null)
return new Select<TSource, TResult2>(_source, x => selector(_selector(x)));
@@ -46,7 +46,7 @@ namespace System.Reactive.Linq.Observαble
}
else
{
- var sink = new τ(this, observer, cancel);
+ var sink = new SelectImpl(this, observer, cancel);
setSink(sink);
return _source.SubscribeSafe(sink);
}
@@ -92,12 +92,12 @@ namespace System.Reactive.Linq.Observαble
}
}
- class τ : Sink<TResult>, IObserver<TSource>
+ class SelectImpl : Sink<TResult>, IObserver<TSource>
{
private readonly Select<TSource, TResult> _parent;
private int _index;
- public τ(Select<TSource, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
+ public SelectImpl(Select<TSource, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SelectMany.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SelectMany.cs
index 054f974..49d7cf9 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SelectMany.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SelectMany.cs
@@ -1,9 +1,7 @@
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
#if !NO_PERF
-using System;
using System.Collections.Generic;
-using System.Reactive;
using System.Reactive.Disposables;
#if !NO_TPL
@@ -11,17 +9,17 @@ using System.Threading;
using System.Threading.Tasks;
#endif
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class SelectMany<TSource, TCollection, TResult> : Producer<TResult>
{
private readonly IObservable<TSource> _source;
private readonly Func<TSource, IObservable<TCollection>> _collectionSelector;
- private readonly Func<TSource, int, IObservable<TCollection>> _collectionSelectorWithIndex;
+ private readonly Func<TSource, int, IObservable<TCollection>> _collectionSelectorI;
private readonly Func<TSource, IEnumerable<TCollection>> _collectionSelectorE;
- private readonly Func<TSource, int, IEnumerable<TCollection>> _collectionSelectorEWithIndex;
+ private readonly Func<TSource, int, IEnumerable<TCollection>> _collectionSelectorEI;
private readonly Func<TSource, TCollection, TResult> _resultSelector;
- private readonly Func<TSource, int, TCollection, int, TResult> _resultSelectorWithIndex;
+ private readonly Func<TSource, int, TCollection, int, TResult> _resultSelectorI;
public SelectMany(IObservable<TSource> source, Func<TSource, IObservable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector)
{
@@ -33,8 +31,8 @@ namespace System.Reactive.Linq.Observαble
public SelectMany(IObservable<TSource> source, Func<TSource, int, IObservable<TCollection>> collectionSelector, Func<TSource, int, TCollection, int, TResult> resultSelector)
{
_source = source;
- _collectionSelectorWithIndex = collectionSelector;
- _resultSelectorWithIndex = resultSelector;
+ _collectionSelectorI = collectionSelector;
+ _resultSelectorI = resultSelector;
}
public SelectMany(IObservable<TSource> source, Func<TSource, IEnumerable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector)
@@ -47,12 +45,14 @@ namespace System.Reactive.Linq.Observαble
public SelectMany(IObservable<TSource> source, Func<TSource, int, IEnumerable<TCollection>> collectionSelector, Func<TSource, int, TCollection, int, TResult> resultSelector)
{
_source = source;
- _collectionSelectorEWithIndex = collectionSelector;
- _resultSelectorWithIndex = resultSelector;
+ _collectionSelectorEI = collectionSelector;
+ _resultSelectorI = resultSelector;
}
#if !NO_TPL
private readonly Func<TSource, CancellationToken, Task<TCollection>> _collectionSelectorT;
+ private readonly Func<TSource, int, CancellationToken, Task<TCollection>> _collectionSelectorTI;
+ private readonly Func<TSource, int, TCollection, TResult> _resultSelectorTI;
public SelectMany(IObservable<TSource> source, Func<TSource, CancellationToken, Task<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector)
{
@@ -60,27 +60,52 @@ namespace System.Reactive.Linq.Observαble
_collectionSelectorT = collectionSelector;
_resultSelector = resultSelector;
}
+
+ public SelectMany(IObservable<TSource> source, Func<TSource, int, CancellationToken, Task<TCollection>> collectionSelector, Func<TSource, int, TCollection, TResult> resultSelector)
+ {
+ _source = source;
+ _collectionSelectorTI = collectionSelector;
+ _resultSelectorTI = resultSelector;
+ }
#endif
protected override IDisposable Run(IObserver<TResult> observer, IDisposable cancel, Action<IDisposable> setSink)
{
- if (_collectionSelector != null || _collectionSelectorWithIndex != null)
+ if (_collectionSelector != null)
{
var sink = new _(this, observer, cancel);
setSink(sink);
return sink.Run();
}
+ else if (_collectionSelectorI != null)
+ {
+ var sink = new IndexSelectorImpl(this, observer, cancel);
+ setSink(sink);
+ return sink.Run();
+ }
#if !NO_TPL
else if (_collectionSelectorT != null)
{
- var sink = new τ(this, observer, cancel);
+ var sink = new SelectManyImpl(this, observer, cancel);
+ setSink(sink);
+ return sink.Run();
+ }
+ else if (_collectionSelectorTI != null)
+ {
+ var sink = new Sigma(this, observer, cancel);
setSink(sink);
return sink.Run();
}
#endif
+ else if (_collectionSelectorE != null)
+ {
+ var sink = new NoSelectorImpl(this, observer, cancel);
+ setSink(sink);
+ return _source.SubscribeSafe(sink);
+ }
else
{
- var sink = new ε(this, observer, cancel);
+ var sink = new Omega(this, observer, cancel);
setSink(sink);
return _source.SubscribeSafe(sink);
}
@@ -94,14 +119,12 @@ namespace System.Reactive.Linq.Observαble
: base(observer, cancel)
{
_parent = parent;
- _indexInSource = -1;
}
private object _gate;
private bool _isStopped;
private CompositeDisposable _group;
private SingleAssignmentDisposable _sourceSubscription;
- private int _indexInSource;
public IDisposable Run()
{
@@ -122,13 +145,7 @@ namespace System.Reactive.Linq.Observαble
try
{
- if (_parent._collectionSelector != null)
- collection = _parent._collectionSelector(value);
- else
- {
- checked { _indexInSource++; }
- collection = _parent._collectionSelectorWithIndex(value, _indexInSource);
- }
+ collection = _parent._collectionSelector(value);
}
catch (Exception ex)
{
@@ -142,7 +159,7 @@ namespace System.Reactive.Linq.Observαble
var innerSubscription = new SingleAssignmentDisposable();
_group.Add(innerSubscription);
- innerSubscription.Disposable = collection.SubscribeSafe(new ι(this, value, innerSubscription, _indexInSource));
+ innerSubscription.Disposable = collection.SubscribeSafe(new Iter(this, value, innerSubscription));
}
public void OnError(Exception error)
@@ -178,21 +195,17 @@ namespace System.Reactive.Linq.Observαble
}
}
- class ι : IObserver<TCollection>
+ class Iter : IObserver<TCollection>
{
private readonly _ _parent;
private readonly TSource _value;
private readonly IDisposable _self;
- private int _indexInSource;
- private int _indexInIntermediate = -1;
- public ι(_ parent, TSource value, IDisposable self, int indexInSource)
+ public Iter(_ parent, TSource value, IDisposable self)
{
_parent = parent;
_value = value;
_self = self;
- _indexInSource = indexInSource;
- _indexInIntermediate = -1;
}
public void OnNext(TCollection value)
@@ -201,14 +214,164 @@ namespace System.Reactive.Linq.Observαble
try
{
- if (_parent._parent._resultSelector != null)
- res = _parent._parent._resultSelector(_value, value);
- else
+ res = _parent._parent._resultSelector(_value, value);
+ }
+ catch (Exception ex)
+ {
+ lock (_parent._gate)
+ {
+ _parent._observer.OnError(ex);
+ _parent.Dispose();
+ }
+ return;
+ }
+
+ lock (_parent._gate)
+ _parent._observer.OnNext(res);
+ }
+
+ public void OnError(Exception error)
+ {
+ lock (_parent._gate)
+ {
+ _parent._observer.OnError(error);
+ _parent.Dispose();
+ }
+ }
+
+ public void OnCompleted()
+ {
+ _parent._group.Remove(_self);
+ if (_parent._isStopped && _parent._group.Count == 1)
+ {
+ //
+ // Notice there can be a race between OnCompleted of the source and any
+ // of the inner sequences, where both see _group.Count == 1, and one is
+ // waiting for the lock. There won't be a double OnCompleted observation
+ // though, because the call to Dispose silences the observer by swapping
+ // in a NopObserver<T>.
+ //
+ lock (_parent._gate)
{
- checked { _indexInIntermediate++; }
- res = _parent._parent._resultSelectorWithIndex(_value, _indexInSource, value, _indexInIntermediate);
+ _parent._observer.OnCompleted();
+ _parent.Dispose();
}
}
+ }
+ }
+ }
+
+ class IndexSelectorImpl : Sink<TResult>, IObserver<TSource>
+ {
+ private readonly SelectMany<TSource, TCollection, TResult> _parent;
+
+ public IndexSelectorImpl(SelectMany<TSource, TCollection, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
+ : base(observer, cancel)
+ {
+ _parent = parent;
+ }
+
+ private object _gate;
+ private bool _isStopped;
+ private CompositeDisposable _group;
+ private SingleAssignmentDisposable _sourceSubscription;
+ private int _index;
+
+ public IDisposable Run()
+ {
+ _gate = new object();
+ _isStopped = false;
+ _group = new CompositeDisposable();
+
+ _sourceSubscription = new SingleAssignmentDisposable();
+ _group.Add(_sourceSubscription);
+ _sourceSubscription.Disposable = _parent._source.SubscribeSafe(this);
+
+ return _group;
+ }
+
+ public void OnNext(TSource value)
+ {
+ var index = checked(_index++);
+ var collection = default(IObservable<TCollection>);
+
+ try
+ {
+ collection = _parent._collectionSelectorI(value, index);
+ }
+ catch (Exception ex)
+ {
+ lock (_gate)
+ {
+ base._observer.OnError(ex);
+ base.Dispose();
+ }
+ return;
+ }
+
+ var innerSubscription = new SingleAssignmentDisposable();
+ _group.Add(innerSubscription);
+ innerSubscription.Disposable = collection.SubscribeSafe(new Iter(this, value, index, innerSubscription));
+ }
+
+ public void OnError(Exception error)
+ {
+ lock (_gate)
+ {
+ base._observer.OnError(error);
+ base.Dispose();
+ }
+ }
+
+ public void OnCompleted()
+ {
+ _isStopped = true;
+ if (_group.Count == 1)
+ {
+ //
+ // Notice there can be a race between OnCompleted of the source and any
+ // of the inner sequences, where both see _group.Count == 1, and one is
+ // waiting for the lock. There won't be a double OnCompleted observation
+ // though, because the call to Dispose silences the observer by swapping
+ // in a NopObserver<T>.
+ //
+ lock (_gate)
+ {
+ base._observer.OnCompleted();
+ base.Dispose();
+ }
+ }
+ else
+ {
+ _sourceSubscription.Dispose();
+ }
+ }
+
+ class Iter : IObserver<TCollection>
+ {
+ private readonly IndexSelectorImpl _parent;
+ private readonly TSource _value;
+ private readonly int _valueIndex;
+ private readonly IDisposable _self;
+
+ public Iter(IndexSelectorImpl parent, TSource value, int index, IDisposable self)
+ {
+ _parent = parent;
+ _value = value;
+ _valueIndex = index;
+ _self = self;
+ }
+
+ private int _index;
+
+ public void OnNext(TCollection value)
+ {
+ var res = default(TResult);
+
+ try
+ {
+ res = _parent._parent._resultSelectorI(_value, _valueIndex, value, checked(_index++));
+ }
catch (Exception ex)
{
lock (_parent._gate)
@@ -254,16 +417,14 @@ namespace System.Reactive.Linq.Observαble
}
}
- class ε : Sink<TResult>, IObserver<TSource>
+ class NoSelectorImpl : Sink<TResult>, IObserver<TSource>
{
private readonly SelectMany<TSource, TCollection, TResult> _parent;
- private int _indexInSource; // The "Weird SelectMany" requires indices in the original collection as well as an intermediate collection
- public ε(SelectMany<TSource, TCollection, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
+ public NoSelectorImpl(SelectMany<TSource, TCollection, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
- _indexInSource = -1;
}
public void OnNext(TSource value)
@@ -271,14 +432,93 @@ namespace System.Reactive.Linq.Observαble
var xs = default(IEnumerable<TCollection>);
try
{
- if (_parent._collectionSelectorE != null)
- xs = _parent._collectionSelectorE(value);
- else
+ xs = _parent._collectionSelectorE(value);
+ }
+ catch (Exception exception)
+ {
+ base._observer.OnError(exception);
+ base.Dispose();
+ return;
+ }
+
+ var e = default(IEnumerator<TCollection>);
+ try
+ {
+ e = xs.GetEnumerator();
+ }
+ catch (Exception exception)
+ {
+ base._observer.OnError(exception);
+ base.Dispose();
+ return;
+ }
+
+ try
+ {
+ var hasNext = true;
+ while (hasNext)
{
- checked { _indexInSource++; }
- xs = _parent._collectionSelectorEWithIndex(value, _indexInSource);
+ hasNext = false;
+ var current = default(TResult);
+
+ try
+ {
+ hasNext = e.MoveNext();
+ if (hasNext)
+ current = _parent._resultSelector(value, e.Current);
+ }
+ catch (Exception exception)
+ {
+ base._observer.OnError(exception);
+ base.Dispose();
+ return;
+ }
+
+ if (hasNext)
+ base._observer.OnNext(current);
}
}
+ finally
+ {
+ if (e != null)
+ e.Dispose();
+ }
+ }
+
+ public void OnError(Exception error)
+ {
+ base._observer.OnError(error);
+ base.Dispose();
+ }
+
+ public void OnCompleted()
+ {
+ base._observer.OnCompleted();
+ base.Dispose();
+ }
+ }
+
+ class Omega : Sink<TResult>, IObserver<TSource>
+ {
+ private readonly SelectMany<TSource, TCollection, TResult> _parent;
+
+ public Omega(SelectMany<TSource, TCollection, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
+ : base(observer, cancel)
+ {
+ _parent = parent;
+ }
+
+ private int _index;
+
+ public void OnNext(TSource value)
+ {
+ var index = checked(_index++);
+
+ var xs = default(IEnumerable<TCollection>);
+ try
+ {
+ xs = _parent._collectionSelectorEI(value, index);
+ }
catch (Exception exception)
{
base._observer.OnError(exception);
@@ -300,7 +540,7 @@ namespace System.Reactive.Linq.Observαble
try
{
- int indexInIntermediate = -1;
+ var eIndex = 0;
var hasNext = true;
while (hasNext)
{
@@ -311,15 +551,7 @@ namespace System.Reactive.Linq.Observαble
{
hasNext = e.MoveNext();
if (hasNext)
- {
- if (_parent._resultSelector != null)
- current = _parent._resultSelector(value, e.Current);
- else
- {
- checked { indexInIntermediate++; }
- current = _parent._resultSelectorWithIndex(value, _indexInSource, e.Current, indexInIntermediate);
- }
- }
+ current = _parent._resultSelectorI(value, index, e.Current, checked(eIndex++));
}
catch (Exception exception)
{
@@ -354,11 +586,11 @@ namespace System.Reactive.Linq.Observαble
#if !NO_TPL
#pragma warning disable 0420
- class τ : Sink<TResult>, IObserver<TSource>
+ class SelectManyImpl : Sink<TResult>, IObserver<TSource>
{
private readonly SelectMany<TSource, TCollection, TResult> _parent;
- public τ(SelectMany<TSource, TCollection, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
+ public SelectManyImpl(SelectMany<TSource, TCollection, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
@@ -487,6 +719,143 @@ namespace System.Reactive.Linq.Observαble
}
}
}
+
+ class Sigma : Sink<TResult>, IObserver<TSource>
+ {
+ private readonly SelectMany<TSource, TCollection, TResult> _parent;
+
+ public Sigma(SelectMany<TSource, TCollection, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
+ : base(observer, cancel)
+ {
+ _parent = parent;
+ }
+
+ private object _gate;
+ private CancellationDisposable _cancel;
+ private volatile int _count;
+ private int _index;
+
+ public IDisposable Run()
+ {
+ _gate = new object();
+ _cancel = new CancellationDisposable();
+ _count = 1;
+
+ return new CompositeDisposable(_parent._source.SubscribeSafe(this), _cancel);
+ }
+
+ public void OnNext(TSource value)
+ {
+ var index = checked(_index++);
+
+ var task = default(Task<TCollection>);
+ try
+ {
+ Interlocked.Increment(ref _count);
+ task = _parent._collectionSelectorTI(value, index, _cancel.Token);
+ }
+ catch (Exception ex)
+ {
+ lock (_gate)
+ {
+ base._observer.OnError(ex);
+ base.Dispose();
+ }
+
+ return;
+ }
+
+ if (task.IsCompleted)
+ {
+ OnCompletedTask(value, index, task);
+ }
+ else
+ {
+ AttachContinuation(value, index, task);
+ }
+ }
+
+ private void AttachContinuation(TSource value, int index, Task<TCollection> task)
+ {
+ //
+ // Separate method to avoid closure in synchronous completion case.
+ //
+ task.ContinueWith(t => OnCompletedTask(value, index, t));
+ }
+
+ private void OnCompletedTask(TSource value, int index, Task<TCollection> task)
+ {
+ switch (task.Status)
+ {
+ case TaskStatus.RanToCompletion:
+ {
+ var res = default(TResult);
+ try
+ {
+ res = _parent._resultSelectorTI(value, index, task.Result);
+ }
+ catch (Exception ex)
+ {
+ lock (_gate)
+ {
+ base._observer.OnError(ex);
+ base.Dispose();
+ }
+
+ return;
+ }
+
+ lock (_gate)
+ base._observer.OnNext(res);
+
+ OnCompleted();
+ }
+ break;
+ case TaskStatus.Faulted:
+ {
+ lock (_gate)
+ {
+ base._observer.OnError(task.Exception.InnerException);
+ base.Dispose();
+ }
+ }
+ break;
+ case TaskStatus.Canceled:
+ {
+ if (!_cancel.IsDisposed)
+ {
+ lock (_gate)
+ {
+ base._observer.OnError(new TaskCanceledException(task));
+ base.Dispose();
+ }
+ }
+ }
+ break;
+ }
+ }
+
+ public void OnError(Exception error)
+ {
+ lock (_gate)
+ {
+ base._observer.OnError(error);
+ base.Dispose();
+ }
+ }
+
+ public void OnCompleted()
+ {
+ if (Interlocked.Decrement(ref _count) == 0)
+ {
+ lock (_gate)
+ {
+ base._observer.OnCompleted();
+ base.Dispose();
+ }
+ }
+ }
+ }
#pragma warning restore 0420
#endif
}
@@ -495,13 +864,11 @@ namespace System.Reactive.Linq.Observαble
{
private readonly IObservable<TSource> _source;
private readonly Func<TSource, IObservable<TResult>> _selector;
+ private readonly Func<TSource, int, IObservable<TResult>> _selectorI;
private readonly Func<Exception, IObservable<TResult>> _selectorOnError;
private readonly Func<IObservable<TResult>> _selectorOnCompleted;
- private readonly Func<TSource, int, IObservable<TResult>> _selectorWithIndex;
- private readonly Func<Exception, int, IObservable<TResult>> _selectorWithIndexOnError;
- private readonly Func<int, IObservable<TResult>> _selectorWithIndexOnCompleted;
private readonly Func<TSource, IEnumerable<TResult>> _selectorE;
- private readonly Func<TSource, int, IEnumerable<TResult>> _selectorEWithIndex;
+ private readonly Func<TSource, int, IEnumerable<TResult>> _selectorEI;
public SelectMany(IObservable<TSource> source, Func<TSource, IObservable<TResult>> selector)
{
@@ -509,26 +876,26 @@ namespace System.Reactive.Linq.Observαble
_selector = selector;
}
- public SelectMany(IObservable<TSource> source, Func<TSource, IObservable<TResult>> selector, Func<Exception, IObservable<TResult>> selectorOnError, Func<IObservable<TResult>> selectorOnCompleted)
+ public SelectMany(IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> selector)
{
_source = source;
- _selector = selector;
- _selectorOnError = selectorOnError;
- _selectorOnCompleted = selectorOnCompleted;
+ _selectorI = selector;
}
- public SelectMany(IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> selector)
+ public SelectMany(IObservable<TSource> source, Func<TSource, IObservable<TResult>> selector, Func<Exception, IObservable<TResult>> selectorOnError, Func<IObservable<TResult>> selectorOnCompleted)
{
_source = source;
- _selectorWithIndex = selector;
+ _selector = selector;
+ _selectorOnError = selectorOnError;
+ _selectorOnCompleted = selectorOnCompleted;
}
- public SelectMany(IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> selector, Func<Exception, int, IObservable<TResult>> selectorOnError, Func<int, IObservable<TResult>> selectorOnCompleted)
+ public SelectMany(IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> selector, Func<Exception, IObservable<TResult>> selectorOnError, Func<IObservable<TResult>> selectorOnCompleted)
{
_source = source;
- _selectorWithIndex = selector;
- _selectorWithIndexOnError = selectorOnError;
- _selectorWithIndexOnCompleted = selectorOnCompleted;
+ _selectorI = selector;
+ _selectorOnError = selectorOnError;
+ _selectorOnCompleted = selectorOnCompleted;
}
public SelectMany(IObservable<TSource> source, Func<TSource, IEnumerable<TResult>> selector)
@@ -540,38 +907,63 @@ namespace System.Reactive.Linq.Observαble
public SelectMany(IObservable<TSource> source, Func<TSource, int, IEnumerable<TResult>> selector)
{
_source = source;
- _selectorEWithIndex = selector;
+ _selectorEI = selector;
}
#if !NO_TPL
private readonly Func<TSource, CancellationToken, Task<TResult>> _selectorT;
+ private readonly Func<TSource, int, CancellationToken, Task<TResult>> _selectorTI;
public SelectMany(IObservable<TSource> source, Func<TSource, CancellationToken, Task<TResult>> selector)
{
_source = source;
_selectorT = selector;
}
+
+ public SelectMany(IObservable<TSource> source, Func<TSource, int, CancellationToken, Task<TResult>> selector)
+ {
+ _source = source;
+ _selectorTI = selector;
+ }
#endif
protected override IDisposable Run(IObserver<TResult> observer, IDisposable cancel, Action<IDisposable> setSink)
{
- if (_selector != null || _selectorWithIndex != null)
+ if (_selector != null)
{
var sink = new _(this, observer, cancel);
setSink(sink);
return sink.Run();
}
+ else if (_selectorI != null)
+ {
+ var sink = new IndexSelectorImpl(this, observer, cancel);
+ setSink(sink);
+ return sink.Run();
+ }
#if !NO_TPL
else if (_selectorT != null)
{
- var sink = new τ(this, observer, cancel);
+ var sink = new SelectManyImpl(this, observer, cancel);
+ setSink(sink);
+ return sink.Run();
+ }
+ else if (_selectorTI != null)
+ {
+ var sink = new Sigma(this, observer, cancel);
setSink(sink);
return sink.Run();
}
#endif
+ else if (_selectorE != null)
+ {
+ var sink = new NoSelectorImpl(this, observer, cancel);
+ setSink(sink);
+ return _source.SubscribeSafe(sink);
+ }
else
{
- var sink = new ε(this, observer, cancel);
+ var sink = new Omega(this, observer, cancel);
setSink(sink);
return _source.SubscribeSafe(sink);
}
@@ -585,14 +977,12 @@ namespace System.Reactive.Linq.Observαble
: base(observer, cancel)
{
_parent = parent;
- _index = -1;
}
private object _gate;
private bool _isStopped;
private CompositeDisposable _group;
private SingleAssignmentDisposable _sourceSubscription;
- private int _index;
public IDisposable Run()
{
@@ -613,13 +1003,7 @@ namespace System.Reactive.Linq.Observαble
try
{
- if (_parent._selector != null)
- inner = _parent._selector(value);
- else
- {
- checked { _index++; }
- inner = _parent._selectorWithIndex(value, _index);
- }
+ inner = _parent._selector(value);
}
catch (Exception ex)
{
@@ -642,13 +1026,7 @@ namespace System.Reactive.Linq.Observαble
try
{
- if (_parent._selectorOnError != null)
- inner = _parent._selectorOnError(error);
- else
- {
- checked { _index++; }
- inner = _parent._selectorWithIndexOnError(error, _index);
- }
+ inner = _parent._selectorOnError(error);
}
catch (Exception ex)
{
@@ -682,10 +1060,7 @@ namespace System.Reactive.Linq.Observαble
try
{
- if (_parent._selectorOnCompleted != null)
- inner = _parent._selectorOnCompleted();
- else
- inner = _parent._selectorWithIndexOnCompleted(_index);
+ inner = _parent._selectorOnCompleted();
}
catch (Exception ex)
{
@@ -731,15 +1106,15 @@ namespace System.Reactive.Linq.Observαble
{
var innerSubscription = new SingleAssignmentDisposable();
_group.Add(innerSubscription);
- innerSubscription.Disposable = inner.SubscribeSafe(new ι(this, innerSubscription));
+ innerSubscription.Disposable = inner.SubscribeSafe(new Iter(this, innerSubscription));
}
- class ι : IObserver<TResult>
+ class Iter : IObserver<TResult>
{
private readonly _ _parent;
private readonly IDisposable _self;
- public ι(_ parent, IDisposable self)
+ public Iter(_ parent, IDisposable self)
{
_parent = parent;
_self = self;
@@ -782,16 +1157,203 @@ namespace System.Reactive.Linq.Observαble
}
}
- class ε : Sink<TResult>, IObserver<TSource>
+ class IndexSelectorImpl : Sink<TResult>, IObserver<TSource>
{
private readonly SelectMany<TSource, TResult> _parent;
+
+ public IndexSelectorImpl(SelectMany<TSource, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
+ : base(observer, cancel)
+ {
+ _parent = parent;
+ }
+
+ private object _gate;
+ private bool _isStopped;
+ private CompositeDisposable _group;
+ private SingleAssignmentDisposable _sourceSubscription;
private int _index;
- public ε(SelectMany<TSource, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
+ public IDisposable Run()
+ {
+ _gate = new object();
+ _isStopped = false;
+ _group = new CompositeDisposable();
+
+ _sourceSubscription = new SingleAssignmentDisposable();
+ _group.Add(_sourceSubscription);
+ _sourceSubscription.Disposable = _parent._source.SubscribeSafe(this);
+
+ return _group;
+ }
+
+ public void OnNext(TSource value)
+ {
+ var inner = default(IObservable<TResult>);
+
+ try
+ {
+ inner = _parent._selectorI(value, checked(_index++));
+ }
+ catch (Exception ex)
+ {
+ lock (_gate)
+ {
+ base._observer.OnError(ex);
+ base.Dispose();
+ }
+ return;
+ }
+
+ SubscribeInner(inner);
+ }
+
+ public void OnError(Exception error)
+ {
+ if (_parent._selectorOnError != null)
+ {
+ var inner = default(IObservable<TResult>);
+
+ try
+ {
+ inner = _parent._selectorOnError(error);
+ }
+ catch (Exception ex)
+ {
+ lock (_gate)
+ {
+ base._observer.OnError(ex);
+ base.Dispose();
+ }
+ return;
+ }
+
+ SubscribeInner(inner);
+
+ Final();
+ }
+ else
+ {
+ lock (_gate)
+ {
+ base._observer.OnError(error);
+ base.Dispose();
+ }
+ }
+ }
+
+ public void OnCompleted()
+ {
+ if (_parent._selectorOnCompleted != null)
+ {
+ var inner = default(IObservable<TResult>);
+
+ try
+ {
+ inner = _parent._selectorOnCompleted();
+ }
+ catch (Exception ex)
+ {
+ lock (_gate)
+ {
+ base._observer.OnError(ex);
+ base.Dispose();
+ }
+ return;
+ }
+
+ SubscribeInner(inner);
+ }
+
+ Final();
+ }
+
+ private void Final()
+ {
+ _isStopped = true;
+ if (_group.Count == 1)
+ {
+ //
+ // Notice there can be a race between OnCompleted of the source and any
+ // of the inner sequences, where both see _group.Count == 1, and one is
+ // waiting for the lock. There won't be a double OnCompleted observation
+ // though, because the call to Dispose silences the observer by swapping
+ // in a NopObserver<T>.
+ //
+ lock (_gate)
+ {
+ base._observer.OnCompleted();
+ base.Dispose();
+ }
+ }
+ else
+ {
+ _sourceSubscription.Dispose();
+ }
+ }
+
+ private void SubscribeInner(IObservable<TResult> inner)
+ {
+ var innerSubscription = new SingleAssignmentDisposable();
+ _group.Add(innerSubscription);
+ innerSubscription.Disposable = inner.SubscribeSafe(new Iter(this, innerSubscription));
+ }
+
+ class Iter : IObserver<TResult>
+ {
+ private readonly IndexSelectorImpl _parent;
+ private readonly IDisposable _self;
+
+ public Iter(IndexSelectorImpl parent, IDisposable self)
+ {
+ _parent = parent;
+ _self = self;
+ }
+
+ public void OnNext(TResult value)
+ {
+ lock (_parent._gate)
+ _parent._observer.OnNext(value);
+ }
+
+ public void OnError(Exception error)
+ {
+ lock (_parent._gate)
+ {
+ _parent._observer.OnError(error);
+ _parent.Dispose();
+ }
+ }
+
+ public void OnCompleted()
+ {
+ _parent._group.Remove(_self);
+ if (_parent._isStopped && _parent._group.Count == 1)
+ {
+ //
+ // Notice there can be a race between OnCompleted of the source and any
+ // of the inner sequences, where both see _group.Count == 1, and one is
+ // waiting for the lock. There won't be a double OnCompleted observation
+ // though, because the call to Dispose silences the observer by swapping
+ // in a NopObserver<T>.
+ //
+ lock (_parent._gate)
+ {
+ _parent._observer.OnCompleted();
+ _parent.Dispose();
+ }
+ }
+ }
+ }
+ }
+
+ class NoSelectorImpl : Sink<TResult>, IObserver<TSource>
+ {
+ private readonly SelectMany<TSource, TResult> _parent;
+
+ public NoSelectorImpl(SelectMany<TSource, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
- _index = -1;
}
public void OnNext(TSource value)
@@ -799,14 +1361,91 @@ namespace System.Reactive.Linq.Observαble
var xs = default(IEnumerable<TResult>);
try
{
- if (_parent._selectorE != null)
- xs = _parent._selectorE(value);
- else
+ xs = _parent._selectorE(value);
+ }
+ catch (Exception exception)
+ {
+ base._observer.OnError(exception);
+ base.Dispose();
+ return;
+ }
+
+ var e = default(IEnumerator<TResult>);
+ try
+ {
+ e = xs.GetEnumerator();
+ }
+ catch (Exception exception)
+ {
+ base._observer.OnError(exception);
+ base.Dispose();
+ return;
+ }
+
+ try
+ {
+ var hasNext = true;
+ while (hasNext)
{
- checked { _index++; }
- xs = _parent._selectorEWithIndex(value, _index);
+ hasNext = false;
+ var current = default(TResult);
+
+ try
+ {
+ hasNext = e.MoveNext();
+ if (hasNext)
+ current = e.Current;
+ }
+ catch (Exception exception)
+ {
+ base._observer.OnError(exception);
+ base.Dispose();
+ return;
+ }
+
+ if (hasNext)
+ base._observer.OnNext(current);
}
}
+ finally
+ {
+ if (e != null)
+ e.Dispose();
+ }
+ }
+
+ public void OnError(Exception error)
+ {
+ base._observer.OnError(error);
+ base.Dispose();
+ }
+
+ public void OnCompleted()
+ {
+ base._observer.OnCompleted();
+ base.Dispose();
+ }
+ }
+
+ class Omega : Sink<TResult>, IObserver<TSource>
+ {
+ private readonly SelectMany<TSource, TResult> _parent;
+
+ public Omega(SelectMany<TSource, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
+ : base(observer, cancel)
+ {
+ _parent = parent;
+ }
+
+ private int _index;
+
+ public void OnNext(TSource value)
+ {
+ var xs = default(IEnumerable<TResult>);
+ try
+ {
+ xs = _parent._selectorEI(value, checked(_index++));
+ }
catch (Exception exception)
{
base._observer.OnError(exception);
@@ -873,11 +1512,11 @@ namespace System.Reactive.Linq.Observαble
#if !NO_TPL
#pragma warning disable 0420
- class τ : Sink<TResult>, IObserver<TSource>
+ class SelectManyImpl : Sink<TResult>, IObserver<TSource>
{
private readonly SelectMany<TSource, TResult> _parent;
- public τ(SelectMany<TSource, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
+ public SelectManyImpl(SelectMany<TSource, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
@@ -982,6 +1621,117 @@ namespace System.Reactive.Linq.Observαble
}
}
}
+
+ class Sigma : Sink<TResult>, IObserver<TSource>
+ {
+ private readonly SelectMany<TSource, TResult> _parent;
+
+ public Sigma(SelectMany<TSource, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
+ : base(observer, cancel)
+ {
+ _parent = parent;
+ }
+
+ private object _gate;
+ private CancellationDisposable _cancel;
+ private volatile int _count;
+ private int _index;
+
+ public IDisposable Run()
+ {
+ _gate = new object();
+ _cancel = new CancellationDisposable();
+ _count = 1;
+
+ return new CompositeDisposable(_parent._source.SubscribeSafe(this), _cancel);
+ }
+
+ public void OnNext(TSource value)
+ {
+ var task = default(Task<TResult>);
+ try
+ {
+ Interlocked.Increment(ref _count);
+ task = _parent._selectorTI(value, checked(_index++), _cancel.Token);
+ }
+ catch (Exception ex)
+ {
+ lock (_gate)
+ {
+ base._observer.OnError(ex);
+ base.Dispose();
+ }
+
+ return;
+ }
+
+ if (task.IsCompleted)
+ {
+ OnCompletedTask(task);
+ }
+ else
+ {
+ task.ContinueWith(OnCompletedTask);
+ }
+ }
+
+ private void OnCompletedTask(Task<TResult> task)
+ {
+ switch (task.Status)
+ {
+ case TaskStatus.RanToCompletion:
+ {
+ lock (_gate)
+ base._observer.OnNext(task.Result);
+
+ OnCompleted();
+ }
+ break;
+ case TaskStatus.Faulted:
+ {
+ lock (_gate)
+ {
+ base._observer.OnError(task.Exception.InnerException);
+ base.Dispose();
+ }
+ }
+ break;
+ case TaskStatus.Canceled:
+ {
+ if (!_cancel.IsDisposed)
+ {
+ lock (_gate)
+ {
+ base._observer.OnError(new TaskCanceledException(task));
+ base.Dispose();
+ }
+ }
+ }
+ break;
+ }
+ }
+
+ public void OnError(Exception error)
+ {
+ lock (_gate)
+ {
+ base._observer.OnError(error);
+ base.Dispose();
+ }
+ }
+
+ public void OnCompleted()
+ {
+ if (Interlocked.Decrement(ref _count) == 0)
+ {
+ lock (_gate)
+ {
+ base._observer.OnCompleted();
+ base.Dispose();
+ }
+ }
+ }
+ }
#pragma warning restore 0420
#endif
}
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SequenceEqual.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SequenceEqual.cs
index 4661f82..6b03aba 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SequenceEqual.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SequenceEqual.cs
@@ -5,7 +5,7 @@ using System;
using System.Collections.Generic;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class SequenceEqual<TSource> : Producer<bool>
{
@@ -38,7 +38,7 @@ namespace System.Reactive.Linq.Observαble
}
else
{
- var sink = new ε(this, observer, cancel);
+ var sink = new SequenceEqualImpl(this, observer, cancel);
setSink(sink);
return sink.Run();
}
@@ -226,11 +226,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class ε : Sink<bool>, IObserver<TSource>
+ class SequenceEqualImpl : Sink<bool>, IObserver<TSource>
{
private readonly SequenceEqual<TSource> _parent;
- public ε(SequenceEqual<TSource> parent, IObserver<bool> observer, IDisposable cancel)
+ public SequenceEqualImpl(SequenceEqual<TSource> parent, IObserver<bool> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SingleAsync.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SingleAsync.cs
index 19c07e5..c4dce4a 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SingleAsync.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SingleAsync.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class SingleAsync<TSource> : Producer<TSource>
{
@@ -22,7 +22,7 @@ namespace System.Reactive.Linq.Observαble
{
if (_predicate != null)
{
- var sink = new π(this, observer, cancel);
+ var sink = new SingleAsyncImpl(this, observer, cancel);
setSink(sink);
return _source.SubscribeSafe(sink);
}
@@ -84,13 +84,13 @@ namespace System.Reactive.Linq.Observαble
}
}
- class π : Sink<TSource>, IObserver<TSource>
+ class SingleAsyncImpl : Sink<TSource>, IObserver<TSource>
{
private readonly SingleAsync<TSource> _parent;
private TSource _value;
private bool _seenValue;
- public π(SingleAsync<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public SingleAsyncImpl(SingleAsync<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Skip.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Skip.cs
index a092d99..7222816 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Skip.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Skip.cs
@@ -5,7 +5,7 @@ using System;
using System.Reactive.Concurrency;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Skip<TSource> : Producer<TSource>
{
@@ -27,7 +27,7 @@ namespace System.Reactive.Linq.Observαble
_scheduler = scheduler;
}
- public IObservable<TSource> Ω(int count)
+ public IObservable<TSource> Omega(int count)
{
//
// Sum semantics:
@@ -39,7 +39,7 @@ namespace System.Reactive.Linq.Observαble
return new Skip<TSource>(_source, _count + count);
}
- public IObservable<TSource> Ω(TimeSpan duration)
+ public IObservable<TSource> Omega(TimeSpan duration)
{
//
// Maximum semantics:
@@ -66,7 +66,7 @@ namespace System.Reactive.Linq.Observαble
}
else
{
- var sink = new τ(this, observer, cancel);
+ var sink = new SkipImpl(this, observer, cancel);
setSink(sink);
return sink.Run();
}
@@ -105,12 +105,12 @@ namespace System.Reactive.Linq.Observαble
}
}
- class τ : Sink<TSource>, IObserver<TSource>
+ class SkipImpl : Sink<TSource>, IObserver<TSource>
{
private readonly Skip<TSource> _parent;
private volatile bool _open;
- public τ(Skip<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public SkipImpl(Skip<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SkipLast.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SkipLast.cs
index 596f183..6bd771e 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SkipLast.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SkipLast.cs
@@ -5,7 +5,7 @@ using System;
using System.Collections.Generic;
using System.Reactive.Concurrency;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class SkipLast<TSource> : Producer<TSource>
{
@@ -37,7 +37,7 @@ namespace System.Reactive.Linq.Observαble
}
else
{
- var sink = new τ(this, observer, cancel);
+ var sink = new SkipLastImpl(this, observer, cancel);
setSink(sink);
return sink.Run();
}
@@ -75,12 +75,12 @@ namespace System.Reactive.Linq.Observαble
}
}
- class τ : Sink<TSource>, IObserver<TSource>
+ class SkipLastImpl : Sink<TSource>, IObserver<TSource>
{
private readonly SkipLast<TSource> _parent;
private Queue<System.Reactive.TimeInterval<TSource>> _queue;
- public τ(SkipLast<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public SkipLastImpl(SkipLast<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SkipUntil.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SkipUntil.cs
index 8d4c7a9..8acce09 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SkipUntil.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SkipUntil.cs
@@ -6,7 +6,7 @@ using System.Reactive.Concurrency;
using System.Reactive.Disposables;
using System.Threading;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class SkipUntil<TSource, TOther> : Producer<TSource>
{
@@ -140,7 +140,7 @@ namespace System.Reactive.Linq.Observαble
_scheduler = scheduler;
}
- public IObservable<TSource> Ω(DateTimeOffset startTime)
+ public IObservable<TSource> Omega(DateTimeOffset startTime)
{
//
// Maximum semantics:
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SkipWhile.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SkipWhile.cs
index e6e379d..b5694dc 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SkipWhile.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/SkipWhile.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class SkipWhile<TSource> : Producer<TSource>
{
@@ -33,7 +33,7 @@ namespace System.Reactive.Linq.Observαble
}
else
{
- var sink = new τ(this, observer, cancel);
+ var sink = new SkipWhileImpl(this, observer, cancel);
setSink(sink);
return _source.SubscribeSafe(sink);
}
@@ -86,13 +86,13 @@ namespace System.Reactive.Linq.Observαble
}
}
- class τ : Sink<TSource>, IObserver<TSource>
+ class SkipWhileImpl : Sink<TSource>, IObserver<TSource>
{
private readonly SkipWhile<TSource> _parent;
private bool _running;
private int _index;
- public τ(SkipWhile<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public SkipWhileImpl(SkipWhile<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Sum.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Sum.cs
index 6d51153..c5346f8 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Sum.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Sum.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class SumDouble : Producer<double>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Switch.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Switch.cs
index 794b0d4..e27d6eb 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Switch.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Switch.cs
@@ -4,7 +4,7 @@
using System;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Switch<TSource> : Producer<TSource>
{
@@ -65,7 +65,7 @@ namespace System.Reactive.Linq.Observαble
var d = new SingleAssignmentDisposable();
_innerSubscription.Disposable = d;
- d.Disposable = value.SubscribeSafe(new ι(this, id, d));
+ d.Disposable = value.SubscribeSafe(new Iter(this, id, d));
}
public void OnError(Exception error)
@@ -91,13 +91,13 @@ namespace System.Reactive.Linq.Observαble
}
}
- class ι : IObserver<TSource>
+ class Iter : IObserver<TSource>
{
private readonly _ _parent;
private readonly ulong _id;
private readonly IDisposable _self;
- public ι(_ parent, ulong id, IDisposable self)
+ public Iter(_ parent, ulong id, IDisposable self)
{
_parent = parent;
_id = id;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Synchronize.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Synchronize.cs
index 36985e9..ef4e885 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Synchronize.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Synchronize.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Synchronize<TSource> : Producer<TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Take.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Take.cs
index 738e7c0..255e3d2 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Take.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Take.cs
@@ -5,7 +5,7 @@ using System;
using System.Reactive.Concurrency;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Take<TSource> : Producer<TSource>
{
@@ -27,7 +27,7 @@ namespace System.Reactive.Linq.Observαble
_scheduler = scheduler;
}
- public IObservable<TSource> Ω(int count)
+ public IObservable<TSource> Omega(int count)
{
//
// Minimum semantics:
@@ -42,7 +42,7 @@ namespace System.Reactive.Linq.Observαble
return new Take<TSource>(_source, count);
}
- public IObservable<TSource> Ω(TimeSpan duration)
+ public IObservable<TSource> Omega(TimeSpan duration)
{
//
// Minimum semantics:
@@ -69,7 +69,7 @@ namespace System.Reactive.Linq.Observαble
}
else
{
- var sink = new τ(this, observer, cancel);
+ var sink = new TakeImpl(this, observer, cancel);
setSink(sink);
return sink.Run();
}
@@ -115,11 +115,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class τ : Sink<TSource>, IObserver<TSource>
+ class TakeImpl : Sink<TSource>, IObserver<TSource>
{
private readonly Take<TSource> _parent;
- public τ(Take<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public TakeImpl(Take<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeLast.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeLast.cs
index 98bf40e..441a502 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeLast.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeLast.cs
@@ -6,7 +6,7 @@ using System.Collections.Generic;
using System.Reactive.Concurrency;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class TakeLast<TSource> : Producer<TSource>
{
@@ -41,7 +41,7 @@ namespace System.Reactive.Linq.Observαble
}
else
{
- var sink = new τ(this, observer, cancel);
+ var sink = new TakeLastImpl(this, observer, cancel);
setSink(sink);
return sink.Run();
}
@@ -131,12 +131,12 @@ namespace System.Reactive.Linq.Observαble
}
}
- class τ : Sink<TSource>, IObserver<TSource>
+ class TakeLastImpl : Sink<TSource>, IObserver<TSource>
{
private readonly TakeLast<TSource> _parent;
private Queue<System.Reactive.TimeInterval<TSource>> _queue;
- public τ(TakeLast<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public TakeLastImpl(TakeLast<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeLastBuffer.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeLastBuffer.cs
index 71b36b0..2a15825 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeLastBuffer.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeLastBuffer.cs
@@ -7,7 +7,7 @@ using System.Linq;
using System.Reactive.Concurrency;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class TakeLastBuffer<TSource> : Producer<IList<TSource>>
{
@@ -39,7 +39,7 @@ namespace System.Reactive.Linq.Observαble
}
else
{
- var sink = new τ(this, observer, cancel);
+ var sink = new Impl(this, observer, cancel);
setSink(sink);
return sink.Run();
}
@@ -82,12 +82,12 @@ namespace System.Reactive.Linq.Observαble
}
}
- class τ : Sink<IList<TSource>>, IObserver<TSource>
+ class Impl : Sink<IList<TSource>>, IObserver<TSource>
{
private readonly TakeLastBuffer<TSource> _parent;
private Queue<System.Reactive.TimeInterval<TSource>> _queue;
- public τ(TakeLastBuffer<TSource> parent, IObserver<IList<TSource>> observer, IDisposable cancel)
+ public Impl(TakeLastBuffer<TSource> parent, IObserver<IList<TSource>> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeUntil.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeUntil.cs
index eccc222..62b450a 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeUntil.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeUntil.cs
@@ -6,7 +6,7 @@ using System.Reactive.Concurrency;
using System.Reactive.Disposables;
using System.Threading;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class TakeUntil<TSource, TOther> : Producer<TSource>
{
@@ -173,7 +173,7 @@ namespace System.Reactive.Linq.Observαble
_scheduler = scheduler;
}
- public IObservable<TSource> Ω(DateTimeOffset endTime)
+ public IObservable<TSource> Omega(DateTimeOffset endTime)
{
//
// Minimum semantics:
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeWhile.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeWhile.cs
index 30f63ca..dbf6117 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeWhile.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TakeWhile.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class TakeWhile<TSource> : Producer<TSource>
{
@@ -33,7 +33,7 @@ namespace System.Reactive.Linq.Observαble
}
else
{
- var sink = new τ(this, observer, cancel);
+ var sink = new TakeWhileImpl(this, observer, cancel);
setSink(sink);
return _source.SubscribeSafe(sink);
}
@@ -91,13 +91,13 @@ namespace System.Reactive.Linq.Observαble
}
}
- class τ : Sink<TSource>, IObserver<TSource>
+ class TakeWhileImpl : Sink<TSource>, IObserver<TSource>
{
private readonly TakeWhile<TSource> _parent;
private bool _running;
private int _index;
- public τ(TakeWhile<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public TakeWhileImpl(TakeWhile<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Throttle.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Throttle.cs
index 7b7ad86..5061114 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Throttle.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Throttle.cs
@@ -5,7 +5,7 @@ using System;
using System.Reactive.Concurrency;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Throttle<TSource> : Producer<TSource>
{
@@ -192,7 +192,7 @@ namespace System.Reactive.Linq.Observαble
var d = new SingleAssignmentDisposable();
_cancelable.Disposable = d;
- d.Disposable = throttle.SubscribeSafe(new δ(this, value, currentid, d));
+ d.Disposable = throttle.SubscribeSafe(new Delta(this, value, currentid, d));
}
public void OnError(Exception error)
@@ -226,14 +226,14 @@ namespace System.Reactive.Linq.Observαble
}
}
- class δ : IObserver<TThrottle>
+ class Delta : IObserver<TThrottle>
{
private readonly _ _parent;
private readonly TSource _value;
private readonly ulong _currentid;
private readonly IDisposable _self;
- public δ(_ parent, TSource value, ulong currentid, IDisposable self)
+ public Delta(_ parent, TSource value, ulong currentid, IDisposable self)
{
_parent = parent;
_value = value;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Throw.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Throw.cs
index 3b10894..9940a9d 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Throw.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Throw.cs
@@ -4,7 +4,7 @@
using System;
using System.Reactive.Concurrency;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Throw<TResult> : Producer<TResult>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TimeInterval.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TimeInterval.cs
index dacfa03..4c40863 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TimeInterval.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/TimeInterval.cs
@@ -7,7 +7,7 @@ using System.Reactive.Concurrency;
using System.Reactive.Disposables;
using System.Threading;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class TimeInterval<TSource> : Producer<System.Reactive.TimeInterval<TSource>>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Timeout.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Timeout.cs
index 4896294..94b78a6 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Timeout.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Timeout.cs
@@ -5,7 +5,7 @@ using System;
using System.Reactive.Concurrency;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Timeout<TSource> : Producer<TSource>
{
@@ -35,23 +35,23 @@ namespace System.Reactive.Linq.Observαble
{
if (_dueTimeA.HasValue)
{
- var sink = new α(this, observer, cancel);
+ var sink = new TimeA(this, observer, cancel);
setSink(sink);
return sink.Run();
}
else
{
- var sink = new ρ(this, observer, cancel);
+ var sink = new TimeR(this, observer, cancel);
setSink(sink);
return sink.Run();
}
}
- class α : Sink<TSource>, IObserver<TSource>
+ class TimeA : Sink<TSource>, IObserver<TSource>
{
private readonly Timeout<TSource> _parent;
- public α(Timeout<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public TimeA(Timeout<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
@@ -136,11 +136,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class ρ : Sink<TSource>, IObserver<TSource>
+ class TimeR : Sink<TSource>, IObserver<TSource>
{
private readonly Timeout<TSource> _parent;
- public ρ(Timeout<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public TimeR(Timeout<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
@@ -358,16 +358,16 @@ namespace System.Reactive.Linq.Observαble
var d = new SingleAssignmentDisposable();
_timer.Disposable = d;
- d.Disposable = timeout.SubscribeSafe(new τ(this, myid, d));
+ d.Disposable = timeout.SubscribeSafe(new TimeoutImpl(this, myid, d));
}
- class τ : IObserver<TTimeout>
+ class TimeoutImpl : IObserver<TTimeout>
{
private readonly _ _parent;
private readonly ulong _id;
private readonly IDisposable _self;
- public τ(_ parent, ulong id, IDisposable self)
+ public TimeoutImpl(_ parent, ulong id, IDisposable self)
{
_parent = parent;
_id = id;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Timer.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Timer.cs
index 22ee0df..14df757 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Timer.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Timer.cs
@@ -7,7 +7,7 @@ using System.Reactive.Concurrency;
using System.Reactive.Disposables;
using System.Threading;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Timer : Producer<long>
{
@@ -34,7 +34,7 @@ namespace System.Reactive.Linq.Observαble
{
if (_period.HasValue)
{
- var sink = new π(this, observer, cancel);
+ var sink = new TimerImpl(this, observer, cancel);
setSink(sink);
return sink.Run();
}
@@ -76,12 +76,12 @@ namespace System.Reactive.Linq.Observαble
}
}
- class π : Sink<long>
+ class TimerImpl : Sink<long>
{
private readonly Timer _parent;
private readonly TimeSpan _period;
- public π(Timer parent, IObserver<long> observer, IDisposable cancel)
+ public TimerImpl(Timer parent, IObserver<long> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Timestamp.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Timestamp.cs
index ed54678..19bf1be 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Timestamp.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Timestamp.cs
@@ -4,7 +4,7 @@
using System;
using System.Reactive.Concurrency;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Timestamp<TSource> : Producer<Timestamped<TSource>>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToArray.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToArray.cs
index ba039ae..97b9bd4 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToArray.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToArray.cs
@@ -4,7 +4,7 @@
using System;
using System.Collections.Generic;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class ToArray<TSource> : Producer<TSource[]>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToDictionary.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToDictionary.cs
index 919c1a1..5cfd9ec 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToDictionary.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToDictionary.cs
@@ -4,7 +4,7 @@
using System;
using System.Collections.Generic;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class ToDictionary<TSource, TKey, TElement> : Producer<IDictionary<TKey, TElement>>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToList.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToList.cs
index 34956d4..a265098 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToList.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToList.cs
@@ -4,7 +4,7 @@
using System;
using System.Collections.Generic;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class ToList<TSource> : Producer<IList<TSource>>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToLookup.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToLookup.cs
index 55ff7d3..d86f5ee 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToLookup.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToLookup.cs
@@ -5,7 +5,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class ToLookup<TSource, TKey, TElement> : Producer<ILookup<TKey, TElement>>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToObservable.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToObservable.cs
index 795d54d..8de8ff7 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToObservable.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/ToObservable.cs
@@ -6,7 +6,7 @@ using System.Collections.Generic;
using System.Reactive.Concurrency;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class ToObservable<TSource> : Producer<TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Using.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Using.cs
index 996ee0e..680d1f4 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Using.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Using.cs
@@ -4,7 +4,7 @@
using System;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Using<TSource, TResource> : Producer<TSource>
where TResource : IDisposable
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Where.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Where.cs
index a8eaa92..3ab5f73 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Where.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Where.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Where<TSource> : Producer<TSource>
{
@@ -23,7 +23,7 @@ namespace System.Reactive.Linq.Observαble
_predicateI = predicate;
}
- public IObservable<TSource> Ω(Func<TSource, bool> predicate)
+ public IObservable<TSource> Omega(Func<TSource, bool> predicate)
{
if (_predicate != null)
return new Where<TSource>(_source, x => _predicate(x) && predicate(x));
@@ -41,7 +41,7 @@ namespace System.Reactive.Linq.Observαble
}
else
{
- var sink = new τ(this, observer, cancel);
+ var sink = new WhereImpl(this, observer, cancel);
setSink(sink);
return _source.SubscribeSafe(sink);
}
@@ -88,12 +88,12 @@ namespace System.Reactive.Linq.Observαble
}
}
- class τ : Sink<TSource>, IObserver<TSource>
+ class WhereImpl : Sink<TSource>, IObserver<TSource>
{
private readonly Where<TSource> _parent;
private int _index;
- public τ(Where<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+ public WhereImpl(Where<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/While.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/While.cs
index 178e4c8..2f24adf 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/While.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/While.cs
@@ -4,7 +4,7 @@
using System;
using System.Collections.Generic;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class While<TSource> : Producer<TSource>, IConcatenatable<TSource>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Window.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Window.cs
index 47059c7..4dad064 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Window.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Window.cs
@@ -9,7 +9,7 @@ using System.Reactive.Disposables;
using System.Reactive.Subjects;
using System.Threading;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
class Window<TSource> : Producer<IObservable<TSource>>
{
@@ -54,7 +54,7 @@ namespace System.Reactive.Linq.Observαble
}
else if (_count > 0)
{
- var sink = new μ(this, observer, cancel);
+ var sink = new BoundedWindowImpl(this, observer, cancel);
setSink(sink);
return sink.Run();
}
@@ -62,13 +62,13 @@ namespace System.Reactive.Linq.Observαble
{
if (_timeSpan == _timeShift)
{
- var sink = new π(this, observer, cancel);
+ var sink = new TimeShiftImpl(this, observer, cancel);
setSink(sink);
return sink.Run();
}
else
{
- var sink = new τ(this, observer, cancel);
+ var sink = new WindowImpl(this, observer, cancel);
setSink(sink);
return sink.Run();
}
@@ -151,11 +151,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class τ : Sink<IObservable<TSource>>, IObserver<TSource>
+ class WindowImpl : Sink<IObservable<TSource>>, IObserver<TSource>
{
private readonly Window<TSource> _parent;
- public τ(Window<TSource> parent, IObserver<IObservable<TSource>> observer, IDisposable cancel)
+ public WindowImpl(Window<TSource> parent, IObserver<IObservable<TSource>> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
@@ -296,11 +296,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class π : Sink<IObservable<TSource>>, IObserver<TSource>
+ class TimeShiftImpl : Sink<IObservable<TSource>>, IObserver<TSource>
{
private readonly Window<TSource> _parent;
- public π(Window<TSource> parent, IObserver<IObservable<TSource>> observer, IDisposable cancel)
+ public TimeShiftImpl(Window<TSource> parent, IObserver<IObservable<TSource>> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
@@ -371,11 +371,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class μ : Sink<IObservable<TSource>>, IObserver<TSource>
+ class BoundedWindowImpl : Sink<IObservable<TSource>>, IObserver<TSource>
{
private readonly Window<TSource> _parent;
- public μ(Window<TSource> parent, IObserver<IObservable<TSource>> observer, IDisposable cancel)
+ public BoundedWindowImpl(Window<TSource> parent, IObserver<IObservable<TSource>> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
@@ -516,7 +516,7 @@ namespace System.Reactive.Linq.Observαble
}
else
{
- var sink = new β(this, observer, cancel);
+ var sink = new Beta(this, observer, cancel);
setSink(sink);
return sink.Run();
}
@@ -578,7 +578,7 @@ namespace System.Reactive.Linq.Observαble
var closingSubscription = new SingleAssignmentDisposable();
_m.Disposable = closingSubscription;
- closingSubscription.Disposable = windowClose.SubscribeSafe(new ω(this, closingSubscription));
+ closingSubscription.Disposable = windowClose.SubscribeSafe(new Omega(this, closingSubscription));
}
private void CloseWindow(IDisposable closingSubscription)
@@ -597,12 +597,12 @@ namespace System.Reactive.Linq.Observαble
_windowGate.Wait(CreateWindowClose);
}
- class ω : IObserver<TWindowClosing>
+ class Omega : IObserver<TWindowClosing>
{
private readonly _ _parent;
private readonly IDisposable _self;
- public ω(_ parent, IDisposable self)
+ public Omega(_ parent, IDisposable self)
{
_parent = parent;
_self = self;
@@ -653,11 +653,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class β : Sink<IObservable<TSource>>, IObserver<TSource>
+ class Beta : Sink<IObservable<TSource>>, IObserver<TSource>
{
private readonly Window<TSource, TWindowClosing> _parent;
- public β(Window<TSource, TWindowClosing> parent, IObserver<IObservable<TSource>> observer, IDisposable cancel)
+ public Beta(Window<TSource, TWindowClosing> parent, IObserver<IObservable<TSource>> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
@@ -680,16 +680,16 @@ namespace System.Reactive.Linq.Observαble
base._observer.OnNext(window);
d.Add(_parent._source.SubscribeSafe(this));
- d.Add(_parent._windowBoundaries.SubscribeSafe(new ω(this)));
+ d.Add(_parent._windowBoundaries.SubscribeSafe(new Omega(this)));
return _refCountDisposable;
}
- class ω : IObserver<TWindowClosing>
+ class Omega : IObserver<TWindowClosing>
{
- private readonly β _parent;
+ private readonly Beta _parent;
- public ω(β parent)
+ public Omega(Beta parent)
{
_parent = parent;
}
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Zip.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Zip.cs
index bde6e29..77434c7 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Zip.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/Zip.cs
@@ -7,7 +7,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Reactive.Disposables;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
#region Binary
@@ -42,7 +42,7 @@ namespace System.Reactive.Linq.Observαble
}
else
{
- var sink = new ε(this, observer, cancel);
+ var sink = new ZipImpl(this, observer, cancel);
setSink(sink);
return sink.Run();
}
@@ -258,11 +258,11 @@ namespace System.Reactive.Linq.Observαble
}
}
- class ε : Sink<TResult>, IObserver<TFirst>
+ class ZipImpl : Sink<TResult>, IObserver<TFirst>
{
private readonly Zip<TFirst, TSecond, TResult> _parent;
- public ε(Zip<TFirst, TSecond, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
+ public ZipImpl(Zip<TFirst, TSecond, TResult> parent, IObserver<TResult> observer, IDisposable cancel)
: base(observer, cancel)
{
_parent = parent;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/_.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/_.cs
index d4b0dbc..4489003 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/_.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable/_.cs
@@ -3,7 +3,7 @@
#if !NO_PERF
using System;
-namespace System.Reactive.Linq.Observαble
+namespace System.Reactive.Linq.ObservableImpl
{
}
#endif
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Aggregates.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Aggregates.cs
index 739fc2d..8967297 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Aggregates.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Aggregates.cs
@@ -7,7 +7,7 @@ using System.Reactive.Disposables;
namespace System.Reactive.Linq
{
#if !NO_PERF
- using Observαble;
+ using ObservableImpl;
#endif
internal partial class QueryLanguage
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Binding.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Binding.cs
index d9a96ba..8066a0e 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Binding.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Binding.cs
@@ -6,7 +6,7 @@ using System.Reactive.Subjects;
namespace System.Reactive.Linq
{
- using Observαble;
+ using ObservableImpl;
internal partial class QueryLanguage
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Blocking.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Blocking.cs
index 2b37006..5f69873 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Blocking.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Blocking.cs
@@ -12,7 +12,7 @@ using System.Reactive.Threading;
namespace System.Reactive.Linq
{
#if !NO_PERF
- using Observαble;
+ using ObservableImpl;
#endif
internal partial class QueryLanguage
@@ -195,7 +195,7 @@ namespace System.Reactive.Linq
{
#if !NO_PERF
var evt = new ManualResetEvent(false);
- var sink = new ForEach<TSource>.τ(onNext, () => evt.Set());
+ var sink = new ForEach<TSource>.ForEachImpl(onNext, () => evt.Set());
using (source.SubscribeSafe(sink))
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Concurrency.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Concurrency.cs
index 58408b2..0dc4035 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Concurrency.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Concurrency.cs
@@ -7,7 +7,7 @@ using System.Threading;
namespace System.Reactive.Linq
{
#if !NO_PERF
- using Observαble;
+ using ObservableImpl;
#endif
internal partial class QueryLanguage
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Conversions.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Conversions.cs
index 44d6cf6..d795b4d 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Conversions.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Conversions.cs
@@ -7,7 +7,7 @@ using System.Reactive.Disposables;
namespace System.Reactive.Linq
{
#if !NO_PERF
- using Observαble;
+ using ObservableImpl;
#endif
internal partial class QueryLanguage
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Creation.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Creation.cs
index 4aa25b2..55bae61 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Creation.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Creation.cs
@@ -14,7 +14,7 @@ using System.Threading.Tasks;
namespace System.Reactive.Linq
{
#if !NO_PERF
- using Observαble;
+ using ObservableImpl;
#endif
internal partial class QueryLanguage
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Events.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Events.cs
index 3b9f2bf..453bcee 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Events.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Events.cs
@@ -13,7 +13,7 @@ using System.Runtime.InteropServices.WindowsRuntime;
namespace System.Reactive.Linq
{
#if !NO_PERF
- using Observαble;
+ using ObservableImpl;
#endif
//
@@ -57,7 +57,7 @@ namespace System.Reactive.Linq
private static IObservable<EventPattern<EventArgs>> FromEventPattern_(Action<EventHandler> addHandler, Action<EventHandler> removeHandler, IScheduler scheduler)
{
#if !NO_PERF
- return new FromEventPattern.τ<EventHandler, EventArgs>(e => new EventHandler(e), addHandler, removeHandler, scheduler);
+ return new FromEventPattern.Impl<EventHandler, EventArgs>(e => new EventHandler(e), addHandler, removeHandler, scheduler);
#else
var res = Observable.FromEventPattern<EventHandler, EventArgs>(e => new EventHandler(e), addHandler, removeHandler);
return SynchronizeEvents(res, scheduler);
@@ -67,7 +67,7 @@ namespace System.Reactive.Linq
private static IObservable<EventPattern<object>> FromEventPattern_(Action<EventHandler> addHandler, Action<EventHandler> removeHandler, IScheduler scheduler)
{
#if !NO_PERF
- return new FromEventPattern.τ<EventHandler, object>(e => new EventHandler(e), addHandler, removeHandler, scheduler);
+ return new FromEventPattern.Impl<EventHandler, object>(e => new EventHandler(e), addHandler, removeHandler, scheduler);
#else
var res = Observable.FromEventPattern<EventHandler, object>(e => new EventHandler(e), addHandler, removeHandler);
return SynchronizeEvents(res, scheduler);
@@ -108,7 +108,7 @@ namespace System.Reactive.Linq
#endif
{
#if !NO_PERF
- return new FromEventPattern.τ<TDelegate, TEventArgs>(addHandler, removeHandler, scheduler);
+ return new FromEventPattern.Impl<TDelegate, TEventArgs>(addHandler, removeHandler, scheduler);
#else
var res = new AnonymousObservable<EventPattern<TEventArgs>>(observer =>
{
@@ -151,7 +151,7 @@ namespace System.Reactive.Linq
#endif
{
#if !NO_PERF
- return new FromEventPattern.τ<TDelegate, TEventArgs>(conversion, addHandler, removeHandler, scheduler);
+ return new FromEventPattern.Impl<TDelegate, TEventArgs>(conversion, addHandler, removeHandler, scheduler);
#else
var res = new AnonymousObservable<EventPattern<TEventArgs>>(observer =>
{
@@ -193,7 +193,7 @@ namespace System.Reactive.Linq
#endif
{
#if !NO_PERF
- return new FromEventPattern.τ<TDelegate, TSender, TEventArgs>(addHandler, removeHandler, scheduler);
+ return new FromEventPattern.Impl<TDelegate, TSender, TEventArgs>(addHandler, removeHandler, scheduler);
#else
var res = new AnonymousObservable<EventPattern<TSender, TEventArgs>>(observer =>
{
@@ -240,7 +240,7 @@ namespace System.Reactive.Linq
#endif
{
#if !NO_PERF
- return new FromEventPattern.τ<EventHandler<TEventArgs>, TEventArgs>(handler => handler, addHandler, removeHandler, scheduler);
+ return new FromEventPattern.Impl<EventHandler<TEventArgs>, TEventArgs>(handler => handler, addHandler, removeHandler, scheduler);
#else
var res = Observable.FromEventPattern<EventHandler<TEventArgs>, TEventArgs>(handler => handler, addHandler, removeHandler);
return SynchronizeEvents(res, scheduler);
@@ -480,7 +480,7 @@ namespace System.Reactive.Linq
if (isWinRT)
{
#if !NO_PERF
- return new FromEventPattern.ρ<TSender, TEventArgs, TResult>(target, delegateType, addMethod, removeMethod, getResult, true, scheduler);
+ return new FromEventPattern.Handler<TSender, TEventArgs, TResult>(target, delegateType, addMethod, removeMethod, getResult, true, scheduler);
#else
return new AnonymousObservable<TResult>(observer =>
{
@@ -494,7 +494,7 @@ namespace System.Reactive.Linq
#endif
#if !NO_PERF
- return new FromEventPattern.ρ<TSender, TEventArgs, TResult>(target, delegateType, addMethod, removeMethod, getResult, false, scheduler);
+ return new FromEventPattern.Handler<TSender, TEventArgs, TResult>(target, delegateType, addMethod, removeMethod, getResult, false, scheduler);
#else
var res = new AnonymousObservable<TResult>(observer =>
{
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Imperative.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Imperative.cs
index 75b86b3..1825035 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Imperative.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Imperative.cs
@@ -13,7 +13,7 @@ using System.Threading.Tasks;
namespace System.Reactive.Linq
{
#if !NO_PERF
- using Observαble;
+ using ObservableImpl;
#endif
internal partial class QueryLanguage
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Multiple.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Multiple.cs
index 7308740..c726e82 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Multiple.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Multiple.cs
@@ -16,7 +16,7 @@ using System.Threading.Tasks;
namespace System.Reactive.Linq
{
#if !NO_PERF
- using Observαble;
+ using ObservableImpl;
#endif
internal partial class QueryLanguage
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Single.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Single.cs
index 5f64e16..2770ade 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Single.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Single.cs
@@ -9,7 +9,7 @@ using System.Reactive.Subjects;
namespace System.Reactive.Linq
{
#if !NO_PERF
- using Observαble;
+ using ObservableImpl;
#endif
internal partial class QueryLanguage
@@ -21,7 +21,7 @@ namespace System.Reactive.Linq
#if !NO_PERF
var asObservable = source as AsObservable<TSource>;
if (asObservable != null)
- return asObservable.Ω();
+ return asObservable.Omega();
return new AsObservable<TSource>(source);
#else
@@ -331,7 +331,7 @@ namespace System.Reactive.Linq
#if !NO_PERF
var ignoreElements = source as IgnoreElements<TSource>;
if (ignoreElements != null)
- return ignoreElements.Ω();
+ return ignoreElements.Omega();
return new IgnoreElements<TSource>(source);
#else
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.StandardSequenceOperators.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.StandardSequenceOperators.cs
index 0089f04..41ceb9c 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.StandardSequenceOperators.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.StandardSequenceOperators.cs
@@ -1,13 +1,10 @@
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
using System.Collections.Generic;
-using System.Linq;
using System.Reactive.Concurrency;
-using System.Reactive.Disposables;
-using System.Reactive.Subjects;
+
#if !NO_TPL
-using System.Reactive.Threading.Tasks;
using System.Threading;
using System.Threading.Tasks;
#endif
@@ -15,7 +12,7 @@ using System.Threading.Tasks;
namespace System.Reactive.Linq
{
#if !NO_PERF
- using Observαble;
+ using ObservableImpl;
#endif
internal partial class QueryLanguage
@@ -156,30 +153,50 @@ namespace System.Reactive.Linq
public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector)
{
- return GroupBy_<TSource, TKey, TElement>(source, keySelector, elementSelector, EqualityComparer<TKey>.Default);
+ return GroupBy_<TSource, TKey, TElement>(source, keySelector, elementSelector, null, EqualityComparer<TKey>.Default);
}
public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer)
{
- return GroupBy_<TSource, TKey, TSource>(source, keySelector, x => x, comparer);
+ return GroupBy_<TSource, TKey, TSource>(source, keySelector, x => x, null, comparer);
}
public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector)
{
- return GroupBy_<TSource, TKey, TSource>(source, keySelector, x => x, EqualityComparer<TKey>.Default);
+ return GroupBy_<TSource, TKey, TSource>(source, keySelector, x => x, null, EqualityComparer<TKey>.Default);
}
public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer)
{
- return GroupBy_<TSource, TKey, TElement>(source, keySelector, elementSelector, comparer);
+ return GroupBy_<TSource, TKey, TElement>(source, keySelector, elementSelector, null, comparer);
+ }
+
+ public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, int capacity)
+ {
+ return GroupBy_<TSource, TKey, TElement>(source, keySelector, elementSelector, capacity, EqualityComparer<TKey>.Default);
+ }
+
+ public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, int capacity, IEqualityComparer<TKey> comparer)
+ {
+ return GroupBy_<TSource, TKey, TSource>(source, keySelector, x => x, capacity, comparer);
+ }
+
+ public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, int capacity)
+ {
+ return GroupBy_<TSource, TKey, TSource>(source, keySelector, x => x, capacity, EqualityComparer<TKey>.Default);
+ }
+
+ public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, int capacity, IEqualityComparer<TKey> comparer)
+ {
+ return GroupBy_<TSource, TKey, TElement>(source, keySelector, elementSelector, capacity, comparer);
}
- private static IObservable<IGroupedObservable<TKey, TElement>> GroupBy_<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer)
+ private static IObservable<IGroupedObservable<TKey, TElement>> GroupBy_<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, int? capacity, IEqualityComparer<TKey> comparer)
{
#if !NO_PERF
- return new GroupBy<TSource, TKey, TElement>(source, keySelector, elementSelector, comparer);
+ return new GroupBy<TSource, TKey, TElement>(source, keySelector, elementSelector, capacity, comparer);
#else
- return GroupByUntil_<TSource, TKey, TElement, Unit>(source, keySelector, elementSelector, _ => Observable.Never<Unit>(), comparer);
+ return GroupByUntil_<TSource, TKey, TElement, Unit>(source, keySelector, elementSelector, _ => Observable.Never<Unit>(), capacity, comparer);
#endif
}
@@ -189,32 +206,54 @@ namespace System.Reactive.Linq
public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer)
{
- return GroupByUntil_<TSource, TKey, TElement, TDuration>(source, keySelector, elementSelector, durationSelector, comparer);
+ return GroupByUntil_<TSource, TKey, TElement, TDuration>(source, keySelector, elementSelector, durationSelector, null, comparer);
}
public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector)
{
- return GroupByUntil_<TSource, TKey, TElement, TDuration>(source, keySelector, elementSelector, durationSelector, EqualityComparer<TKey>.Default);
+ return GroupByUntil_<TSource, TKey, TElement, TDuration>(source, keySelector, elementSelector, durationSelector, null, EqualityComparer<TKey>.Default);
}
public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer)
{
- return GroupByUntil_<TSource, TKey, TSource, TDuration>(source, keySelector, x => x, durationSelector, comparer);
+ return GroupByUntil_<TSource, TKey, TSource, TDuration>(source, keySelector, x => x, durationSelector, null, comparer);
}
public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector)
{
- return GroupByUntil_<TSource, TKey, TSource, TDuration>(source, keySelector, x => x, durationSelector, EqualityComparer<TKey>.Default);
+ return GroupByUntil_<TSource, TKey, TSource, TDuration>(source, keySelector, x => x, durationSelector, null, EqualityComparer<TKey>.Default);
+ }
+
+ public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int capacity, IEqualityComparer<TKey> comparer)
+ {
+ return GroupByUntil_<TSource, TKey, TElement, TDuration>(source, keySelector, elementSelector, durationSelector, capacity, comparer);
}
- private static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil_<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer)
+ public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int capacity)
+ {
+ return GroupByUntil_<TSource, TKey, TElement, TDuration>(source, keySelector, elementSelector, durationSelector, capacity, EqualityComparer<TKey>.Default);
+ }
+
+ public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, int capacity, IEqualityComparer<TKey> comparer)
+ {
+ return GroupByUntil_<TSource, TKey, TSource, TDuration>(source, keySelector, x => x, durationSelector, capacity, comparer);
+ }
+
+ public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, int capacity)
+ {
+ return GroupByUntil_<TSource, TKey, TSource, TDuration>(source, keySelector, x => x, durationSelector, capacity, EqualityComparer<TKey>.Default);
+ }
+
+ private static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil_<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int? capacity, IEqualityComparer<TKey> comparer)
{
#if !NO_PERF
- return new GroupByUntil<TSource, TKey, TElement, TDuration>(source, keySelector, elementSelector, durationSelector, comparer);
+ return new GroupByUntil<TSource, TKey, TElement, TDuration>(source, keySelector, elementSelector, durationSelector, capacity, comparer);
#else
return new AnonymousObservable<IGroupedObservable<TKey, TElement>>(observer =>
{
- var map = new Dictionary<TKey, ISubject<TElement>>(comparer);
+ var map = capacity.HasValue
+ ? new Dictionary<TKey, ISubject<TElement>>(capacity.Value, comparer)
+ : new Dictionary<TKey, ISubject<TElement>>(comparer);
var groupDisposable = new CompositeDisposable();
var refCountDisposable = new RefCountDisposable(groupDisposable);
@@ -733,7 +772,7 @@ namespace System.Reactive.Linq
#if !NO_PERF
var select = source as Select<TSource>;
if (select != null)
- return select.Ω(selector);
+ return select.Omega(selector);
return new Select<TSource, TResult>(source, selector);
#else
@@ -853,6 +892,15 @@ namespace System.Reactive.Linq
#endif
}
+ public virtual IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, Task<TResult>> selector)
+ {
+#if !NO_PERF
+ return new SelectMany<TSource, TResult>(source, (x, i, token) => selector(x, i));
+#else
+ return SelectMany_<TSource, TResult>(source, (x, i) => selector(x, i).ToObservable());
+#endif
+ }
+
public virtual IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, CancellationToken, Task<TResult>> selector)
{
#if !NO_PERF
@@ -861,6 +909,15 @@ namespace System.Reactive.Linq
return SelectMany_<TSource, TResult>(source, x => FromAsync(ct => selector(x, ct)));
#endif
}
+
+ public virtual IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, CancellationToken, Task<TResult>> selector)
+ {
+#if !NO_PERF
+ return new SelectMany<TSource, TResult>(source, selector);
+#else
+ return SelectMany_<TSource, TResult>(source, (x, i) => FromAsync(ct => selector(x, i, ct)));
+#endif
+ }
#endif
public virtual IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, IObservable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector)
@@ -883,6 +940,15 @@ namespace System.Reactive.Linq
#endif
}
+ public virtual IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(IObservable<TSource> source, Func<TSource, int, Task<TTaskResult>> taskSelector, Func<TSource, int, TTaskResult, TResult> resultSelector)
+ {
+#if !NO_PERF
+ return new SelectMany<TSource, TTaskResult, TResult>(source, (x, i, token) => taskSelector(x, i), resultSelector);
+#else
+ return SelectMany_<TSource, TTaskResult, TResult>(source, (x, i) => taskSelector(x, i).ToObservable(), (x, i, t, _) => resultSelector(x, i, t));
+#endif
+ }
+
public virtual IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(IObservable<TSource> source, Func<TSource, CancellationToken, Task<TTaskResult>> taskSelector, Func<TSource, TTaskResult, TResult> resultSelector)
{
#if !NO_PERF
@@ -891,6 +957,15 @@ namespace System.Reactive.Linq
return SelectMany_<TSource, TTaskResult, TResult>(source, x => FromAsync(ct => taskSelector(x, ct)), resultSelector);
#endif
}
+
+ public virtual IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(IObservable<TSource> source, Func<TSource, int, CancellationToken, Task<TTaskResult>> taskSelector, Func<TSource, int, TTaskResult, TResult> resultSelector)
+ {
+#if !NO_PERF
+ return new SelectMany<TSource, TTaskResult, TResult>(source, taskSelector, resultSelector);
+#else
+ return SelectMany_<TSource, TTaskResult, TResult>(source, (x, i) => FromAsync(ct => taskSelector(x, i, ct)), (x, i, t, _) => resultSelector(x, i, t));
+#endif
+ }
#endif
private static IObservable<TResult> SelectMany_<TSource, TResult>(IObservable<TSource> source, Func<TSource, IObservable<TResult>> selector)
@@ -901,7 +976,7 @@ namespace System.Reactive.Linq
return source.Select(selector).Merge();
#endif
}
-
+
private static IObservable<TResult> SelectMany_<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> selector)
{
#if !NO_PERF
@@ -925,7 +1000,7 @@ namespace System.Reactive.Linq
#if !NO_PERF
return new SelectMany<TSource, TCollection, TResult>(source, collectionSelector, resultSelector);
#else
- return SelectMany_<TSource, TResult>(source, x => collectionSelector(x).Select(y => resultSelector(x, y)));
+ return SelectMany_<TSource, TResult>(source, (x, i) => collectionSelector(x, i).Select((y, i2) => resultSelector(x, i, y, i2)));
#endif
}
@@ -946,19 +1021,23 @@ namespace System.Reactive.Linq
#endif
}
- public virtual IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> onNext, Func<Exception, int, IObservable<TResult>> onError, Func<int, IObservable<TResult>> onCompleted)
+ public virtual IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> onNext, Func<Exception, IObservable<TResult>> onError, Func<IObservable<TResult>> onCompleted)
{
#if !NO_PERF
return new SelectMany<TSource, TResult>(source, onNext, onError, onCompleted);
#else
- return source.Materialize().SelectMany(notification =>
+ return Defer(() =>
{
- if (notification.Kind == NotificationKind.OnNext)
- return onNext(notification.Value);
- else if (notification.Kind == NotificationKind.OnError)
- return onError(notification.Exception);
- else
- return onCompleted();
+ var index = 0;
+ return source.Materialize().SelectMany(notification =>
+ {
+ if (notification.Kind == NotificationKind.OnNext)
+ return onNext(notification.Value, checked(index++));
+ else if (notification.Kind == NotificationKind.OnError)
+ return onError(notification.Exception);
+ else
+ return onCompleted();
+ });
});
#endif
}
@@ -977,7 +1056,7 @@ namespace System.Reactive.Linq
#if !NO_PERF
return new SelectMany<TSource, TResult>(source, selector);
#else
- return SelectMany_<TSource, TResult, TResult>(source, selector, (_, x) => x);
+ return SelectMany_<TSource, TResult, TResult>(source, selector, (_, __, x, ___) => x);
#endif
}
@@ -986,6 +1065,11 @@ namespace System.Reactive.Linq
return SelectMany_<TSource, TCollection, TResult>(source, collectionSelector, resultSelector);
}
+ public virtual IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, int, IEnumerable<TCollection>> collectionSelector, Func<TSource, int, TCollection, int, TResult> resultSelector)
+ {
+ return SelectMany_<TSource, TCollection, TResult>(source, collectionSelector, resultSelector);
+ }
+
private static IObservable<TResult> SelectMany_<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, IEnumerable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector)
{
#if !NO_PERF
@@ -1045,9 +1129,67 @@ namespace System.Reactive.Linq
#endif
}
- public virtual IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, int, IEnumerable<TCollection>> collectionSelector, Func<TSource, int, TCollection, int, TResult> resultSelector)
+ private static IObservable<TResult> SelectMany_<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, int, IEnumerable<TCollection>> collectionSelector, Func<TSource, int, TCollection, int, TResult> resultSelector)
{
+#if !NO_PERF
return new SelectMany<TSource, TCollection, TResult>(source, collectionSelector, resultSelector);
+#else
+ return new AnonymousObservable<TResult>(observer =>
+ {
+ var index = 0;
+
+ return source.Subscribe(
+ x =>
+ {
+ var xs = default(IEnumerable<TCollection>);
+ try
+ {
+ xs = collectionSelector(x, checked(index++));
+ }
+ catch (Exception exception)
+ {
+ observer.OnError(exception);
+ return;
+ }
+
+ var e = xs.GetEnumerator();
+
+ try
+ {
+ var eIndex = 0;
+ var hasNext = true;
+ while (hasNext)
+ {
+ hasNext = false;
+ var current = default(TResult);
+
+ try
+ {
+ hasNext = e.MoveNext();
+ if (hasNext)
+ current = resultSelector(x, index, e.Current, checked(eIndex++));
+ }
+ catch (Exception exception)
+ {
+ observer.OnError(exception);
+ return;
+ }
+
+ if (hasNext)
+ observer.OnNext(current);
+ }
+ }
+ finally
+ {
+ if (e != null)
+ e.Dispose();
+ }
+ },
+ observer.OnError,
+ observer.OnCompleted
+ )
+ });
+#endif
}
#endregion
@@ -1059,7 +1201,7 @@ namespace System.Reactive.Linq
#if !NO_PERF
var skip = source as Skip<TSource>;
if (skip != null && skip._scheduler == null)
- return skip.Ω(count);
+ return skip.Omega(count);
return new Skip<TSource>(source, count);
#else
@@ -1156,7 +1298,7 @@ namespace System.Reactive.Linq
{
var take = source as Take<TSource>;
if (take != null && take._scheduler == null)
- return take.Ω(count);
+ return take.Omega(count);
return new Take<TSource>(source, count);
}
@@ -1248,7 +1390,7 @@ namespace System.Reactive.Linq
#if !NO_PERF
var where = source as Where<TSource>;
if (where != null)
- return where.Ω(predicate);
+ return where.Omega(predicate);
return new Where<TSource>(source, predicate);
#else
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Time.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Time.cs
index 161e1c1..f495177 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Time.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/QueryLanguage.Time.cs
@@ -8,7 +8,7 @@ using System.Reactive.Subjects;
namespace System.Reactive.Linq
{
#if !NO_PERF
- using Observαble;
+ using ObservableImpl;
#endif
internal partial class QueryLanguage
@@ -612,7 +612,7 @@ namespace System.Reactive.Linq
#if !NO_PERF
var skip = source as Skip<TSource>;
if (skip != null && skip._scheduler == scheduler)
- return skip.Ω(duration);
+ return skip.Omega(duration);
return new Skip<TSource>(source, duration, scheduler);
#else
@@ -703,7 +703,7 @@ namespace System.Reactive.Linq
#if !NO_PERF
var skipUntil = source as SkipUntil<TSource>;
if (skipUntil != null && skipUntil._scheduler == scheduler)
- return skipUntil.Ω(startTime);
+ return skipUntil.Omega(startTime);
return new SkipUntil<TSource>(source, startTime, scheduler);
#else
@@ -747,7 +747,7 @@ namespace System.Reactive.Linq
#if !NO_PERF
var take = source as Take<TSource>;
if (take != null && take._scheduler == scheduler)
- return take.Ω(duration);
+ return take.Omega(duration);
return new Take<TSource>(source, duration, scheduler);
#else
@@ -914,7 +914,7 @@ namespace System.Reactive.Linq
#if !NO_PERF
var takeUntil = source as TakeUntil<TSource>;
if (takeUntil != null && takeUntil._scheduler == scheduler)
- return takeUntil.Ω(endTime);
+ return takeUntil.Omega(endTime);
return new TakeUntil<TSource>(source, endTime, scheduler);
#else
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Subjects/BehaviorSubject.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Subjects/BehaviorSubject.cs
index daf23eb..211ad09 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Subjects/BehaviorSubject.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Subjects/BehaviorSubject.cs
@@ -11,6 +11,38 @@ namespace System.Reactive.Subjects
/// <typeparam name="T">The type of the elements processed by the subject.</typeparam>
public sealed class BehaviorSubject<T> : ISubject<T>, IDisposable
{
+ /// <summary>
+ /// Gets the current value or throws an exception.
+ /// </summary>
+ /// <value>The initial value passed to the constructor until <see cref="OnNext"/> is called; after which, the last value passed to <see cref="OnNext"/>.</value>
+ /// <remarks>
+ /// <para><see cref="Value"/> is frozen after <see cref="OnCompleted"/> is called.</para>
+ /// <para>After <see cref="OnError"/> is called, <see cref="Value"/> always throws the specified exception.</para>
+ /// <para>An exception is always thrown after <see cref="Dispose"/> is called.</para>
+ /// <alert type="caller">
+ /// Reading <see cref="Value"/> is a thread-safe operation, though there's a potential race condition when <see cref="OnNext"/> or <see cref="OnError"/> are being invoked concurrently.
+ /// In some cases, it may be necessary for a caller to use external synchronization to avoid race conditions.
+ /// </alert>
+ /// </remarks>
+ /// <exception cref="ObjectDisposedException">Dispose was called.</exception>
+ public T Value
+ {
+ get
+ {
+ lock (_gate)
+ {
+ CheckDisposed();
+
+ if (_exception != null)
+ {
+ throw _exception;
+ }
+
+ return _value;
+ }
+ }
+ }
+
private readonly object _gate = new object();
private ImmutableList<IObserver<T>> _observers;
diff --git a/Rx/NET/Source/System.Reactive.Linq/Strings_Linq.Generated.cs b/Rx/NET/Source/System.Reactive.Linq/Strings_Linq.Generated.cs
index 79f2dfb..3c9c6eb 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Strings_Linq.Generated.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Strings_Linq.Generated.cs
@@ -53,7 +53,7 @@ namespace System.Reactive
{
if (object.ReferenceEquals(resourceMan, null))
{
-#if CRIPPLED_REFLECTION
+#if (CRIPPLED_REFLECTION && HAS_WINRT)
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("System.Reactive.Strings_Linq", typeof(Strings_Linq).GetTypeInfo().Assembly);
#else
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("System.Reactive.Strings_Linq", typeof(Strings_Linq).Assembly);
diff --git a/Rx/NET/Source/System.Reactive.Linq/System.Reactive.Linq.csproj b/Rx/NET/Source/System.Reactive.Linq/System.Reactive.Linq.csproj
index 236393e..022ff0b 100644
--- a/Rx/NET/Source/System.Reactive.Linq/System.Reactive.Linq.csproj
+++ b/Rx/NET/Source/System.Reactive.Linq/System.Reactive.Linq.csproj
@@ -12,6 +12,7 @@
<FileAlignment>512</FileAlignment>
<ProductSignAssembly>true</ProductSignAssembly>
<CodeAnalysisRuleSet>..\Rx.ruleset</CodeAnalysisRuleSet>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseXBLV|AnyCPU'">
<OutputPath>bin\ReleaseXBLV\</OutputPath>
@@ -217,4 +218,5 @@
<EmbeddedResource Include="Strings_Linq.resx" />
</ItemGroup>
<Import Project="..\Import.targets" />
+ <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
</Project> \ No newline at end of file
diff --git a/Rx/NET/Source/System.Reactive.Observable.Aliases/Observable.Aliases.cs b/Rx/NET/Source/System.Reactive.Observable.Aliases/Observable.Aliases.cs
new file mode 100644
index 0000000..8bacad8
--- /dev/null
+++ b/Rx/NET/Source/System.Reactive.Observable.Aliases/Observable.Aliases.cs
@@ -0,0 +1,422 @@
+// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
+
+#pragma warning disable 1591
+
+using System.Collections.Generic;
+using System.Reactive.Concurrency;
+using System.Reactive.Linq;
+using System.Reactive;
+
+#if !NO_TPL
+using System.Reactive.Threading.Tasks; // needed for doc comments
+using System.Threading;
+using System.Threading.Tasks;
+#endif
+
+/*
+ * Note: these methods just call methods in Observable.StandardSequenceOperators.cs
+ * in order to create the following method aliases:
+ *
+ * Map = Select
+ * FlatMap = SelectMany
+ * Filter = Where
+ *
+ */
+
+namespace System.Reactive.Observable.Aliases
+{
+ public static class QueryLanguage
+ {
+ #region + Map +
+
+ /// <summary>
+ /// Projects each element of an observable sequence into a new form. Synonym for the method 'Select'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence.</typeparam>
+ /// <param name="source">A sequence of elements to invoke a transform function on.</param>
+ /// <param name="selector">A transform function to apply to each source element.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the transform function on each element of source.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="selector"/> is null.</exception>
+ public static IObservable<TResult> Map<TSource, TResult>(this IObservable<TSource> source, Func<TSource, TResult> selector)
+ {
+ return source.Select<TSource, TResult>(selector);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence into a new form by incorporating the element's index. Synonym for the method 'Select'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence.</typeparam>
+ /// <param name="source">A sequence of elements to invoke a transform function on.</param>
+ /// <param name="selector">A transform function to apply to each source element; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the transform function on each element of source.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="selector"/> is null.</exception>
+ public static IObservable<TResult> Map<TSource, TResult>(this IObservable<TSource> source, Func<TSource, int, TResult> selector)
+ {
+ return source.Select<TSource, TResult>(selector);
+ }
+
+ #endregion
+
+ #region + FlatMap +
+
+ /// <summary>
+ /// Projects each element of the source observable sequence to the other observable sequence and merges the resulting observable sequences into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TOther">The type of the elements in the other sequence and the elements in the result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="other">An observable sequence to project each element from the source sequence onto.</param>
+ /// <returns>An observable sequence whose elements are the result of projecting each source element onto the other sequence and merging all the resulting sequences together.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="other"/> is null.</exception>
+ public static IObservable<TOther> FlatMap<TSource, TOther>(this IObservable<TSource> source, IObservable<TOther> other)
+ {
+ return source.SelectMany<TSource, TOther>(other);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the projected inner sequences and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="selector"/> is null.</exception>
+ public static IObservable<TResult> FlatMap<TSource, TResult>(this IObservable<TSource> source, Func<TSource, IObservable<TResult>> selector)
+ {
+ return source.SelectMany<TSource, TResult>(selector);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to an observable sequence by incorporating the element's index and merges the resulting observable sequences into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the projected inner sequences and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="selector"/> is null.</exception>
+ public static IObservable<TResult> FlatMap<TSource, TResult>(this IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> selector)
+ {
+ return source.SelectMany<TSource, TResult>(selector);
+ }
+
+#if !NO_TPL
+ /// <summary>
+ /// Projects each element of an observable sequence to a task and merges all of the task results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the result produced by the projected tasks and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element.</param>
+ /// <returns>An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.</returns>
+ /// <remarks>This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="TaskObservableExtensions.ToObservable&lt;TResult&gt;"/>.</remarks>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="selector"/> is null.</exception>
+ public static IObservable<TResult> FlatMap<TSource, TResult>(this IObservable<TSource> source, Func<TSource, Task<TResult>> selector)
+ {
+ return source.SelectMany<TSource, TResult>(selector);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to a task by incorporating the element's index and merges all of the task results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the result produced by the projected tasks and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.</returns>
+ /// <remarks>This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="TaskObservableExtensions.ToObservable&lt;TResult&gt;"/>.</remarks>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="selector"/> is null.</exception>
+ public static IObservable<TResult> FlatMap<TSource, TResult>(this IObservable<TSource> source, Func<TSource, int, Task<TResult>> selector)
+ {
+ return source.SelectMany<TSource, TResult>(selector);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to a task with cancellation support and merges all of the task results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the result produced by the projected tasks and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element.</param>
+ /// <returns>An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.</returns>
+ /// <remarks>This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="TaskObservableExtensions.ToObservable&lt;TResult&gt;"/>.</remarks>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="selector"/> is null.</exception>
+ public static IObservable<TResult> FlatMap<TSource, TResult>(this IObservable<TSource> source, Func<TSource, CancellationToken, Task<TResult>> selector)
+ {
+ return source.SelectMany<TSource, TResult>(selector);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to a task by incorporating the element's index with cancellation support and merges all of the task results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the result produced by the projected tasks and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.</returns>
+ /// <remarks>This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="TaskObservableExtensions.ToObservable&lt;TResult&gt;"/>.</remarks>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="selector"/> is null.</exception>
+ public static IObservable<TResult> FlatMap<TSource, TResult>(this IObservable<TSource> source, Func<TSource, int, CancellationToken, Task<TResult>> selector)
+ {
+ return source.SelectMany<TSource, TResult>(selector);
+ }
+#endif
+
+ /// <summary>
+ /// Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TCollection">The type of the elements in the projected intermediate sequences.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="collectionSelector">A transform function to apply to each element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="collectionSelector"/> or <paramref name="resultSelector"/> is null.</exception>
+ public static IObservable<TResult> FlatMap<TSource, TCollection, TResult>(this IObservable<TSource> source, Func<TSource, IObservable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector)
+ {
+ return source.SelectMany<TSource, TCollection, TResult>(collectionSelector, resultSelector);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to an observable sequence by incorporating the element's index, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TCollection">The type of the elements in the projected intermediate sequences.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="collectionSelector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element and the fourth parameter represents the index of the intermediate element.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="collectionSelector"/> or <paramref name="resultSelector"/> is null.</exception>
+ public static IObservable<TResult> FlatMap<TSource, TCollection, TResult>(this IObservable<TSource> source, Func<TSource, int, IObservable<TCollection>> collectionSelector, Func<TSource, int, TCollection, int, TResult> resultSelector)
+ {
+ return source.SelectMany<TSource, TCollection, TResult>(collectionSelector, resultSelector);
+ }
+
+#if !NO_TPL
+ /// <summary>
+ /// Projects each element of an observable sequence to a task, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TTaskResult">The type of the results produced by the projected intermediate tasks.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="taskSelector">A transform function to apply to each element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
+ /// <returns>An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="taskSelector"/> or <paramref name="resultSelector"/> is null.</exception>
+ /// <remarks>This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="TaskObservableExtensions.ToObservable&lt;TResult&gt;"/>.</remarks>
+ public static IObservable<TResult> FlatMap<TSource, TTaskResult, TResult>(this IObservable<TSource> source, Func<TSource, Task<TTaskResult>> taskSelector, Func<TSource, TTaskResult, TResult> resultSelector)
+ {
+ return source.SelectMany<TSource, TTaskResult, TResult>(taskSelector, resultSelector);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to a task by incorporating the element's index, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TTaskResult">The type of the results produced by the projected intermediate tasks.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="taskSelector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="taskSelector"/> or <paramref name="resultSelector"/> is null.</exception>
+ /// <remarks>This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="TaskObservableExtensions.ToObservable&lt;TResult&gt;"/>.</remarks>
+ public static IObservable<TResult> FlatMap<TSource, TTaskResult, TResult>(this IObservable<TSource> source, Func<TSource, int, Task<TTaskResult>> taskSelector, Func<TSource, int, TTaskResult, TResult> resultSelector)
+ {
+ return source.SelectMany<TSource, TTaskResult, TResult>(taskSelector, resultSelector);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to a task with cancellation support, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TTaskResult">The type of the results produced by the projected intermediate tasks.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="taskSelector">A transform function to apply to each element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
+ /// <returns>An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="taskSelector"/> or <paramref name="resultSelector"/> is null.</exception>
+ /// <remarks>This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="TaskObservableExtensions.ToObservable&lt;TResult&gt;"/>.</remarks>
+ public static IObservable<TResult> FlatMap<TSource, TTaskResult, TResult>(this IObservable<TSource> source, Func<TSource, CancellationToken, Task<TTaskResult>> taskSelector, Func<TSource, TTaskResult, TResult> resultSelector)
+ {
+ return source.SelectMany<TSource, TTaskResult, TResult>(taskSelector, resultSelector);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to a task by incorporating the element's index with cancellation support, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TTaskResult">The type of the results produced by the projected intermediate tasks.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="taskSelector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="taskSelector"/> or <paramref name="resultSelector"/> is null.</exception>
+ /// <remarks>This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="TaskObservableExtensions.ToObservable&lt;TResult&gt;"/>.</remarks>
+ public static IObservable<TResult> FlatMap<TSource, TTaskResult, TResult>(this IObservable<TSource> source, Func<TSource, int, CancellationToken, Task<TTaskResult>> taskSelector, Func<TSource, int, TTaskResult, TResult> resultSelector)
+ {
+ return source.SelectMany<TSource, TTaskResult, TResult>(taskSelector, resultSelector);
+ }
+#endif
+
+ /// <summary>
+ /// Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the projected inner sequences and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of notifications to project.</param>
+ /// <param name="onNext">A transform function to apply to each element.</param>
+ /// <param name="onError">A transform function to apply when an error occurs in the source sequence.</param>
+ /// <param name="onCompleted">A transform function to apply when the end of the source sequence is reached.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="onNext"/> or <paramref name="onError"/> or <paramref name="onCompleted"/> is null.</exception>
+ public static IObservable<TResult> FlatMap<TSource, TResult>(this IObservable<TSource> source, Func<TSource, IObservable<TResult>> onNext, Func<Exception, IObservable<TResult>> onError, Func<IObservable<TResult>> onCompleted)
+ {
+ return source.SelectMany<TSource, TResult>(onNext, onError, onCompleted);
+ }
+
+ /// <summary>
+ /// Projects each notification of an observable sequence to an observable sequence by incorporating the element's index and merges the resulting observable sequences into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the projected inner sequences and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of notifications to project.</param>
+ /// <param name="onNext">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="onError">A transform function to apply when an error occurs in the source sequence.</param>
+ /// <param name="onCompleted">A transform function to apply when the end of the source sequence is reached.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="onNext"/> or <paramref name="onError"/> or <paramref name="onCompleted"/> is null.</exception>
+ public static IObservable<TResult> FlatMap<TSource, TResult>(this IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> onNext, Func<Exception, IObservable<TResult>> onError, Func<IObservable<TResult>> onCompleted)
+ {
+ return source.SelectMany<TSource, TResult>(onNext, onError, onCompleted);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="selector"/> is null.</exception>
+ /// <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="Linq.Observable.ToObservable&lt;TSource&gt;(IEnumerable&lt;TSource&gt;)"/> conversion.</remarks>
+ public static IObservable<TResult> FlatMap<TSource, TResult>(this IObservable<TSource> source, Func<TSource, IEnumerable<TResult>> selector)
+ {
+ return source.SelectMany<TSource, TResult>(selector);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to an enumerable sequence by incorporating the element's index and concatenates the resulting enumerable sequences into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="selector"/> is null.</exception>
+ /// <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="Linq.Observable.ToObservable&lt;TSource&gt;(IEnumerable&lt;TSource&gt;)"/> conversion.</remarks>
+ public static IObservable<TResult> FlatMap<TSource, TResult>(this IObservable<TSource> source, Func<TSource, int, IEnumerable<TResult>> selector)
+ {
+ return source.SelectMany<TSource, TResult>(selector);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TCollection">The type of the elements in the projected intermediate enumerable sequences.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="collectionSelector">A transform function to apply to each element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="collectionSelector"/> or <paramref name="resultSelector"/> is null.</exception>
+ /// <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="Linq.Observable.ToObservable&lt;TSource&gt;(IEnumerable&lt;TSource&gt;)"/> conversion.</remarks>
+ public static IObservable<TResult> FlatMap<TSource, TCollection, TResult>(this IObservable<TSource> source, Func<TSource, IEnumerable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector)
+ {
+ return source.SelectMany<TSource, TCollection, TResult>(collectionSelector, resultSelector);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to an enumerable sequence by incorporating the element's index, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TCollection">The type of the elements in the projected intermediate enumerable sequences.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="collectionSelector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element and the fourth parameter represents the index of the intermediate element.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="collectionSelector"/> or <paramref name="resultSelector"/> is null.</exception>
+ /// <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="Linq.Observable.ToObservable&lt;TSource&gt;(IEnumerable&lt;TSource&gt;)"/> conversion.</remarks>
+ public static IObservable<TResult> FlatMap<TSource, TCollection, TResult>(this IObservable<TSource> source, Func<TSource, int, IEnumerable<TCollection>> collectionSelector, Func<TSource, int, TCollection, int, TResult> resultSelector)
+ {
+ return source.SelectMany<TSource, TCollection, TResult>(collectionSelector, resultSelector);
+ }
+
+ #endregion
+
+ #region + Filter +
+
+ /// <summary>
+ /// Filters the elements of an observable sequence based on a predicate.
+ /// Synonym for the method 'Where'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <param name="source">An observable sequence whose elements to filter.</param>
+ /// <param name="predicate">A function to test each source element for a condition.</param>
+ /// <returns>An observable sequence that contains elements from the input sequence that satisfy the condition.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="predicate"/> is null.</exception>
+ public static IObservable<TSource> Filter<TSource>(this IObservable<TSource> source, Func<TSource, bool> predicate)
+ {
+ return source.Where<TSource>(predicate);
+ }
+
+ /// <summary>
+ /// Filters the elements of an observable sequence based on a predicate by incorporating the element's index.
+ /// Synonym for the method 'Where'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <param name="source">An observable sequence whose elements to filter.</param>
+ /// <param name="predicate">A function to test each source element for a conditio; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence that contains elements from the input sequence that satisfy the condition.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="predicate"/> is null.</exception>
+ public static IObservable<TSource> Filter<TSource>(this IObservable<TSource> source, Func<TSource, int, bool> predicate)
+ {
+ return source.Where<TSource>(predicate);
+ }
+
+ #endregion
+ }
+
+}
+
+#pragma warning restore 1591
diff --git a/Rx/NET/Source/System.Reactive.Observable.Aliases/Qbservable.Aliases.Generated.cs b/Rx/NET/Source/System.Reactive.Observable.Aliases/Qbservable.Aliases.Generated.cs
new file mode 100644
index 0000000..a73f0a3
--- /dev/null
+++ b/Rx/NET/Source/System.Reactive.Observable.Aliases/Qbservable.Aliases.Generated.cs
@@ -0,0 +1,449 @@
+/*
+ * WARNING: Auto-generated file (11/21/2013 11:07:25 AM)
+ * Run Rx's auto-homoiconizer tool to generate this file (in the HomoIcon directory).
+ */
+
+#pragma warning disable 1591
+
+#if !NO_EXPRESSIONS
+
+using System;
+using System.Reactive.Concurrency;
+using System.Collections.Generic;
+using System.Reactive.Joins;
+using System.Linq;
+using System.Linq.Expressions;
+using System.Reflection;
+using System.Threading;
+using System.Reactive;
+using System.Reactive.Subjects;
+#if !NO_TPL
+using System.Threading.Tasks;
+#endif
+#if !NO_REMOTING
+using System.Runtime.Remoting.Lifetime;
+#endif
+
+namespace System.Reactive.Linq
+{
+ public static partial class QbservableAliases
+ {
+ /// <summary>
+ /// Filters the elements of an observable sequence based on a predicate.
+ /// Synonym for the method 'Where'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <param name="source">An observable sequence whose elements to filter.</param>
+ /// <param name="predicate">A function to test each source element for a condition.</param>
+ /// <returns>An observable sequence that contains elements from the input sequence that satisfy the condition.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
+ public static IQbservable<TSource> Filter<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, bool>> predicate)
+ {
+ return Qbservable.Where<TSource>(source, predicate);
+ }
+
+ /// <summary>
+ /// Filters the elements of an observable sequence based on a predicate by incorporating the element's index.
+ /// Synonym for the method 'Where'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <param name="source">An observable sequence whose elements to filter.</param>
+ /// <param name="predicate">A function to test each source element for a conditio; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence that contains elements from the input sequence that satisfy the condition.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
+ public static IQbservable<TSource> Filter<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, int, bool>> predicate)
+ {
+ return Qbservable.Where<TSource>(source, predicate);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TCollection">The type of the elements in the projected intermediate sequences.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="collectionSelector">A transform function to apply to each element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="collectionSelector" /> or <paramref name="resultSelector" /> is null.</exception>
+ public static IQbservable<TResult> FlatMap<TSource, TCollection, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, IObservable<TCollection>>> collectionSelector, Expression<Func<TSource, TCollection, TResult>> resultSelector)
+ {
+ return Qbservable.SelectMany<TSource, TCollection, TResult>(source, collectionSelector, resultSelector);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to an observable sequence by incorporating the element's index, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TCollection">The type of the elements in the projected intermediate sequences.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="collectionSelector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element and the fourth parameter represents the index of the intermediate element.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="collectionSelector" /> or <paramref name="resultSelector" /> is null.</exception>
+ public static IQbservable<TResult> FlatMap<TSource, TCollection, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, IObservable<TCollection>>> collectionSelector, Expression<Func<TSource, int, TCollection, int, TResult>> resultSelector)
+ {
+ return Qbservable.SelectMany<TSource, TCollection, TResult>(source, collectionSelector, resultSelector);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TCollection">The type of the elements in the projected intermediate enumerable sequences.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="collectionSelector">A transform function to apply to each element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="collectionSelector" /> or <paramref name="resultSelector" /> is null.</exception>
+ /// <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="M:System.Reactive.Linq.Observable.ToObservable``1(System.Collections.Generic.IEnumerable{``0})" /> conversion.</remarks>
+ public static IQbservable<TResult> FlatMap<TSource, TCollection, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, IEnumerable<TCollection>>> collectionSelector, Expression<Func<TSource, TCollection, TResult>> resultSelector)
+ {
+ return Qbservable.SelectMany<TSource, TCollection, TResult>(source, collectionSelector, resultSelector);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to an enumerable sequence by incorporating the element's index, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TCollection">The type of the elements in the projected intermediate enumerable sequences.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="collectionSelector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element and the fourth parameter represents the index of the intermediate element.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="collectionSelector" /> or <paramref name="resultSelector" /> is null.</exception>
+ /// <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="M:System.Reactive.Linq.Observable.ToObservable``1(System.Collections.Generic.IEnumerable{``0})" /> conversion.</remarks>
+ public static IQbservable<TResult> FlatMap<TSource, TCollection, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, IEnumerable<TCollection>>> collectionSelector, Expression<Func<TSource, int, TCollection, int, TResult>> resultSelector)
+ {
+ return Qbservable.SelectMany<TSource, TCollection, TResult>(source, collectionSelector, resultSelector);
+ }
+
+ /// <summary>
+ /// Projects each element of the source observable sequence to the other observable sequence and merges the resulting observable sequences into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TOther">The type of the elements in the other sequence and the elements in the result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="other">An observable sequence to project each element from the source sequence onto.</param>
+ /// <returns>An observable sequence whose elements are the result of projecting each source element onto the other sequence and merging all the resulting sequences together.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="other" /> is null.</exception>
+ public static IQbservable<TOther> FlatMap<TSource, TOther>(this IQbservable<TSource> source, IObservable<TOther> other)
+ {
+ return Qbservable.SelectMany<TSource, TOther>(source, other);
+ }
+
+ /// <summary>
+ /// Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the projected inner sequences and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of notifications to project.</param>
+ /// <param name="onNext">A transform function to apply to each element.</param>
+ /// <param name="onError">A transform function to apply when an error occurs in the source sequence.</param>
+ /// <param name="onCompleted">A transform function to apply when the end of the source sequence is reached.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="onNext" /> or <paramref name="onError" /> or <paramref name="onCompleted" /> is null.</exception>
+ public static IQbservable<TResult> FlatMap<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, IObservable<TResult>>> onNext, Expression<Func<Exception, IObservable<TResult>>> onError, Expression<Func<IObservable<TResult>>> onCompleted)
+ {
+ return Qbservable.SelectMany<TSource, TResult>(source, onNext, onError, onCompleted);
+ }
+
+ /// <summary>
+ /// Projects each notification of an observable sequence to an observable sequence by incorporating the element's index and merges the resulting observable sequences into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the projected inner sequences and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of notifications to project.</param>
+ /// <param name="onNext">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="onError">A transform function to apply when an error occurs in the source sequence.</param>
+ /// <param name="onCompleted">A transform function to apply when the end of the source sequence is reached.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="onNext" /> or <paramref name="onError" /> or <paramref name="onCompleted" /> is null.</exception>
+ public static IQbservable<TResult> FlatMap<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, IObservable<TResult>>> onNext, Expression<Func<Exception, IObservable<TResult>>> onError, Expression<Func<IObservable<TResult>>> onCompleted)
+ {
+ return Qbservable.SelectMany<TSource, TResult>(source, onNext, onError, onCompleted);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the projected inner sequences and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
+ public static IQbservable<TResult> FlatMap<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, IObservable<TResult>>> selector)
+ {
+ return Qbservable.SelectMany<TSource, TResult>(source, selector);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to an observable sequence by incorporating the element's index and merges the resulting observable sequences into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the projected inner sequences and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
+ public static IQbservable<TResult> FlatMap<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, IObservable<TResult>>> selector)
+ {
+ return Qbservable.SelectMany<TSource, TResult>(source, selector);
+ }
+
+#if !NO_TPL
+ /// <summary>
+ /// Projects each element of an observable sequence to a task and merges all of the task results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the result produced by the projected tasks and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element.</param>
+ /// <returns>An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.</returns>
+ /// <remarks>This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})" />.</remarks>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
+ public static IQbservable<TResult> FlatMap<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, Task<TResult>>> selector)
+ {
+ return Qbservable.SelectMany<TSource, TResult>(source, selector);
+ }
+#endif
+
+#if !NO_TPL
+ /// <summary>
+ /// Projects each element of an observable sequence to a task by incorporating the element's index and merges all of the task results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the result produced by the projected tasks and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.</returns>
+ /// <remarks>This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})" />.</remarks>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
+ public static IQbservable<TResult> FlatMap<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, Task<TResult>>> selector)
+ {
+ return Qbservable.SelectMany<TSource, TResult>(source, selector);
+ }
+#endif
+
+#if !NO_TPL
+ /// <summary>
+ /// Projects each element of an observable sequence to a task with cancellation support and merges all of the task results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the result produced by the projected tasks and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element.</param>
+ /// <returns>An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.</returns>
+ /// <remarks>This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})" />.</remarks>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
+ public static IQbservable<TResult> FlatMap<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, CancellationToken, Task<TResult>>> selector)
+ {
+ return Qbservable.SelectMany<TSource, TResult>(source, selector);
+ }
+#endif
+
+#if !NO_TPL
+ /// <summary>
+ /// Projects each element of an observable sequence to a task by incorporating the element's index with cancellation support and merges all of the task results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the result produced by the projected tasks and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.</returns>
+ /// <remarks>This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})" />.</remarks>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
+ public static IQbservable<TResult> FlatMap<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, CancellationToken, Task<TResult>>> selector)
+ {
+ return Qbservable.SelectMany<TSource, TResult>(source, selector);
+ }
+#endif
+
+ /// <summary>
+ /// Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
+ /// <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="M:System.Reactive.Linq.Observable.ToObservable``1(System.Collections.Generic.IEnumerable{``0})" /> conversion.</remarks>
+ public static IQbservable<TResult> FlatMap<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, IEnumerable<TResult>>> selector)
+ {
+ return Qbservable.SelectMany<TSource, TResult>(source, selector);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to an enumerable sequence by incorporating the element's index and concatenates the resulting enumerable sequences into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
+ /// <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="M:System.Reactive.Linq.Observable.ToObservable``1(System.Collections.Generic.IEnumerable{``0})" /> conversion.</remarks>
+ public static IQbservable<TResult> FlatMap<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, IEnumerable<TResult>>> selector)
+ {
+ return Qbservable.SelectMany<TSource, TResult>(source, selector);
+ }
+
+#if !NO_TPL
+ /// <summary>
+ /// Projects each element of an observable sequence to a task, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TTaskResult">The type of the results produced by the projected intermediate tasks.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="taskSelector">A transform function to apply to each element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
+ /// <returns>An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="taskSelector" /> or <paramref name="resultSelector" /> is null.</exception>
+ /// <remarks>This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})" />.</remarks>
+ public static IQbservable<TResult> FlatMap<TSource, TTaskResult, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, Task<TTaskResult>>> taskSelector, Expression<Func<TSource, TTaskResult, TResult>> resultSelector)
+ {
+ return Qbservable.SelectMany<TSource, TTaskResult, TResult>(source, taskSelector, resultSelector);
+ }
+#endif
+
+#if !NO_TPL
+ /// <summary>
+ /// Projects each element of an observable sequence to a task by incorporating the element's index, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TTaskResult">The type of the results produced by the projected intermediate tasks.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="taskSelector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="taskSelector" /> or <paramref name="resultSelector" /> is null.</exception>
+ /// <remarks>This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})" />.</remarks>
+ public static IQbservable<TResult> FlatMap<TSource, TTaskResult, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, Task<TTaskResult>>> taskSelector, Expression<Func<TSource, int, TTaskResult, TResult>> resultSelector)
+ {
+ return Qbservable.SelectMany<TSource, TTaskResult, TResult>(source, taskSelector, resultSelector);
+ }
+#endif
+
+#if !NO_TPL
+ /// <summary>
+ /// Projects each element of an observable sequence to a task with cancellation support, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TTaskResult">The type of the results produced by the projected intermediate tasks.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="taskSelector">A transform function to apply to each element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
+ /// <returns>An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="taskSelector" /> or <paramref name="resultSelector" /> is null.</exception>
+ /// <remarks>This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})" />.</remarks>
+ public static IQbservable<TResult> FlatMap<TSource, TTaskResult, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, CancellationToken, Task<TTaskResult>>> taskSelector, Expression<Func<TSource, TTaskResult, TResult>> resultSelector)
+ {
+ return Qbservable.SelectMany<TSource, TTaskResult, TResult>(source, taskSelector, resultSelector);
+ }
+#endif
+
+#if !NO_TPL
+ /// <summary>
+ /// Projects each element of an observable sequence to a task by incorporating the element's index with cancellation support, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.
+ /// Synonym for the method 'SelectMany'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TTaskResult">The type of the results produced by the projected intermediate tasks.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="taskSelector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="taskSelector" /> or <paramref name="resultSelector" /> is null.</exception>
+ /// <remarks>This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})" />.</remarks>
+ public static IQbservable<TResult> FlatMap<TSource, TTaskResult, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, CancellationToken, Task<TTaskResult>>> taskSelector, Expression<Func<TSource, int, TTaskResult, TResult>> resultSelector)
+ {
+ return Qbservable.SelectMany<TSource, TTaskResult, TResult>(source, taskSelector, resultSelector);
+ }
+#endif
+
+ /// <summary>
+ /// Projects each element of an observable sequence into a new form. Synonym for the method 'Select'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence.</typeparam>
+ /// <param name="source">A sequence of elements to invoke a transform function on.</param>
+ /// <param name="selector">A transform function to apply to each source element.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the transform function on each element of source.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
+ public static IQbservable<TResult> Map<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, TResult>> selector)
+ {
+ return Qbservable.Select<TSource, TResult>(source, selector);
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence into a new form by incorporating the element's index. Synonym for the method 'Select'
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence.</typeparam>
+ /// <param name="source">A sequence of elements to invoke a transform function on.</param>
+ /// <param name="selector">A transform function to apply to each source element; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the transform function on each element of source.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
+ public static IQbservable<TResult> Map<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, TResult>> selector)
+ {
+ return Qbservable.Select<TSource, TResult>(source, selector);
+ }
+
+ }
+}
+
+#endif
+
+#pragma warning restore 1591
+
diff --git a/Rx/NET/Source/System.Reactive.Observable.Aliases/System.Reactive.Observable.Aliases.csproj b/Rx/NET/Source/System.Reactive.Observable.Aliases/System.Reactive.Observable.Aliases.csproj
new file mode 100644
index 0000000..52ef7a5
--- /dev/null
+++ b/Rx/NET/Source/System.Reactive.Observable.Aliases/System.Reactive.Observable.Aliases.csproj
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{9FFAC385-10A4-4DDD-B800-DE67E8469CC0}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>System.Reactive.Observable.Aliases</RootNamespace>
+ <AssemblyName>System.Reactive.Observable.Aliases</AssemblyName>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <ProductSignAssembly>false</ProductSignAssembly>
+ </PropertyGroup>
+ <PropertyGroup>
+ <StartupObject />
+ </PropertyGroup>
+ <Import Project="..\Common.targets" />
+ <PropertyGroup>
+ <DocumentationFile>$(OutputPath)\$(AssemblyName).XML</DocumentationFile>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Observable.Aliases.cs" />
+ <Compile Include="Qbservable.Aliases.Generated.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\System.Reactive.Core\System.Reactive.Core.csproj">
+ <Project>{4e516f10-da7a-4d43-963e-a93865abea5b}</Project>
+ <Name>System.Reactive.Core</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\System.Reactive.Interfaces\System.Reactive.Interfaces.csproj">
+ <Project>{9e9b9c60-98b0-40fa-9c2b-1218d417caa4}</Project>
+ <Name>System.Reactive.Interfaces</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\System.Reactive.Linq\System.Reactive.Linq.csproj">
+ <Project>{63252ae9-5186-45ca-bfcd-fa51c6b66a43}</Project>
+ <Name>System.Reactive.Linq</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\System.Reactive.Providers\System.Reactive.Providers.csproj">
+ <Project>{c7b9d7be-f47f-466b-a6b0-e46f1069b171}</Project>
+ <Name>System.Reactive.Providers</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <Folder Include="Properties\" />
+ </ItemGroup>
+ <Import Project="..\Import.targets" />
+ <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
+</Project> \ No newline at end of file
diff --git a/Rx/NET/Source/System.Reactive.PlatformServices/Properties/AssemblyInfo.cs b/Rx/NET/Source/System.Reactive.PlatformServices/Properties/AssemblyInfo.cs
index 4d3ccea..2e97541 100644
--- a/Rx/NET/Source/System.Reactive.PlatformServices/Properties/AssemblyInfo.cs
+++ b/Rx/NET/Source/System.Reactive.PlatformServices/Properties/AssemblyInfo.cs
@@ -27,11 +27,11 @@ using System.Security;
[assembly: AllowPartiallyTrustedCallers]
#endif
-#if XBOX_LAKEVIEW
-[assembly: SecurityTransparent]
-#endif
+// ===========================================================================
+// DO NOT EDIT OR REMOVE ANYTHING BELOW THIS COMMENT.
+// Version numbers are automatically generated in the msbuild files based on regular expressions
+// ===========================================================================
-//
-// Note: Assembly (file) version numbers get inserted by the build system on the fly. Inspect the Team Build workflows
-// and the custom activity in Build/Source/Activities/AppendVersionInfo.cs for more information.
-//
+[assembly: AssemblyVersion("2.2.0.0")]
+[assembly: AssemblyFileVersion("2.2.0.0")]
+[assembly: AssemblyInformationalVersion("2.2.0.0")]
diff --git a/Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Concurrency/ConcurrencyAbstractionLayerImpl.cs b/Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Concurrency/ConcurrencyAbstractionLayerImpl.cs
index 4c91463..7cb011b 100644
--- a/Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Concurrency/ConcurrencyAbstractionLayerImpl.cs
+++ b/Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Concurrency/ConcurrencyAbstractionLayerImpl.cs
@@ -22,16 +22,21 @@ namespace System.Reactive.Concurrency
public IDisposable StartPeriodicTimer(Action action, TimeSpan period)
{
- //
- // MSDN documentation states the following:
- //
- // "If period is zero (0) or negative one (-1) milliseconds and dueTime is positive, callback is invoked once;
- // the periodic behavior of the timer is disabled, but can be re-enabled using the Change method."
- //
- if (period <= TimeSpan.Zero)
+ if (period < TimeSpan.Zero)
throw new ArgumentOutOfRangeException("period");
- return new PeriodicTimer(action, period);
+ //
+ // The contract for periodic scheduling in Rx is that specifying TimeSpan.Zero as the period causes the scheduler to
+ // call back periodically as fast as possible, sequentially.
+ //
+ if (period == TimeSpan.Zero)
+ {
+ return new FastPeriodicTimer(action);
+ }
+ else
+ {
+ return new PeriodicTimer(action, period);
+ }
}
public IDisposable QueueUserWorkItem(Action<object> action, object state)
@@ -366,6 +371,37 @@ namespace System.Reactive.Concurrency
}
}
#endif
+
+ class FastPeriodicTimer : IDisposable
+ {
+ private readonly Action _action;
+ private bool disposed;
+
+ public FastPeriodicTimer(Action action)
+ {
+ _action = action;
+
+ new System.Threading.Thread(Loop)
+ {
+ Name = "Rx-FastPeriodicTimer",
+ IsBackground = true
+ }
+ .Start();
+ }
+
+ private void Loop()
+ {
+ while (!disposed)
+ {
+ _action();
+ }
+ }
+
+ public void Dispose()
+ {
+ disposed = true;
+ }
+ }
}
}
#endif \ No newline at end of file
diff --git a/Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Concurrency/EventLoopScheduler.cs b/Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Concurrency/EventLoopScheduler.cs
index 8739895..98df416 100644
--- a/Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Concurrency/EventLoopScheduler.cs
+++ b/Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Concurrency/EventLoopScheduler.cs
@@ -296,6 +296,16 @@ namespace System.Reactive.Concurrency
lock (_gate)
{
//
+ // Bug fix that ensures the number of calls to Release never greatly exceeds the number of calls to Wait.
+ // See work item #37: https://rx.codeplex.com/workitem/37
+ //
+#if !NO_CDS
+ while (_evt.CurrentCount > 0) _evt.Wait();
+#else
+ while (_evt.WaitOne(TimeSpan.Zero)) { }
+#endif
+
+ //
// The event could have been set by a call to Dispose. This takes priority over anything else. We quit the
// loop immediately. Subsequent calls to Schedule won't ever create a new thread.
//
diff --git a/Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Concurrency/TaskPoolScheduler.cs b/Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Concurrency/TaskPoolScheduler.cs
index a84588b..a27e7a6 100644
--- a/Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Concurrency/TaskPoolScheduler.cs
+++ b/Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Concurrency/TaskPoolScheduler.cs
@@ -111,7 +111,11 @@ namespace System.Reactive.Concurrency
var ct = new CancellationDisposable();
d.Disposable = ct;
+#if USE_TASKEX
+ TaskEx.Delay(dueTime, ct.Token).ContinueWith(_ =>
+#else
Task.Delay(dueTime, ct.Token).ContinueWith(_ =>
+#endif
{
if (!d.IsDisposed)
d.Disposable = action(this, state);
@@ -190,7 +194,11 @@ namespace System.Reactive.Concurrency
var moveNext = default(Action);
moveNext = () =>
{
+#if USE_TASKEX
+ TaskEx.Delay(period, cancel.Token).ContinueWith(
+#else
Task.Delay(period, cancel.Token).ContinueWith(
+#endif
_ =>
{
moveNext();
diff --git a/Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Internal/PlatformEnlightenmentProvider.cs b/Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Internal/PlatformEnlightenmentProvider.cs
index 7bb597c..881178b 100644
--- a/Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Internal/PlatformEnlightenmentProvider.cs
+++ b/Rx/NET/Source/System.Reactive.PlatformServices/Reactive/Internal/PlatformEnlightenmentProvider.cs
@@ -88,7 +88,7 @@ namespace System.Reactive.PlatformServices
#if NETCF35
var name = "System.Reactive.Linq.QueryDebugger, System.Reactive.Debugger";
#else
-#if CRIPPLED_REFLECTION
+#if (CRIPPLED_REFLECTION && HAS_WINRT)
var ifType = t.GetTypeInfo();
#else
var ifType = t;
diff --git a/Rx/NET/Source/System.Reactive.PlatformServices/Strings_PlatformServices.Generated.cs b/Rx/NET/Source/System.Reactive.PlatformServices/Strings_PlatformServices.Generated.cs
index b9330af..7ac002d 100644
--- a/Rx/NET/Source/System.Reactive.PlatformServices/Strings_PlatformServices.Generated.cs
+++ b/Rx/NET/Source/System.Reactive.PlatformServices/Strings_PlatformServices.Generated.cs
@@ -53,7 +53,7 @@ namespace System.Reactive
{
if (object.ReferenceEquals(resourceMan, null))
{
-#if CRIPPLED_REFLECTION
+#if (CRIPPLED_REFLECTION && HAS_WINRT)
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("System.Reactive.Strings_PlatformServices", typeof(Strings_PlatformServices).GetTypeInfo().Assembly);
#else
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("System.Reactive.Strings_PlatformServices", typeof(Strings_PlatformServices).Assembly);
diff --git a/Rx/NET/Source/System.Reactive.PlatformServices/System.Reactive.PlatformServices.csproj b/Rx/NET/Source/System.Reactive.PlatformServices/System.Reactive.PlatformServices.csproj
index e40f2ab..10f8aa2 100644
--- a/Rx/NET/Source/System.Reactive.PlatformServices/System.Reactive.PlatformServices.csproj
+++ b/Rx/NET/Source/System.Reactive.PlatformServices/System.Reactive.PlatformServices.csproj
@@ -12,6 +12,7 @@
<FileAlignment>512</FileAlignment>
<ProductSignAssembly>true</ProductSignAssembly>
<CodeAnalysisRuleSet>..\Rx.ruleset</CodeAnalysisRuleSet>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseXBLV|AnyCPU'">
<OutputPath>bin\ReleaseXBLV\</OutputPath>
@@ -72,4 +73,5 @@
</EmbeddedResource>
</ItemGroup>
<Import Project="..\Import.targets" />
+ <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
</Project> \ No newline at end of file
diff --git a/Rx/NET/Source/System.Reactive.Providers/Properties/AssemblyInfo.cs b/Rx/NET/Source/System.Reactive.Providers/Properties/AssemblyInfo.cs
index cc2c4be..1065aa9 100644
--- a/Rx/NET/Source/System.Reactive.Providers/Properties/AssemblyInfo.cs
+++ b/Rx/NET/Source/System.Reactive.Providers/Properties/AssemblyInfo.cs
@@ -27,7 +27,11 @@ using System.Security;
[assembly: AllowPartiallyTrustedCallers]
#endif
-//
-// Note: Assembly (file) version numbers get inserted by the build system on the fly. Inspect the Team Build workflows
-// and the custom activity in Build/Source/Activities/AppendVersionInfo.cs for more information.
-//
+// ===========================================================================
+// DO NOT EDIT OR REMOVE ANYTHING BELOW THIS COMMENT.
+// Version numbers are automatically generated in the msbuild files based on regular expressions
+// ===========================================================================
+
+[assembly: AssemblyVersion("2.2.0.0")]
+[assembly: AssemblyFileVersion("2.2.0.0")]
+[assembly: AssemblyInformationalVersion("2.2.0.0")]
diff --git a/Rx/NET/Source/System.Reactive.Providers/Reactive/Linq/Qbservable.Generated.cs b/Rx/NET/Source/System.Reactive.Providers/Reactive/Linq/Qbservable.Generated.cs
index 2a5f3e4..4a73c80 100644
--- a/Rx/NET/Source/System.Reactive.Providers/Reactive/Linq/Qbservable.Generated.cs
+++ b/Rx/NET/Source/System.Reactive.Providers/Reactive/Linq/Qbservable.Generated.cs
@@ -1,5 +1,5 @@
/*
- * WARNING: Auto-generated file (1/10/2013 8:30:32 PM)
+ * WARNING: Auto-generated file (11/21/2013 11:07:25 AM)
* Run Rx's auto-homoiconizer tool to generate this file (in the HomoIcon directory).
*/
@@ -7341,6 +7341,80 @@ namespace System.Reactive.Linq
}
/// <summary>
+ /// Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
+ /// <param name="source">An observable sequence whose elements to group.</param>
+ /// <param name="keySelector">A function to extract the key for each element.</param>
+ /// <param name="capacity">The initial number of elements that the underlying dictionary can contain.</param>
+ /// <returns>A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="keySelector" /> is null.</exception>
+ /// <exception cref="T:System.ArgumentOutOfRangeException">
+ /// <paramref name="capacity" /> is less than 0.</exception>
+ public static IQbservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(this IQbservable<TSource> source, Expression<Func<TSource, TKey>> keySelector, int capacity)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (keySelector == null)
+ throw new ArgumentNullException("keySelector");
+
+ return source.Provider.CreateQuery<IGroupedObservable<TKey, TSource>>(
+ Expression.Call(
+ null,
+#if CRIPPLED_REFLECTION
+ InfoOf(() => Qbservable.GroupBy<TSource, TKey>(default(IQbservable<TSource>), default(Expression<Func<TSource, TKey>>), default(int))),
+#else
+ ((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TKey)),
+#endif
+ source.Expression,
+ keySelector,
+ Expression.Constant(capacity, typeof(int))
+ )
+ );
+ }
+
+ /// <summary>
+ /// Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function and comparer.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
+ /// <param name="source">An observable sequence whose elements to group.</param>
+ /// <param name="keySelector">A function to extract the key for each element.</param>
+ /// <param name="capacity">The initial number of elements that the underlying dictionary can contain.</param>
+ /// <param name="comparer">An equality comparer to compare keys with.</param>
+ /// <returns>A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="comparer" /> is null.</exception>
+ /// <exception cref="T:System.ArgumentOutOfRangeException">
+ /// <paramref name="capacity" /> is less than 0.</exception>
+ public static IQbservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(this IQbservable<TSource> source, Expression<Func<TSource, TKey>> keySelector, int capacity, IEqualityComparer<TKey> comparer)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (keySelector == null)
+ throw new ArgumentNullException("keySelector");
+ if (comparer == null)
+ throw new ArgumentNullException("comparer");
+
+ return source.Provider.CreateQuery<IGroupedObservable<TKey, TSource>>(
+ Expression.Call(
+ null,
+#if CRIPPLED_REFLECTION
+ InfoOf(() => Qbservable.GroupBy<TSource, TKey>(default(IQbservable<TSource>), default(Expression<Func<TSource, TKey>>), default(int), default(IEqualityComparer<TKey>))),
+#else
+ ((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TKey)),
+#endif
+ source.Expression,
+ keySelector,
+ Expression.Constant(capacity, typeof(int)),
+ Expression.Constant(comparer, typeof(IEqualityComparer<TKey>))
+ )
+ );
+ }
+
+ /// <summary>
/// Groups the elements of an observable sequence according to a specified key selector function and comparer.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
@@ -7412,6 +7486,90 @@ namespace System.Reactive.Linq
}
/// <summary>
+ /// Groups the elements of an observable sequence with the specified initial capacity and selects the resulting elements by using a specified function.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
+ /// <typeparam name="TElement">The type of the elements within the groups computed for each element in the source sequence.</typeparam>
+ /// <param name="source">An observable sequence whose elements to group.</param>
+ /// <param name="keySelector">A function to extract the key for each element.</param>
+ /// <param name="elementSelector">A function to map each source element to an element in an observable group.</param>
+ /// <param name="capacity">The initial number of elements that the underlying dictionary can contain.</param>
+ /// <returns>A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="elementSelector" /> is null.</exception>
+ /// <exception cref="T:System.ArgumentOutOfRangeException">
+ /// <paramref name="capacity" /> is less than 0.</exception>
+ public static IQbservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(this IQbservable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<Func<TSource, TElement>> elementSelector, int capacity)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (keySelector == null)
+ throw new ArgumentNullException("keySelector");
+ if (elementSelector == null)
+ throw new ArgumentNullException("elementSelector");
+
+ return source.Provider.CreateQuery<IGroupedObservable<TKey, TElement>>(
+ Expression.Call(
+ null,
+#if CRIPPLED_REFLECTION
+ InfoOf(() => Qbservable.GroupBy<TSource, TKey, TElement>(default(IQbservable<TSource>), default(Expression<Func<TSource, TKey>>), default(Expression<Func<TSource, TElement>>), default(int))),
+#else
+ ((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TKey), typeof(TElement)),
+#endif
+ source.Expression,
+ keySelector,
+ elementSelector,
+ Expression.Constant(capacity, typeof(int))
+ )
+ );
+ }
+
+ /// <summary>
+ /// Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function and comparer and selects the resulting elements by using a specified function.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
+ /// <typeparam name="TElement">The type of the elements within the groups computed for each element in the source sequence.</typeparam>
+ /// <param name="source">An observable sequence whose elements to group.</param>
+ /// <param name="keySelector">A function to extract the key for each element.</param>
+ /// <param name="elementSelector">A function to map each source element to an element in an observable group.</param>
+ /// <param name="capacity">The initial number of elements that the underlying dictionary can contain.</param>
+ /// <param name="comparer">An equality comparer to compare keys with.</param>
+ /// <returns>A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="elementSelector" /> or <paramref name="comparer" /> is null.</exception>
+ /// <exception cref="T:System.ArgumentOutOfRangeException">
+ /// <paramref name="capacity" /> is less than 0.</exception>
+ public static IQbservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(this IQbservable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<Func<TSource, TElement>> elementSelector, int capacity, IEqualityComparer<TKey> comparer)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (keySelector == null)
+ throw new ArgumentNullException("keySelector");
+ if (elementSelector == null)
+ throw new ArgumentNullException("elementSelector");
+ if (comparer == null)
+ throw new ArgumentNullException("comparer");
+
+ return source.Provider.CreateQuery<IGroupedObservable<TKey, TElement>>(
+ Expression.Call(
+ null,
+#if CRIPPLED_REFLECTION
+ InfoOf(() => Qbservable.GroupBy<TSource, TKey, TElement>(default(IQbservable<TSource>), default(Expression<Func<TSource, TKey>>), default(Expression<Func<TSource, TElement>>), default(int), default(IEqualityComparer<TKey>))),
+#else
+ ((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TKey), typeof(TElement)),
+#endif
+ source.Expression,
+ keySelector,
+ elementSelector,
+ Expression.Constant(capacity, typeof(int)),
+ Expression.Constant(comparer, typeof(IEqualityComparer<TKey>))
+ )
+ );
+ }
+
+ /// <summary>
/// Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
@@ -7493,6 +7651,100 @@ namespace System.Reactive.Linq
}
/// <summary>
+ /// Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function.
+ /// A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same
+ /// key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
+ /// <typeparam name="TDuration">The type of the elements in the duration sequences obtained for each group to denote its lifetime.</typeparam>
+ /// <param name="source">An observable sequence whose elements to group.</param>
+ /// <param name="keySelector">A function to extract the key for each element.</param>
+ /// <param name="durationSelector">A function to signal the expiration of a group.</param>
+ /// <param name="capacity">The initial number of elements that the underlying dictionary can contain.</param>
+ /// <returns>
+ /// A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.
+ /// If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered.
+ /// </returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="durationSelector" /> is null.</exception>
+ /// <exception cref="T:System.ArgumentOutOfRangeException">
+ /// <paramref name="capacity" /> is less than 0.</exception>
+ public static IQbservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(this IQbservable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>>> durationSelector, int capacity)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (keySelector == null)
+ throw new ArgumentNullException("keySelector");
+ if (durationSelector == null)
+ throw new ArgumentNullException("durationSelector");
+
+ return source.Provider.CreateQuery<IGroupedObservable<TKey, TSource>>(
+ Expression.Call(
+ null,
+#if CRIPPLED_REFLECTION
+ InfoOf(() => Qbservable.GroupByUntil<TSource, TKey, TDuration>(default(IQbservable<TSource>), default(Expression<Func<TSource, TKey>>), default(Expression<Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>>>), default(int))),
+#else
+ ((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TKey), typeof(TDuration)),
+#endif
+ source.Expression,
+ keySelector,
+ durationSelector,
+ Expression.Constant(capacity, typeof(int))
+ )
+ );
+ }
+
+ /// <summary>
+ /// Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function and comparer.
+ /// A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same
+ /// key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
+ /// <typeparam name="TDuration">The type of the elements in the duration sequences obtained for each group to denote its lifetime.</typeparam>
+ /// <param name="source">An observable sequence whose elements to group.</param>
+ /// <param name="keySelector">A function to extract the key for each element.</param>
+ /// <param name="durationSelector">A function to signal the expiration of a group.</param>
+ /// <param name="capacity">The initial number of elements that the underlying dictionary can contain.</param>
+ /// <param name="comparer">An equality comparer to compare keys with.</param>
+ /// <returns>
+ /// A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.
+ /// If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered.
+ /// </returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="durationSelector" /> or <paramref name="comparer" /> is null.</exception>
+ /// <exception cref="T:System.ArgumentOutOfRangeException">
+ /// <paramref name="capacity" /> is less than 0.</exception>
+ public static IQbservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(this IQbservable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>>> durationSelector, int capacity, IEqualityComparer<TKey> comparer)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (keySelector == null)
+ throw new ArgumentNullException("keySelector");
+ if (durationSelector == null)
+ throw new ArgumentNullException("durationSelector");
+ if (comparer == null)
+ throw new ArgumentNullException("comparer");
+
+ return source.Provider.CreateQuery<IGroupedObservable<TKey, TSource>>(
+ Expression.Call(
+ null,
+#if CRIPPLED_REFLECTION
+ InfoOf(() => Qbservable.GroupByUntil<TSource, TKey, TDuration>(default(IQbservable<TSource>), default(Expression<Func<TSource, TKey>>), default(Expression<Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>>>), default(int), default(IEqualityComparer<TKey>))),
+#else
+ ((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TKey), typeof(TDuration)),
+#endif
+ source.Expression,
+ keySelector,
+ durationSelector,
+ Expression.Constant(capacity, typeof(int)),
+ Expression.Constant(comparer, typeof(IEqualityComparer<TKey>))
+ )
+ );
+ }
+
+ /// <summary>
/// Groups the elements of an observable sequence according to a specified key selector function and comparer.
/// A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same
/// key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.
@@ -7584,6 +7836,110 @@ namespace System.Reactive.Linq
}
/// <summary>
+ /// Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function and selects the resulting elements by using a specified function.
+ /// A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same
+ /// key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
+ /// <typeparam name="TElement">The type of the elements within the groups computed for each element in the source sequence.</typeparam>
+ /// <typeparam name="TDuration">The type of the elements in the duration sequences obtained for each group to denote its lifetime.</typeparam>
+ /// <param name="source">An observable sequence whose elements to group.</param>
+ /// <param name="keySelector">A function to extract the key for each element.</param>
+ /// <param name="elementSelector">A function to map each source element to an element in an observable group.</param>
+ /// <param name="durationSelector">A function to signal the expiration of a group.</param>
+ /// <param name="capacity">The initial number of elements that the underlying dictionary can contain.</param>
+ /// <returns>
+ /// A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.
+ /// If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered.
+ /// </returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="elementSelector" /> or <paramref name="durationSelector" /> is null.</exception>
+ /// <exception cref="T:System.ArgumentOutOfRangeException">
+ /// <paramref name="capacity" /> is less than 0.</exception>
+ public static IQbservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IQbservable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<Func<TSource, TElement>> elementSelector, Expression<Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>> durationSelector, int capacity)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (keySelector == null)
+ throw new ArgumentNullException("keySelector");
+ if (elementSelector == null)
+ throw new ArgumentNullException("elementSelector");
+ if (durationSelector == null)
+ throw new ArgumentNullException("durationSelector");
+
+ return source.Provider.CreateQuery<IGroupedObservable<TKey, TElement>>(
+ Expression.Call(
+ null,
+#if CRIPPLED_REFLECTION
+ InfoOf(() => Qbservable.GroupByUntil<TSource, TKey, TElement, TDuration>(default(IQbservable<TSource>), default(Expression<Func<TSource, TKey>>), default(Expression<Func<TSource, TElement>>), default(Expression<Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>>), default(int))),
+#else
+ ((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TKey), typeof(TElement), typeof(TDuration)),
+#endif
+ source.Expression,
+ keySelector,
+ elementSelector,
+ durationSelector,
+ Expression.Constant(capacity, typeof(int))
+ )
+ );
+ }
+
+ /// <summary>
+ /// Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function and comparer and selects the resulting elements by using a specified function.
+ /// A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same
+ /// key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
+ /// <typeparam name="TElement">The type of the elements within the groups computed for each element in the source sequence.</typeparam>
+ /// <typeparam name="TDuration">The type of the elements in the duration sequences obtained for each group to denote its lifetime.</typeparam>
+ /// <param name="source">An observable sequence whose elements to group.</param>
+ /// <param name="keySelector">A function to extract the key for each element.</param>
+ /// <param name="elementSelector">A function to map each source element to an element in an observable group.</param>
+ /// <param name="durationSelector">A function to signal the expiration of a group.</param>
+ /// <param name="capacity">The initial number of elements that the underlying dictionary can contain.</param>
+ /// <param name="comparer">An equality comparer to compare keys with.</param>
+ /// <returns>
+ /// A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.
+ /// If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered.
+ /// </returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="elementSelector" /> or <paramref name="durationSelector" /> or <paramref name="comparer" /> is null.</exception>
+ /// <exception cref="T:System.ArgumentOutOfRangeException">
+ /// <paramref name="capacity" /> is less than 0.</exception>
+ public static IQbservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IQbservable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<Func<TSource, TElement>> elementSelector, Expression<Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>> durationSelector, int capacity, IEqualityComparer<TKey> comparer)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (keySelector == null)
+ throw new ArgumentNullException("keySelector");
+ if (elementSelector == null)
+ throw new ArgumentNullException("elementSelector");
+ if (durationSelector == null)
+ throw new ArgumentNullException("durationSelector");
+ if (comparer == null)
+ throw new ArgumentNullException("comparer");
+
+ return source.Provider.CreateQuery<IGroupedObservable<TKey, TElement>>(
+ Expression.Call(
+ null,
+#if CRIPPLED_REFLECTION
+ InfoOf(() => Qbservable.GroupByUntil<TSource, TKey, TElement, TDuration>(default(IQbservable<TSource>), default(Expression<Func<TSource, TKey>>), default(Expression<Func<TSource, TElement>>), default(Expression<Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>>), default(int), default(IEqualityComparer<TKey>))),
+#else
+ ((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TKey), typeof(TElement), typeof(TDuration)),
+#endif
+ source.Expression,
+ keySelector,
+ elementSelector,
+ durationSelector,
+ Expression.Constant(capacity, typeof(int)),
+ Expression.Constant(comparer, typeof(IEqualityComparer<TKey>))
+ )
+ );
+ }
+
+ /// <summary>
/// Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function.
/// A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same
/// key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.
@@ -8508,27 +8864,27 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Invokes a transform function on each element of a sequence and returns the maximum nullable <see cref="T:System.Int32" /> value.
+ /// Invokes a transform function on each element of a sequence and returns the maximum <see cref="T:System.Double" /> value.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values to determine the maximum value of.</param>
/// <param name="selector">A transform function to apply to each element.</param>
- /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Int32&gt;" /> that corresponds to the maximum value in the source sequence.</returns>
+ /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Double" /> that corresponds to the maximum value in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<int?> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, int?>> selector)
+ public static IQbservable<double> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, double>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<int?>(
+ return source.Provider.CreateQuery<double>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, int?>>))),
+ InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, double>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -8539,27 +8895,27 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Invokes a transform function on each element of a sequence and returns the maximum nullable <see cref="T:System.Int64" /> value.
+ /// Invokes a transform function on each element of a sequence and returns the maximum <see cref="T:System.Single" /> value.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values to determine the maximum value of.</param>
/// <param name="selector">A transform function to apply to each element.</param>
- /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Int64&gt;" /> that corresponds to the maximum value in the source sequence.</returns>
+ /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Single" /> that corresponds to the maximum value in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<long?> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, long?>> selector)
+ public static IQbservable<float> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, float>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<long?>(
+ return source.Provider.CreateQuery<float>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, long?>>))),
+ InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, float>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -8570,27 +8926,27 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Invokes a transform function on each element of a sequence and returns the maximum <see cref="T:System.Double" /> value.
+ /// Invokes a transform function on each element of a sequence and returns the maximum <see cref="T:System.Decimal" /> value.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values to determine the maximum value of.</param>
/// <param name="selector">A transform function to apply to each element.</param>
- /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Double" /> that corresponds to the maximum value in the source sequence.</returns>
+ /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Decimal" /> that corresponds to the maximum value in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<double> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, double>> selector)
+ public static IQbservable<decimal> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, decimal>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<double>(
+ return source.Provider.CreateQuery<decimal>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, double>>))),
+ InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, decimal>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -8601,27 +8957,27 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Invokes a transform function on each element of a sequence and returns the maximum <see cref="T:System.Single" /> value.
+ /// Invokes a transform function on each element of a sequence and returns the maximum <see cref="T:System.Int32" /> value.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values to determine the maximum value of.</param>
/// <param name="selector">A transform function to apply to each element.</param>
- /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Single" /> that corresponds to the maximum value in the source sequence.</returns>
+ /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Int32" /> that corresponds to the maximum value in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<float> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, float>> selector)
+ public static IQbservable<int> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, int>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<float>(
+ return source.Provider.CreateQuery<int>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, float>>))),
+ InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, int>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -8632,27 +8988,27 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Invokes a transform function on each element of a sequence and returns the maximum <see cref="T:System.Decimal" /> value.
+ /// Invokes a transform function on each element of a sequence and returns the maximum <see cref="T:System.Int64" /> value.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values to determine the maximum value of.</param>
/// <param name="selector">A transform function to apply to each element.</param>
- /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Decimal" /> that corresponds to the maximum value in the source sequence.</returns>
+ /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Int64" /> that corresponds to the maximum value in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<decimal> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, decimal>> selector)
+ public static IQbservable<long> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, long>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<decimal>(
+ return source.Provider.CreateQuery<long>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, decimal>>))),
+ InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, long>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -8663,27 +9019,27 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Invokes a transform function on each element of a sequence and returns the maximum <see cref="T:System.Int32" /> value.
+ /// Invokes a transform function on each element of a sequence and returns the maximum nullable <see cref="T:System.Double" /> value.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values to determine the maximum value of.</param>
/// <param name="selector">A transform function to apply to each element.</param>
- /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Int32" /> that corresponds to the maximum value in the source sequence.</returns>
+ /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Double&gt;" /> that corresponds to the maximum value in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<int> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, int>> selector)
+ public static IQbservable<double?> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, double?>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<int>(
+ return source.Provider.CreateQuery<double?>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, int>>))),
+ InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, double?>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -8694,27 +9050,27 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Invokes a transform function on each element of a sequence and returns the maximum <see cref="T:System.Int64" /> value.
+ /// Invokes a transform function on each element of a sequence and returns the maximum nullable <see cref="T:System.Single" /> value.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values to determine the maximum value of.</param>
/// <param name="selector">A transform function to apply to each element.</param>
- /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Int64" /> that corresponds to the maximum value in the source sequence.</returns>
+ /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Single&gt;" /> that corresponds to the maximum value in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<long> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, long>> selector)
+ public static IQbservable<float?> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, float?>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<long>(
+ return source.Provider.CreateQuery<float?>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, long>>))),
+ InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, float?>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -8725,27 +9081,27 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Invokes a transform function on each element of a sequence and returns the maximum nullable <see cref="T:System.Double" /> value.
+ /// Invokes a transform function on each element of a sequence and returns the maximum nullable <see cref="T:System.Decimal" /> value.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values to determine the maximum value of.</param>
/// <param name="selector">A transform function to apply to each element.</param>
- /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Double&gt;" /> that corresponds to the maximum value in the source sequence.</returns>
+ /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Decimal&gt;" /> that corresponds to the maximum value in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<double?> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, double?>> selector)
+ public static IQbservable<decimal?> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, decimal?>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<double?>(
+ return source.Provider.CreateQuery<decimal?>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, double?>>))),
+ InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, decimal?>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -8756,27 +9112,27 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Invokes a transform function on each element of a sequence and returns the maximum nullable <see cref="T:System.Single" /> value.
+ /// Invokes a transform function on each element of a sequence and returns the maximum nullable <see cref="T:System.Int32" /> value.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values to determine the maximum value of.</param>
/// <param name="selector">A transform function to apply to each element.</param>
- /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Single&gt;" /> that corresponds to the maximum value in the source sequence.</returns>
+ /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Int32&gt;" /> that corresponds to the maximum value in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<float?> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, float?>> selector)
+ public static IQbservable<int?> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, int?>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<float?>(
+ return source.Provider.CreateQuery<int?>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, float?>>))),
+ InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, int?>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -8787,27 +9143,27 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Invokes a transform function on each element of a sequence and returns the maximum nullable <see cref="T:System.Decimal" /> value.
+ /// Invokes a transform function on each element of a sequence and returns the maximum nullable <see cref="T:System.Int64" /> value.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values to determine the maximum value of.</param>
/// <param name="selector">A transform function to apply to each element.</param>
- /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Decimal&gt;" /> that corresponds to the maximum value in the source sequence.</returns>
+ /// <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Int64&gt;" /> that corresponds to the maximum value in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<decimal?> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, decimal?>> selector)
+ public static IQbservable<long?> Max<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, long?>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<decimal?>(
+ return source.Provider.CreateQuery<long?>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, decimal?>>))),
+ InfoOf(() => Qbservable.Max<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, long?>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -11431,10 +11787,10 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
+ /// Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
- /// <typeparam name="TCollection">The type of the elements in the projected intermediate sequences.</typeparam>
+ /// <typeparam name="TCollection">The type of the elements in the projected intermediate enumerable sequences.</typeparam>
/// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.</typeparam>
/// <param name="source">An observable sequence of elements to project.</param>
/// <param name="collectionSelector">A transform function to apply to each element.</param>
@@ -11442,7 +11798,8 @@ namespace System.Reactive.Linq
/// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="collectionSelector" /> or <paramref name="resultSelector" /> is null.</exception>
- public static IQbservable<TResult> SelectMany<TSource, TCollection, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, IObservable<TCollection>>> collectionSelector, Expression<Func<TSource, TCollection, TResult>> resultSelector)
+ /// <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="M:System.Reactive.Linq.Observable.ToObservable``1(System.Collections.Generic.IEnumerable{``0})" /> conversion.</remarks>
+ public static IQbservable<TResult> SelectMany<TSource, TCollection, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, IEnumerable<TCollection>>> collectionSelector, Expression<Func<TSource, TCollection, TResult>> resultSelector)
{
if (source == null)
throw new ArgumentNullException("source");
@@ -11455,7 +11812,7 @@ namespace System.Reactive.Linq
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.SelectMany<TSource, TCollection, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, IObservable<TCollection>>>), default(Expression<Func<TSource, TCollection, TResult>>))),
+ InfoOf(() => Qbservable.SelectMany<TSource, TCollection, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, IEnumerable<TCollection>>>), default(Expression<Func<TSource, TCollection, TResult>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TCollection), typeof(TResult)),
#endif
@@ -11467,18 +11824,19 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
+ /// Projects each element of an observable sequence to an enumerable sequence by incorporating the element's index, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
- /// <typeparam name="TCollection">The type of the elements in the projected intermediate sequences.</typeparam>
+ /// <typeparam name="TCollection">The type of the elements in the projected intermediate enumerable sequences.</typeparam>
/// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.</typeparam>
/// <param name="source">An observable sequence of elements to project.</param>
- /// <param name="collectionSelector">A transform function to apply to each source element; the second parameter of the function represents the index of the source element.</param>
- /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
+ /// <param name="collectionSelector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element and the fourth parameter represents the index of the intermediate element.</param>
/// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="collectionSelector" /> or <paramref name="resultSelector" /> is null.</exception>
- public static IQbservable<TResult> SelectMany<TSource, TCollection, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, IObservable<TCollection>>> collectionSelector, Expression<Func<TSource, int, TCollection, int, TResult>> resultSelector)
+ /// <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="M:System.Reactive.Linq.Observable.ToObservable``1(System.Collections.Generic.IEnumerable{``0})" /> conversion.</remarks>
+ public static IQbservable<TResult> SelectMany<TSource, TCollection, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, IEnumerable<TCollection>>> collectionSelector, Expression<Func<TSource, int, TCollection, int, TResult>> resultSelector)
{
if (source == null)
throw new ArgumentNullException("source");
@@ -11491,7 +11849,7 @@ namespace System.Reactive.Linq
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.SelectMany<TSource, TCollection, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, int, IObservable<TCollection>>>), default(Expression<Func<TSource, int, TCollection, int, TResult>>))),
+ InfoOf(() => Qbservable.SelectMany<TSource, TCollection, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, int, IEnumerable<TCollection>>>), default(Expression<Func<TSource, int, TCollection, int, TResult>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TCollection), typeof(TResult)),
#endif
@@ -11503,10 +11861,10 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
+ /// Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
- /// <typeparam name="TCollection">The type of the elements in the projected intermediate enumerable sequences.</typeparam>
+ /// <typeparam name="TCollection">The type of the elements in the projected intermediate sequences.</typeparam>
/// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.</typeparam>
/// <param name="source">An observable sequence of elements to project.</param>
/// <param name="collectionSelector">A transform function to apply to each element.</param>
@@ -11514,8 +11872,7 @@ namespace System.Reactive.Linq
/// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="collectionSelector" /> or <paramref name="resultSelector" /> is null.</exception>
- /// <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="M:System.Reactive.Linq.Observable.ToObservable``1(System.Collections.Generic.IEnumerable{``0})" /> conversion.</remarks>
- public static IQbservable<TResult> SelectMany<TSource, TCollection, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, IEnumerable<TCollection>>> collectionSelector, Expression<Func<TSource, TCollection, TResult>> resultSelector)
+ public static IQbservable<TResult> SelectMany<TSource, TCollection, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, IObservable<TCollection>>> collectionSelector, Expression<Func<TSource, TCollection, TResult>> resultSelector)
{
if (source == null)
throw new ArgumentNullException("source");
@@ -11528,7 +11885,7 @@ namespace System.Reactive.Linq
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.SelectMany<TSource, TCollection, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, IEnumerable<TCollection>>>), default(Expression<Func<TSource, TCollection, TResult>>))),
+ InfoOf(() => Qbservable.SelectMany<TSource, TCollection, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, IObservable<TCollection>>>), default(Expression<Func<TSource, TCollection, TResult>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TCollection), typeof(TResult)),
#endif
@@ -11540,19 +11897,18 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
+ /// Projects each element of an observable sequence to an observable sequence by incorporating the element's index, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
- /// <typeparam name="TCollection">The type of the elements in the projected intermediate enumerable sequences.</typeparam>
+ /// <typeparam name="TCollection">The type of the elements in the projected intermediate sequences.</typeparam>
/// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.</typeparam>
/// <param name="source">An observable sequence of elements to project.</param>
/// <param name="collectionSelector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
- /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element and the fourth parameter represents the index of the intermediate element.</param>
/// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="collectionSelector" /> or <paramref name="resultSelector" /> is null.</exception>
- /// <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="M:System.Reactive.Linq.Observable.ToObservable``1(System.Collections.Generic.IEnumerable{``0})" /> conversion.</remarks>
- public static IQbservable<TResult> SelectMany<TSource, TCollection, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, IEnumerable<TCollection>>> collectionSelector, Expression<Func<TSource, int, TCollection, int, TResult>> resultSelector)
+ public static IQbservable<TResult> SelectMany<TSource, TCollection, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, IObservable<TCollection>>> collectionSelector, Expression<Func<TSource, int, TCollection, int, TResult>> resultSelector)
{
if (source == null)
throw new ArgumentNullException("source");
@@ -11565,7 +11921,7 @@ namespace System.Reactive.Linq
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.SelectMany<TSource, TCollection, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, int, IEnumerable<TCollection>>>), default(Expression<Func<TSource, int, TCollection, int, TResult>>))),
+ InfoOf(() => Qbservable.SelectMany<TSource, TCollection, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, int, IObservable<TCollection>>>), default(Expression<Func<TSource, int, TCollection, int, TResult>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TCollection), typeof(TResult)),
#endif
@@ -11647,18 +12003,18 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence.
+ /// Projects each notification of an observable sequence to an observable sequence by incorporating the element's index and merges the resulting observable sequences into one observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <typeparam name="TResult">The type of the elements in the projected inner sequences and the elements in the merged result sequence.</typeparam>
/// <param name="source">An observable sequence of notifications to project.</param>
- /// <param name="onNext">A transform function to apply to each element; the second parameter represents the index of the source element.</param>
- /// <param name="onError">A transform function to apply when an error occurs in the source sequence; the second parameter represents the index of the source element.</param>
- /// <param name="onCompleted">A transform function to apply when the end of the source sequence is reached; the second parameter represents the number of elements observed.</param>
+ /// <param name="onNext">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="onError">A transform function to apply when an error occurs in the source sequence.</param>
+ /// <param name="onCompleted">A transform function to apply when the end of the source sequence is reached.</param>
/// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="onNext" /> or <paramref name="onError" /> or <paramref name="onCompleted" /> is null.</exception>
- public static IQbservable<TResult> SelectMany<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, IObservable<TResult>>> onNext, Expression<Func<Exception, int, IObservable<TResult>>> onError, Expression<Func<int, IObservable<TResult>>> onCompleted)
+ public static IQbservable<TResult> SelectMany<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, IObservable<TResult>>> onNext, Expression<Func<Exception, IObservable<TResult>>> onError, Expression<Func<IObservable<TResult>>> onCompleted)
{
if (source == null)
throw new ArgumentNullException("source");
@@ -11673,7 +12029,7 @@ namespace System.Reactive.Linq
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.SelectMany<TSource, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, int, IObservable<TResult>>>), default(Expression<Func<Exception, int, IObservable<TResult>>>), default(Expression<Func<int, IObservable<TResult>>>))),
+ InfoOf(() => Qbservable.SelectMany<TSource, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, int, IObservable<TResult>>>), default(Expression<Func<Exception, IObservable<TResult>>>), default(Expression<Func<IObservable<TResult>>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TResult)),
#endif
@@ -11686,6 +12042,70 @@ namespace System.Reactive.Linq
}
/// <summary>
+ /// Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
+ /// <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="M:System.Reactive.Linq.Observable.ToObservable``1(System.Collections.Generic.IEnumerable{``0})" /> conversion.</remarks>
+ public static IQbservable<TResult> SelectMany<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, IEnumerable<TResult>>> selector)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (selector == null)
+ throw new ArgumentNullException("selector");
+
+ return source.Provider.CreateQuery<TResult>(
+ Expression.Call(
+ null,
+#if CRIPPLED_REFLECTION
+ InfoOf(() => Qbservable.SelectMany<TSource, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, IEnumerable<TResult>>>))),
+#else
+ ((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TResult)),
+#endif
+ source.Expression,
+ selector
+ )
+ );
+ }
+
+ /// <summary>
+ /// Projects each element of an observable sequence to an enumerable sequence by incorporating the element's index and concatenates the resulting enumerable sequences into one observable sequence.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="selector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
+ /// <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="M:System.Reactive.Linq.Observable.ToObservable``1(System.Collections.Generic.IEnumerable{``0})" /> conversion.</remarks>
+ public static IQbservable<TResult> SelectMany<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, IEnumerable<TResult>>> selector)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (selector == null)
+ throw new ArgumentNullException("selector");
+
+ return source.Provider.CreateQuery<TResult>(
+ Expression.Call(
+ null,
+#if CRIPPLED_REFLECTION
+ InfoOf(() => Qbservable.SelectMany<TSource, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, int, IEnumerable<TResult>>>))),
+#else
+ ((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TResult)),
+#endif
+ source.Expression,
+ selector
+ )
+ );
+ }
+
+ /// <summary>
/// Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
@@ -11717,12 +12137,12 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence.
+ /// Projects each element of an observable sequence to an observable sequence by incorporating the element's index and merges the resulting observable sequences into one observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <typeparam name="TResult">The type of the elements in the projected inner sequences and the elements in the merged result sequence.</typeparam>
/// <param name="source">An observable sequence of elements to project.</param>
- /// <param name="selector">A transform function to apply to each source element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="selector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
/// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
@@ -11783,17 +12203,17 @@ namespace System.Reactive.Linq
#if !NO_TPL
/// <summary>
- /// Projects each element of an observable sequence to a task with cancellation support and merges all of the task results into one observable sequence.
+ /// Projects each element of an observable sequence to a task by incorporating the element's index and merges all of the task results into one observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <typeparam name="TResult">The type of the result produced by the projected tasks and the elements in the merged result sequence.</typeparam>
/// <param name="source">An observable sequence of elements to project.</param>
- /// <param name="selector">A transform function to apply to each element.</param>
+ /// <param name="selector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
/// <returns>An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.</returns>
/// <remarks>This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})" />.</remarks>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
- public static IQbservable<TResult> SelectMany<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, CancellationToken, Task<TResult>>> selector)
+ public static IQbservable<TResult> SelectMany<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, Task<TResult>>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
@@ -11804,7 +12224,7 @@ namespace System.Reactive.Linq
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.SelectMany<TSource, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, CancellationToken, Task<TResult>>>))),
+ InfoOf(() => Qbservable.SelectMany<TSource, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, int, Task<TResult>>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TResult)),
#endif
@@ -11815,18 +12235,19 @@ namespace System.Reactive.Linq
}
#endif
+#if !NO_TPL
/// <summary>
- /// Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence.
+ /// Projects each element of an observable sequence to a task with cancellation support and merges all of the task results into one observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
- /// <typeparam name="TResult">The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the result produced by the projected tasks and the elements in the merged result sequence.</typeparam>
/// <param name="source">An observable sequence of elements to project.</param>
/// <param name="selector">A transform function to apply to each element.</param>
- /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
+ /// <returns>An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.</returns>
+ /// <remarks>This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})" />.</remarks>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
- /// <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="M:System.Reactive.Linq.Observable.ToObservable``1(System.Collections.Generic.IEnumerable{``0})" /> conversion.</remarks>
- public static IQbservable<TResult> SelectMany<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, IEnumerable<TResult>>> selector)
+ public static IQbservable<TResult> SelectMany<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, CancellationToken, Task<TResult>>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
@@ -11837,7 +12258,7 @@ namespace System.Reactive.Linq
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.SelectMany<TSource, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, IEnumerable<TResult>>>))),
+ InfoOf(() => Qbservable.SelectMany<TSource, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, CancellationToken, Task<TResult>>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TResult)),
#endif
@@ -11846,20 +12267,21 @@ namespace System.Reactive.Linq
)
);
}
+#endif
+#if !NO_TPL
/// <summary>
- /// Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence.
- /// The index of each source element is used in the projected form of that element.
+ /// Projects each element of an observable sequence to a task by incorporating the element's index with cancellation support and merges all of the task results into one observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
- /// <typeparam name="TResult">The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence.</typeparam>
+ /// <typeparam name="TResult">The type of the result produced by the projected tasks and the elements in the merged result sequence.</typeparam>
/// <param name="source">An observable sequence of elements to project.</param>
- /// <param name="selector">A transform function to apply to each source element; the second parameter of the function represents the index of the source element.</param>
- /// <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
+ /// <param name="selector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.</returns>
+ /// <remarks>This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})" />.</remarks>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
- /// <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="M:System.Reactive.Linq.Observable.ToObservable``1(System.Collections.Generic.IEnumerable{``0})" /> conversion.</remarks>
- public static IQbservable<TResult> SelectMany<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, IEnumerable<TResult>>> selector)
+ public static IQbservable<TResult> SelectMany<TSource, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, CancellationToken, Task<TResult>>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
@@ -11870,7 +12292,7 @@ namespace System.Reactive.Linq
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.SelectMany<TSource, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, int, IEnumerable<TResult>>>))),
+ InfoOf(() => Qbservable.SelectMany<TSource, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, int, CancellationToken, Task<TResult>>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TResult)),
#endif
@@ -11879,6 +12301,85 @@ namespace System.Reactive.Linq
)
);
}
+#endif
+
+#if !NO_TPL
+ /// <summary>
+ /// Projects each element of an observable sequence to a task with cancellation support, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TTaskResult">The type of the results produced by the projected intermediate tasks.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="taskSelector">A transform function to apply to each element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
+ /// <returns>An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="taskSelector" /> or <paramref name="resultSelector" /> is null.</exception>
+ /// <remarks>This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})" />.</remarks>
+ public static IQbservable<TResult> SelectMany<TSource, TTaskResult, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, CancellationToken, Task<TTaskResult>>> taskSelector, Expression<Func<TSource, TTaskResult, TResult>> resultSelector)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (taskSelector == null)
+ throw new ArgumentNullException("taskSelector");
+ if (resultSelector == null)
+ throw new ArgumentNullException("resultSelector");
+
+ return source.Provider.CreateQuery<TResult>(
+ Expression.Call(
+ null,
+#if CRIPPLED_REFLECTION
+ InfoOf(() => Qbservable.SelectMany<TSource, TTaskResult, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, CancellationToken, Task<TTaskResult>>>), default(Expression<Func<TSource, TTaskResult, TResult>>))),
+#else
+ ((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TTaskResult), typeof(TResult)),
+#endif
+ source.Expression,
+ taskSelector,
+ resultSelector
+ )
+ );
+ }
+#endif
+
+#if !NO_TPL
+ /// <summary>
+ /// Projects each element of an observable sequence to a task by incorporating the element's index with cancellation support, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <typeparam name="TTaskResult">The type of the results produced by the projected intermediate tasks.</typeparam>
+ /// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.</typeparam>
+ /// <param name="source">An observable sequence of elements to project.</param>
+ /// <param name="taskSelector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element.</param>
+ /// <returns>An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.</returns>
+ /// <exception cref="T:System.ArgumentNullException">
+ /// <paramref name="source" /> or <paramref name="taskSelector" /> or <paramref name="resultSelector" /> is null.</exception>
+ /// <remarks>This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})" />.</remarks>
+ public static IQbservable<TResult> SelectMany<TSource, TTaskResult, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, CancellationToken, Task<TTaskResult>>> taskSelector, Expression<Func<TSource, int, TTaskResult, TResult>> resultSelector)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (taskSelector == null)
+ throw new ArgumentNullException("taskSelector");
+ if (resultSelector == null)
+ throw new ArgumentNullException("resultSelector");
+
+ return source.Provider.CreateQuery<TResult>(
+ Expression.Call(
+ null,
+#if CRIPPLED_REFLECTION
+ InfoOf(() => Qbservable.SelectMany<TSource, TTaskResult, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, int, CancellationToken, Task<TTaskResult>>>), default(Expression<Func<TSource, int, TTaskResult, TResult>>))),
+#else
+ ((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TTaskResult), typeof(TResult)),
+#endif
+ source.Expression,
+ taskSelector,
+ resultSelector
+ )
+ );
+ }
+#endif
#if !NO_TPL
/// <summary>
@@ -11921,19 +12422,19 @@ namespace System.Reactive.Linq
#if !NO_TPL
/// <summary>
- /// Projects each element of an observable sequence to a task with cancellation support, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.
+ /// Projects each element of an observable sequence to a task by incorporating the element's index, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <typeparam name="TTaskResult">The type of the results produced by the projected intermediate tasks.</typeparam>
/// <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.</typeparam>
/// <param name="source">An observable sequence of elements to project.</param>
- /// <param name="taskSelector">A transform function to apply to each element.</param>
- /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
+ /// <param name="taskSelector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
+ /// <param name="resultSelector">A transform function to apply to each element of the intermediate sequence; the second parameter of the function represents the index of the source element.</param>
/// <returns>An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="taskSelector" /> or <paramref name="resultSelector" /> is null.</exception>
/// <remarks>This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})" />.</remarks>
- public static IQbservable<TResult> SelectMany<TSource, TTaskResult, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, CancellationToken, Task<TTaskResult>>> taskSelector, Expression<Func<TSource, TTaskResult, TResult>> resultSelector)
+ public static IQbservable<TResult> SelectMany<TSource, TTaskResult, TResult>(this IQbservable<TSource> source, Expression<Func<TSource, int, Task<TTaskResult>>> taskSelector, Expression<Func<TSource, int, TTaskResult, TResult>> resultSelector)
{
if (source == null)
throw new ArgumentNullException("source");
@@ -11946,7 +12447,7 @@ namespace System.Reactive.Linq
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.SelectMany<TSource, TTaskResult, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, CancellationToken, Task<TTaskResult>>>), default(Expression<Func<TSource, TTaskResult, TResult>>))),
+ InfoOf(() => Qbservable.SelectMany<TSource, TTaskResult, TResult>(default(IQbservable<TSource>), default(Expression<Func<TSource, int, Task<TTaskResult>>>), default(Expression<Func<TSource, int, TTaskResult, TResult>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource), typeof(TTaskResult), typeof(TResult)),
#endif
@@ -13403,7 +13904,7 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Computes the sum of a sequence of <see cref="T:System.Double" /> values that are obtained by invoking a transform function on each element of the input sequence.
+ /// Computes the sum of a sequence of nullable <see cref="T:System.Int32" /> values that are obtained by invoking a transform function on each element of the input sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values that are used to calculate a sum.</param>
@@ -13411,19 +13912,20 @@ namespace System.Reactive.Linq
/// <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
+ /// <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Int32.MaxValue" />.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<double> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, double>> selector)
+ public static IQbservable<int?> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, int?>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<double>(
+ return source.Provider.CreateQuery<int?>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, double>>))),
+ InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, int?>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -13434,7 +13936,7 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Computes the sum of a sequence of <see cref="T:System.Single" /> values that are obtained by invoking a transform function on each element of the input sequence.
+ /// Computes the sum of a sequence of nullable <see cref="T:System.Int64" /> values that are obtained by invoking a transform function on each element of the input sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values that are used to calculate a sum.</param>
@@ -13442,19 +13944,20 @@ namespace System.Reactive.Linq
/// <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
+ /// <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Int64.MaxValue" />.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<float> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, float>> selector)
+ public static IQbservable<long?> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, long?>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<float>(
+ return source.Provider.CreateQuery<long?>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, float>>))),
+ InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, long?>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -13465,7 +13968,7 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Computes the sum of a sequence of <see cref="T:System.Decimal" /> values that are obtained by invoking a transform function on each element of the input sequence.
+ /// Computes the sum of a sequence of <see cref="T:System.Double" /> values that are obtained by invoking a transform function on each element of the input sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values that are used to calculate a sum.</param>
@@ -13473,20 +13976,19 @@ namespace System.Reactive.Linq
/// <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
- /// <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Decimal.MaxValue" />.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<decimal> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, decimal>> selector)
+ public static IQbservable<double> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, double>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<decimal>(
+ return source.Provider.CreateQuery<double>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, decimal>>))),
+ InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, double>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -13497,7 +13999,7 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Computes the sum of a sequence of <see cref="T:System.Int32" /> values that are obtained by invoking a transform function on each element of the input sequence.
+ /// Computes the sum of a sequence of <see cref="T:System.Single" /> values that are obtained by invoking a transform function on each element of the input sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values that are used to calculate a sum.</param>
@@ -13505,20 +14007,19 @@ namespace System.Reactive.Linq
/// <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
- /// <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Int32.MaxValue" />.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<int> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, int>> selector)
+ public static IQbservable<float> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, float>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<int>(
+ return source.Provider.CreateQuery<float>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, int>>))),
+ InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, float>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -13529,7 +14030,7 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Computes the sum of a sequence of <see cref="T:System.Int64" /> values that are obtained by invoking a transform function on each element of the input sequence.
+ /// Computes the sum of a sequence of <see cref="T:System.Decimal" /> values that are obtained by invoking a transform function on each element of the input sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values that are used to calculate a sum.</param>
@@ -13537,20 +14038,20 @@ namespace System.Reactive.Linq
/// <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
- /// <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Int64.MaxValue" />.</exception>
+ /// <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Decimal.MaxValue" />.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<long> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, long>> selector)
+ public static IQbservable<decimal> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, decimal>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<long>(
+ return source.Provider.CreateQuery<decimal>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, long>>))),
+ InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, decimal>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -13561,7 +14062,7 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Computes the sum of a sequence of nullable <see cref="T:System.Double" /> values that are obtained by invoking a transform function on each element of the input sequence.
+ /// Computes the sum of a sequence of <see cref="T:System.Int32" /> values that are obtained by invoking a transform function on each element of the input sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values that are used to calculate a sum.</param>
@@ -13569,19 +14070,20 @@ namespace System.Reactive.Linq
/// <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
+ /// <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Int32.MaxValue" />.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<double?> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, double?>> selector)
+ public static IQbservable<int> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, int>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<double?>(
+ return source.Provider.CreateQuery<int>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, double?>>))),
+ InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, int>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -13592,7 +14094,7 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Computes the sum of a sequence of nullable <see cref="T:System.Single" /> values that are obtained by invoking a transform function on each element of the input sequence.
+ /// Computes the sum of a sequence of <see cref="T:System.Int64" /> values that are obtained by invoking a transform function on each element of the input sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values that are used to calculate a sum.</param>
@@ -13600,19 +14102,20 @@ namespace System.Reactive.Linq
/// <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
+ /// <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Int64.MaxValue" />.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<float?> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, float?>> selector)
+ public static IQbservable<long> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, long>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<float?>(
+ return source.Provider.CreateQuery<long>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, float?>>))),
+ InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, long>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -13623,7 +14126,7 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Computes the sum of a sequence of nullable <see cref="T:System.Decimal" /> values that are obtained by invoking a transform function on each element of the input sequence.
+ /// Computes the sum of a sequence of nullable <see cref="T:System.Double" /> values that are obtained by invoking a transform function on each element of the input sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values that are used to calculate a sum.</param>
@@ -13631,20 +14134,19 @@ namespace System.Reactive.Linq
/// <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
- /// <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Decimal.MaxValue" />.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<decimal?> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, decimal?>> selector)
+ public static IQbservable<double?> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, double?>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<decimal?>(
+ return source.Provider.CreateQuery<double?>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, decimal?>>))),
+ InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, double?>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -13655,7 +14157,7 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Computes the sum of a sequence of nullable <see cref="T:System.Int32" /> values that are obtained by invoking a transform function on each element of the input sequence.
+ /// Computes the sum of a sequence of nullable <see cref="T:System.Single" /> values that are obtained by invoking a transform function on each element of the input sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values that are used to calculate a sum.</param>
@@ -13663,20 +14165,19 @@ namespace System.Reactive.Linq
/// <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
- /// <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Int32.MaxValue" />.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<int?> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, int?>> selector)
+ public static IQbservable<float?> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, float?>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<int?>(
+ return source.Provider.CreateQuery<float?>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, int?>>))),
+ InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, float?>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -13687,7 +14188,7 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Computes the sum of a sequence of nullable <see cref="T:System.Int64" /> values that are obtained by invoking a transform function on each element of the input sequence.
+ /// Computes the sum of a sequence of nullable <see cref="T:System.Decimal" /> values that are obtained by invoking a transform function on each element of the input sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">A sequence of values that are used to calculate a sum.</param>
@@ -13695,20 +14196,20 @@ namespace System.Reactive.Linq
/// <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
- /// <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Int64.MaxValue" />.</exception>
+ /// <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Decimal.MaxValue" />.</exception>
/// <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
- public static IQbservable<long?> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, long?>> selector)
+ public static IQbservable<decimal?> Sum<TSource>(this IQbservable<TSource> source, Expression<Func<TSource, decimal?>> selector)
{
if (source == null)
throw new ArgumentNullException("source");
if (selector == null)
throw new ArgumentNullException("selector");
- return source.Provider.CreateQuery<long?>(
+ return source.Provider.CreateQuery<decimal?>(
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, long?>>))),
+ InfoOf(() => Qbservable.Sum<TSource>(default(IQbservable<TSource>), default(Expression<Func<TSource, decimal?>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource)),
#endif
@@ -13719,8 +14220,10 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Switches between the inner observable sequences such that the resulting sequence always produces elements from the most recently received inner observable sequence.
- /// Each time a new inner observable sequence is received, the previous inner observable sequence is unsubscribed from.
+ /// Transforms an observable sequence of observable sequences into an observable sequence
+ /// producing values only from the most recent observable sequence.
+ /// Each time a new inner observable sequence is received, unsubscribe from the
+ /// previous inner observable sequence.
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
/// <param name="sources">Observable sequence of inner observable sequences.</param>
@@ -13747,7 +14250,8 @@ namespace System.Reactive.Linq
#if !NO_TPL
/// <summary>
- /// Switches between the tasks such that the resulting sequence always produces results from the most recently received task.
+ /// Transforms an observable sequence of tasks into an observable sequence
+ /// producing values only from the most recent observable sequence.
/// Each time a new task is received, the previous task's result is ignored.
/// </summary>
/// <typeparam name="TSource">The type of the results produced by the source tasks.</typeparam>
@@ -16640,18 +17144,18 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Merges two observable sequences into one observable sequence by combining their elements in a pairwise fashion.
+ /// Merges an observable sequence and an enumerable sequence into one observable sequence by using the selector function.
/// </summary>
- /// <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
- /// <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
+ /// <typeparam name="TSource1">The type of the elements in the first observable source sequence.</typeparam>
+ /// <typeparam name="TSource2">The type of the elements in the second enumerable source sequence.</typeparam>
/// <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
/// <param name="first">First observable source.</param>
- /// <param name="second">Second observable source.</param>
+ /// <param name="second">Second enumerable source.</param>
/// <param name="resultSelector">Function to invoke for each consecutive pair of elements from the first and second source.</param>
/// <returns>An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="first" /> or <paramref name="second" /> or <paramref name="resultSelector" /> is null.</exception>
- public static IQbservable<TResult> Zip<TSource1, TSource2, TResult>(this IQbservable<TSource1> first, IObservable<TSource2> second, Expression<Func<TSource1, TSource2, TResult>> resultSelector)
+ public static IQbservable<TResult> Zip<TSource1, TSource2, TResult>(this IQbservable<TSource1> first, IEnumerable<TSource2> second, Expression<Func<TSource1, TSource2, TResult>> resultSelector)
{
if (first == null)
throw new ArgumentNullException("first");
@@ -16664,7 +17168,7 @@ namespace System.Reactive.Linq
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Zip<TSource1, TSource2, TResult>(default(IQbservable<TSource1>), default(IObservable<TSource2>), default(Expression<Func<TSource1, TSource2, TResult>>))),
+ InfoOf(() => Qbservable.Zip<TSource1, TSource2, TResult>(default(IQbservable<TSource1>), default(IEnumerable<TSource2>), default(Expression<Func<TSource1, TSource2, TResult>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource1), typeof(TSource2), typeof(TResult)),
#endif
@@ -16676,18 +17180,18 @@ namespace System.Reactive.Linq
}
/// <summary>
- /// Merges an observable sequence and an enumerable sequence into one observable sequence by using the selector function.
+ /// Merges two observable sequences into one observable sequence by combining their elements in a pairwise fashion.
/// </summary>
- /// <typeparam name="TSource1">The type of the elements in the first observable source sequence.</typeparam>
- /// <typeparam name="TSource2">The type of the elements in the second enumerable source sequence.</typeparam>
+ /// <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
+ /// <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
/// <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
/// <param name="first">First observable source.</param>
- /// <param name="second">Second enumerable source.</param>
+ /// <param name="second">Second observable source.</param>
/// <param name="resultSelector">Function to invoke for each consecutive pair of elements from the first and second source.</param>
/// <returns>An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="first" /> or <paramref name="second" /> or <paramref name="resultSelector" /> is null.</exception>
- public static IQbservable<TResult> Zip<TSource1, TSource2, TResult>(this IQbservable<TSource1> first, IEnumerable<TSource2> second, Expression<Func<TSource1, TSource2, TResult>> resultSelector)
+ public static IQbservable<TResult> Zip<TSource1, TSource2, TResult>(this IQbservable<TSource1> first, IObservable<TSource2> second, Expression<Func<TSource1, TSource2, TResult>> resultSelector)
{
if (first == null)
throw new ArgumentNullException("first");
@@ -16700,7 +17204,7 @@ namespace System.Reactive.Linq
Expression.Call(
null,
#if CRIPPLED_REFLECTION
- InfoOf(() => Qbservable.Zip<TSource1, TSource2, TResult>(default(IQbservable<TSource1>), default(IEnumerable<TSource2>), default(Expression<Func<TSource1, TSource2, TResult>>))),
+ InfoOf(() => Qbservable.Zip<TSource1, TSource2, TResult>(default(IQbservable<TSource1>), default(IObservable<TSource2>), default(Expression<Func<TSource1, TSource2, TResult>>))),
#else
((MethodInfo)MethodInfo.GetCurrentMethod()).MakeGenericMethod(typeof(TSource1), typeof(TSource2), typeof(TResult)),
#endif
diff --git a/Rx/NET/Source/System.Reactive.Providers/Reactive/ObservableQuery.cs b/Rx/NET/Source/System.Reactive.Providers/Reactive/ObservableQuery.cs
index 383b75f..c0bb21b 100644
--- a/Rx/NET/Source/System.Reactive.Providers/Reactive/ObservableQuery.cs
+++ b/Rx/NET/Source/System.Reactive.Providers/Reactive/ObservableQuery.cs
@@ -184,7 +184,7 @@ namespace System.Reactive
{
var method = node.Method;
var declaringType = method.DeclaringType;
-#if CRIPPLED_REFLECTION
+#if (CRIPPLED_REFLECTION && HAS_WINRT)
var baseType = declaringType.GetTypeInfo().BaseType;
#else
var baseType = declaringType.BaseType;
@@ -368,7 +368,7 @@ namespace System.Reactive
{
targetType = method.DeclaringType;
-#if CRIPPLED_REFLECTION
+#if (CRIPPLED_REFLECTION && HAS_WINRT)
var typeInfo = targetType.GetTypeInfo();
if (typeInfo.IsDefined(typeof(LocalQueryMethodImplementationTypeAttribute), false))
{
@@ -417,7 +417,7 @@ namespace System.Reactive
private static ILookup<string, MethodInfo> GetMethods(Type type)
{
-#if !CRIPPLED_REFLECTION
+#if !(CRIPPLED_REFLECTION && HAS_WINRT)
return type.GetMethods(BindingFlags.Static | BindingFlags.Public).ToLookup(m => m.Name);
#else
return type.GetTypeInfo().DeclaredMethods.Where(m => m.IsStatic && m.IsPublic).ToLookup(m => m.Name);
@@ -492,7 +492,7 @@ namespace System.Reactive
}
}
-#if CRIPPLED_REFLECTION
+#if (CRIPPLED_REFLECTION && HAS_WINRT)
static class Helpers
{
public static MethodInfo GetMethod(this Type type, string name)
diff --git a/Rx/NET/Source/System.Reactive.Providers/Strings_Providers.Generated.cs b/Rx/NET/Source/System.Reactive.Providers/Strings_Providers.Generated.cs
index df6e798..5443ec0 100644
--- a/Rx/NET/Source/System.Reactive.Providers/Strings_Providers.Generated.cs
+++ b/Rx/NET/Source/System.Reactive.Providers/Strings_Providers.Generated.cs
@@ -53,7 +53,7 @@ namespace System.Reactive
{
if (object.ReferenceEquals(resourceMan, null))
{
-#if CRIPPLED_REFLECTION
+#if (CRIPPLED_REFLECTION && HAS_WINRT)
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("System.Reactive.Strings_Providers", typeof(Strings_Providers).GetTypeInfo().Assembly);
#else
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("System.Reactive.Strings_Providers", typeof(Strings_Providers).Assembly);
diff --git a/Rx/NET/Source/System.Reactive.Providers/System.Reactive.Providers.csproj b/Rx/NET/Source/System.Reactive.Providers/System.Reactive.Providers.csproj
index b0f7e21..2814eb3 100644
--- a/Rx/NET/Source/System.Reactive.Providers/System.Reactive.Providers.csproj
+++ b/Rx/NET/Source/System.Reactive.Providers/System.Reactive.Providers.csproj
@@ -15,6 +15,7 @@
<FileAlignment>512</FileAlignment>
<ProductSignAssembly>true</ProductSignAssembly>
<CodeAnalysisRuleSet>..\Rx.ruleset</CodeAnalysisRuleSet>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseXBLV|AnyCPU'">
<OutputPath>bin\ReleaseXBLV\</OutputPath>
@@ -64,6 +65,7 @@
<EmbeddedResource Include="Strings_Providers.resx" />
</ItemGroup>
<Import Project="..\Import.targets" />
+ <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<!-- HomoIconizer build task configuration (disabled for now)
<PropertyGroup>
<HomoIconIntermediateOutputPath>obj\$(Configuration)\HomoIcon</HomoIconIntermediateOutputPath>
diff --git a/Rx/NET/Source/System.Reactive.Runtime.Remoting/Properties/AssemblyInfo.cs b/Rx/NET/Source/System.Reactive.Runtime.Remoting/Properties/AssemblyInfo.cs
index c51e915..431cb43 100644
--- a/Rx/NET/Source/System.Reactive.Runtime.Remoting/Properties/AssemblyInfo.cs
+++ b/Rx/NET/Source/System.Reactive.Runtime.Remoting/Properties/AssemblyInfo.cs
@@ -27,7 +27,11 @@ using System.Security;
[assembly: AllowPartiallyTrustedCallers]
#endif
-//
-// Note: Assembly (file) version numbers get inserted by the build system on the fly. Inspect the Team Build workflows
-// and the custom activity in Build/Source/Activities/AppendVersionInfo.cs for more information.
-//
+// ===========================================================================
+// DO NOT EDIT OR REMOVE ANYTHING BELOW THIS COMMENT.
+// Version numbers are automatically generated in the msbuild files based on regular expressions
+// ===========================================================================
+
+[assembly: AssemblyVersion("2.2.0.0")]
+[assembly: AssemblyFileVersion("2.2.0.0")]
+[assembly: AssemblyInformationalVersion("2.2.0.0")]
diff --git a/Rx/NET/Source/System.Reactive.Windows.Forms/Properties/AssemblyInfo.cs b/Rx/NET/Source/System.Reactive.Windows.Forms/Properties/AssemblyInfo.cs
index 46e1bd9..f0af34d 100644
--- a/Rx/NET/Source/System.Reactive.Windows.Forms/Properties/AssemblyInfo.cs
+++ b/Rx/NET/Source/System.Reactive.Windows.Forms/Properties/AssemblyInfo.cs
@@ -27,7 +27,11 @@ using System.Security;
[assembly: AllowPartiallyTrustedCallers]
#endif
-//
-// Note: Assembly (file) version numbers get inserted by the build system on the fly. Inspect the Team Build workflows
-// and the custom activity in Build/Source/Activities/AppendVersionInfo.cs for more information.
-//
+// ===========================================================================
+// DO NOT EDIT OR REMOVE ANYTHING BELOW THIS COMMENT.
+// Version numbers are automatically generated in the msbuild files based on regular expressions
+// ===========================================================================
+
+[assembly: AssemblyVersion("2.2.0.0")]
+[assembly: AssemblyFileVersion("2.2.0.0")]
+[assembly: AssemblyInformationalVersion("2.2.0.0")]
diff --git a/Rx/NET/Source/System.Reactive.Windows.Threading/Properties/AssemblyInfo.cs b/Rx/NET/Source/System.Reactive.Windows.Threading/Properties/AssemblyInfo.cs
index d11d58d..419b8c1 100644
--- a/Rx/NET/Source/System.Reactive.Windows.Threading/Properties/AssemblyInfo.cs
+++ b/Rx/NET/Source/System.Reactive.Windows.Threading/Properties/AssemblyInfo.cs
@@ -34,11 +34,11 @@ using System.Security;
[assembly: AllowPartiallyTrustedCallers]
#endif
-#if XBOX_LAKEVIEW
-[assembly: SecurityTransparent]
-#endif
+// ===========================================================================
+// DO NOT EDIT OR REMOVE ANYTHING BELOW THIS COMMENT.
+// Version numbers are automatically generated in the msbuild files based on regular expressions
+// ===========================================================================
-//
-// Note: Assembly (file) version numbers get inserted by the build system on the fly. Inspect the Team Build workflows
-// and the custom activity in Build/Source/Activities/AppendVersionInfo.cs for more information.
-//
+[assembly: AssemblyVersion("2.2.0.0")]
+[assembly: AssemblyFileVersion("2.2.0.0")]
+[assembly: AssemblyInformationalVersion("2.2.0.0")]
diff --git a/Rx/NET/Source/System.Reactive.WindowsRuntime/Properties/AssemblyInfo.cs b/Rx/NET/Source/System.Reactive.WindowsRuntime/Properties/AssemblyInfo.cs
index f3e00b6..2d8e097 100644
--- a/Rx/NET/Source/System.Reactive.WindowsRuntime/Properties/AssemblyInfo.cs
+++ b/Rx/NET/Source/System.Reactive.WindowsRuntime/Properties/AssemblyInfo.cs
@@ -25,7 +25,11 @@ using System.Security;
[assembly: AllowPartiallyTrustedCallers]
#endif
-//
-// Note: Assembly (file) version numbers get inserted by the build system on the fly. Inspect the Team Build workflows
-// and the custom activity in Build/Source/Activities/AppendVersionInfo.cs for more information.
-//
+// ===========================================================================
+// DO NOT EDIT OR REMOVE ANYTHING BELOW THIS COMMENT.
+// Version numbers are automatically generated in the msbuild files based on regular expressions
+// ===========================================================================
+
+[assembly: AssemblyVersion("2.2.0.0")]
+[assembly: AssemblyFileVersion("2.2.0.0")]
+[assembly: AssemblyInformationalVersion("2.2.0.0")]
diff --git a/Rx/NET/Source/System.Reactive.WindowsRuntime/System.Reactive.WindowsRuntime.csproj b/Rx/NET/Source/System.Reactive.WindowsRuntime/System.Reactive.WindowsRuntime.csproj
index 8021af8..0380c7e 100644
--- a/Rx/NET/Source/System.Reactive.WindowsRuntime/System.Reactive.WindowsRuntime.csproj
+++ b/Rx/NET/Source/System.Reactive.WindowsRuntime/System.Reactive.WindowsRuntime.csproj
@@ -10,16 +10,66 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>System.Reactive</RootNamespace>
<AssemblyName>System.Reactive.WindowsRuntime</AssemblyName>
- <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProductSignAssembly>true</ProductSignAssembly>
<CodeAnalysisRuleSet>..\Rx.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseXBLV|AnyCPU'">
<OutputPath>bin\ReleaseXBLV\</OutputPath>
+ <Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugXBLV|AnyCPU'">
<OutputPath>bin\DebugXBLV\</OutputPath>
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug45|AnyCPU'">
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release45|AnyCPU'">
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug40|AnyCPU'">
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release40|AnyCPU'">
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugSL5|AnyCPU'">
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseSL5|AnyCPU'">
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugWP7|AnyCPU'">
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseWP7|AnyCPU'">
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug35|AnyCPU'">
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release35|AnyCPU'">
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugSL3|AnyCPU'">
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseSL3|AnyCPU'">
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugSL4|AnyCPU'">
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseSL4|AnyCPU'">
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugXNA4|AnyCPU'">
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseXNA4|AnyCPU'">
+ <Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<Import Project="..\Common.targets" />
<PropertyGroup>
diff --git a/Rx/NET/Source/Tests.System.Reactive/Dummies/DummyFunc.cs b/Rx/NET/Source/Tests.System.Reactive/Dummies/DummyFunc.cs
index c0d3dc2..222e4e1 100644
--- a/Rx/NET/Source/Tests.System.Reactive/Dummies/DummyFunc.cs
+++ b/Rx/NET/Source/Tests.System.Reactive/Dummies/DummyFunc.cs
@@ -19,6 +19,16 @@ namespace ReactiveTests.Dummies
public static readonly Func<T, U, V> Instance = (t, u) => { throw new NotImplementedException(); };
}
+ static class DummyFunc<T, U, V, W>
+ {
+ public static readonly Func<T, U, V, W> Instance = (t, u, v) => { throw new NotImplementedException(); };
+ }
+
+ static class DummyFunc<T, U, V, W, X>
+ {
+ public static readonly Func<T, U, V, W, X> Instance = (t, u, v, w) => { throw new NotImplementedException(); };
+ }
+
static class DummyAction
{
public static readonly Action Instance = () => { throw new NotImplementedException(); };
diff --git a/Rx/NET/Source/Tests.System.Reactive/Properties/AssemblyInfo.cs b/Rx/NET/Source/Tests.System.Reactive/Properties/AssemblyInfo.cs
index 36cb0c1..4d51081 100644
--- a/Rx/NET/Source/Tests.System.Reactive/Properties/AssemblyInfo.cs
+++ b/Rx/NET/Source/Tests.System.Reactive/Properties/AssemblyInfo.cs
@@ -16,8 +16,3 @@ using System.Runtime.InteropServices;
[assembly: NeutralResourcesLanguage("en-US")]
[assembly: ComVisible(false)]
-
-//
-// Note: Assembly (file) version numbers get inserted by the build system on the fly. Inspect the Team Build workflows
-// and the custom activity in Source/Build/Activities/AppendVersionInfo.cs for more information.
-//
diff --git a/Rx/NET/Source/Tests.System.Reactive/Stress/Core/Schedulers/EventLoop.cs b/Rx/NET/Source/Tests.System.Reactive/Stress/Core/Schedulers/EventLoop.cs
new file mode 100644
index 0000000..41245a1
--- /dev/null
+++ b/Rx/NET/Source/Tests.System.Reactive/Stress/Core/Schedulers/EventLoop.cs
@@ -0,0 +1,67 @@
+// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
+
+#if STRESS
+using System;
+using System.Linq;
+using System.Reactive.Concurrency;
+using System.Reactive.Disposables;
+using System.Reactive.Linq;
+using System.Reflection;
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+
+namespace ReactiveTests.Stress.Schedulers
+{
+ /// <summary>
+ /// Test for <see href="https://rx.codeplex.com/workitem/37">work item #37</see>.
+ /// </summary>
+ public static class EventLoop
+ {
+ private static readonly FieldInfo semaphore = typeof(EventLoopScheduler).GetField("_evt", BindingFlags.NonPublic | BindingFlags.Instance);
+
+ public static void NoSemaphoreFullException()
+ {
+ var failed = new TaskCompletionSource<int>();
+
+ using (var scheduler = new EventLoopScheduler())
+ {
+ Assert.AreEqual(0, scheduler.CurrentCount());
+
+ var maxCount = Environment.ProcessorCount;
+
+ using (Enumerable.Range(1, maxCount)
+ .Select(_ => scheduler.SchedulePeriodic(TimeSpan.Zero, () =>
+ {
+ var count = scheduler.CurrentCount();
+
+ if (count > maxCount)
+ failed.SetResult(count);
+ }))
+ .Aggregate(
+ new CompositeDisposable(),
+ (c, d) =>
+ {
+ c.Add(d);
+ return c;
+ }))
+ {
+ if (failed.Task.Wait(TimeSpan.FromSeconds(10)))
+ {
+ Assert.Fail("Semaphore count is too high: {0}", failed.Task.Result);
+ }
+ }
+ }
+ }
+
+ private static int CurrentCount(this EventLoopScheduler scheduler)
+ {
+#if !NO_CDS
+ return ((SemaphoreSlim)semaphore.GetValue(scheduler)).CurrentCount;
+#else
+ return 0;
+#endif
+ }
+ }
+}
+#endif \ No newline at end of file
diff --git a/Rx/NET/Source/Tests.System.Reactive/Tests.System.Reactive.csproj b/Rx/NET/Source/Tests.System.Reactive/Tests.System.Reactive.csproj
index 745e347..2bf0ea5 100644
--- a/Rx/NET/Source/Tests.System.Reactive/Tests.System.Reactive.csproj
+++ b/Rx/NET/Source/Tests.System.Reactive/Tests.System.Reactive.csproj
@@ -38,7 +38,7 @@
</PropertyGroup>
<ItemGroup>
<!-- See readme.txt file in the References\$(BuildFlavor) folder for information on the test assemblies used here. -->
- <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework" />
+ <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="mscorlib" Condition=" '$(BuildPlatform)' == 'SILVERLIGHT' Or '$(BuildPlatform)' == 'XNA' " />
<Reference Include="System" />
<Reference Include="System.Core" />
@@ -62,6 +62,7 @@
<Compile Include="Semaphore.cs" />
<Compile Include="Stress\Core\Disposables\Composite.cs" />
<Compile Include="Stress\Core\Disposables\Serial.cs" />
+ <Compile Include="Stress\Core\Schedulers\EventLoop.cs" />
<Compile Include="Stress\Core\Disposables\SingleAssignment.cs" />
<Compile Include="Stress\Core\Disposables\RefCount.cs" />
<Compile Include="Stress\Linq\Delay.cs" />
@@ -70,6 +71,7 @@
<Compile Include="Stress\Linq\Replay.cs" />
<Compile Include="TestBase.cs" />
<Compile Include="TestLongRunningScheduler.cs" />
+ <Compile Include="Tests\Aliases.cs" />
<Compile Include="Tests\AnonymousTest.cs" />
<Compile Include="Tests\Concurrency\ConcurrencyTest.cs" />
<Compile Include="Tests\Concurrency\ScheduledItemTest.cs" />
@@ -161,6 +163,10 @@
<Project>{9E9B9C60-98B0-40FA-9C2B-1218D417CAA4}</Project>
<Name>System.Reactive.Interfaces</Name>
</ProjectReference>
+ <ProjectReference Include="..\System.Reactive.Observable.Aliases\System.Reactive.Observable.Aliases.csproj">
+ <Project>{9ffac385-10a4-4ddd-b800-de67e8469cc0}</Project>
+ <Name>System.Reactive.Observable.Aliases</Name>
+ </ProjectReference>
<ProjectReference Include="..\System.Reactive.PlatformServices\System.Reactive.PlatformServices.csproj">
<Project>{0CCCF009-763F-40D2-8655-7A94828023BF}</Project>
<Name>System.Reactive.PlatformServices</Name>
@@ -173,7 +179,7 @@
<Project>{63252AE9-5186-45CA-BFCD-FA51C6B66A43}</Project>
<Name>System.Reactive.Linq</Name>
</ProjectReference>
- <ProjectReference Include="..\System.Reactive.Runtime.Remoting\System.Reactive.Runtime.Remoting.csproj" Condition=" '$(BuildPlatform)' != 'WINDOWS_PHONE' And '$(BuildTarget)' != 'WP7' ">
+ <ProjectReference Include="..\System.Reactive.Runtime.Remoting\System.Reactive.Runtime.Remoting.csproj" Condition=" '$(BuildPlatform)' != 'WINDOWS_PHONE' And '$(BuildTarget)' != 'WP7' ">
<Project>{7A6EF49E-7946-4101-9C89-407B9C53A173}</Project>
<Name>System.Reactive.Runtime.Remoting</Name>
</ProjectReference>
diff --git a/Rx/NET/Source/Tests.System.Reactive/Tests/Aliases.cs b/Rx/NET/Source/Tests.System.Reactive/Tests/Aliases.cs
new file mode 100644
index 0000000..dd2ff20
--- /dev/null
+++ b/Rx/NET/Source/Tests.System.Reactive/Tests/Aliases.cs
@@ -0,0 +1,30 @@
+// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reactive;
+using System.Reactive.Concurrency;
+using System.Threading;
+using Microsoft.Reactive.Testing;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using System.Reactive.Linq;
+using System.Reactive.Observable.Aliases;
+
+namespace ReactiveTests.Tests
+{
+ [TestClass]
+ public partial class AliasesTest : ReactiveTest
+ {
+ [TestMethod]
+ public void Qbservable_Aliases()
+ {
+ var xs = Observable.Return(1).AsQbservable();
+
+ Assert.IsTrue(xs.Filter(x => true).ToEnumerable().SequenceEqual(new[] { 1 }), "Filter");
+ Assert.IsTrue(xs.Filter(x => true).Concat(xs.Filter(x => false)).ToEnumerable().SequenceEqual(new[] { 1 }), "Concat/Filter");
+ Assert.IsTrue(xs.Map(x => x.ToString()).ToEnumerable().SequenceEqual(new[] { "1" }), "Map");
+ Assert.IsTrue(xs.FlatMap(x => xs).ToEnumerable().SequenceEqual(new[] { 1 }), "FlatMap");
+ }
+ }
+}
diff --git a/Rx/NET/Source/Tests.System.Reactive/Tests/Concurrency/EventLoopSchedulerTest.cs b/Rx/NET/Source/Tests.System.Reactive/Tests/Concurrency/EventLoopSchedulerTest.cs
index f5b06f6..4f13f17 100644
--- a/Rx/NET/Source/Tests.System.Reactive/Tests/Concurrency/EventLoopSchedulerTest.cs
+++ b/Rx/NET/Source/Tests.System.Reactive/Tests/Concurrency/EventLoopSchedulerTest.cs
@@ -7,6 +7,9 @@ using System.Reactive.Concurrency;
using System.Threading;
using Microsoft.Reactive.Testing;
using Microsoft.VisualStudio.TestTools.UnitTesting;
+#if STRESS
+using ReactiveTests.Stress.Schedulers;
+#endif
namespace ReactiveTests.Tests
{
@@ -370,5 +373,13 @@ namespace ReactiveTests.Tests
d.Dispose();
}
}
+
+#if STRESS
+ [TestMethod]
+ public void EventLoop_Stress()
+ {
+ EventLoop.NoSemaphoreFullException();
+ }
+#endif
}
}
diff --git a/Rx/NET/Source/Tests.System.Reactive/Tests/DefaultConcurrencyAbstractionLayerTest.cs b/Rx/NET/Source/Tests.System.Reactive/Tests/DefaultConcurrencyAbstractionLayerTest.cs
index a818db4..74f82e6 100644
--- a/Rx/NET/Source/Tests.System.Reactive/Tests/DefaultConcurrencyAbstractionLayerTest.cs
+++ b/Rx/NET/Source/Tests.System.Reactive/Tests/DefaultConcurrencyAbstractionLayerTest.cs
@@ -147,6 +147,69 @@ namespace ReactiveTests.Tests
}
[TestMethod]
+ public void StartPeriodicTimer_Fast()
+ {
+ var e = new MarshalByRefCell<ManualResetEvent> { Value = new ManualResetEvent(false) };
+ _domain.SetData("state", e);
+
+ Run(() =>
+ {
+ var n = 0;
+
+ Scheduler.Default.SchedulePeriodic(TimeSpan.Zero, () =>
+ {
+ var state = (MarshalByRefCell<ManualResetEvent>)_domain.GetData("state");
+
+ if (n++ == 10)
+ state.Value.Set();
+ });
+ });
+
+ e.Value.WaitOne();
+ }
+
+ [TestMethod]
+ public void StartPeriodicTimer_Fast_Cancel()
+ {
+ var e = new MarshalByRefCell<ManualResetEvent> { Value = new ManualResetEvent(false) };
+ _domain.SetData("set_cancel", e);
+
+ Run(() =>
+ {
+ var n = 0;
+
+ var schedule = Scheduler.Default.SchedulePeriodic(TimeSpan.Zero, () =>
+ {
+ _domain.SetData("value", n++);
+ });
+
+ _domain.SetData("cancel", new MarshalByRefAction(schedule.Dispose));
+
+ var setCancel = (MarshalByRefCell<ManualResetEvent>)_domain.GetData("set_cancel");
+ setCancel.Value.Set();
+ });
+
+ e.Value.WaitOne();
+
+ var value = (int)_domain.GetData("value");
+
+ var cancel = (MarshalByRefAction)_domain.GetData("cancel");
+ cancel.Invoke();
+
+ Thread.Sleep(TimeSpan.FromMilliseconds(50));
+
+ var newValue = (int)_domain.GetData("value");
+
+ Assert.IsTrue(newValue >= value);
+
+ Thread.Sleep(TimeSpan.FromMilliseconds(50));
+
+ value = (int)_domain.GetData("value");
+
+ Assert.AreEqual(newValue, value);
+ }
+
+ [TestMethod]
public void CreateThread()
{
var e = new MarshalByRefCell<ManualResetEvent> { Value = new ManualResetEvent(false) };
@@ -287,5 +350,20 @@ namespace ReactiveTests.Tests
{
public T Value;
}
+
+ public class MarshalByRefAction : MarshalByRefObject
+ {
+ private readonly Action _action;
+
+ public MarshalByRefAction(Action action)
+ {
+ _action = action;
+ }
+
+ public void Invoke()
+ {
+ _action();
+ }
+ }
}
#endif \ No newline at end of file
diff --git a/Rx/NET/Source/Tests.System.Reactive/Tests/Linq/ObservableStandardQueryOperatorTest.cs b/Rx/NET/Source/Tests.System.Reactive/Tests/Linq/ObservableStandardQueryOperatorTest.cs
index 0670909..dd17353 100644
--- a/Rx/NET/Source/Tests.System.Reactive/Tests/Linq/ObservableStandardQueryOperatorTest.cs
+++ b/Rx/NET/Source/Tests.System.Reactive/Tests/Linq/ObservableStandardQueryOperatorTest.cs
@@ -2486,7 +2486,7 @@ namespace ReactiveTests.Tests
var nullGroup = scheduler.CreateObserver<string>();
var err = default(Exception);
-
+
scheduler.ScheduleAbsolute(200, () => xs.GroupBy(x => x[0] == 'b' ? null : x.ToUpper()).Where(g => g.Key == null).Subscribe(g => g.Subscribe(nullGroup), ex_ => err = ex_));
scheduler.Start();
@@ -2553,6 +2553,1704 @@ namespace ReactiveTests.Tests
#endregion
+ #region + GroupBy w/capacity +
+
+ private const int _groupByCapacity = 1024;
+
+ [TestMethod]
+ public void GroupBy_Capacity_ArgumentChecking()
+ {
+ ReactiveAssert.Throws<ArgumentNullException>(() => ((IObservable<int>)null).GroupBy(DummyFunc<int, int>.Instance, DummyFunc<int, int>.Instance, _groupByCapacity, EqualityComparer<int>.Default));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.GroupBy((Func<int, int>)null, DummyFunc<int, int>.Instance, _groupByCapacity, EqualityComparer<int>.Default));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.GroupBy(DummyFunc<int, int>.Instance, (Func<int, int>)null, _groupByCapacity, EqualityComparer<int>.Default));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.GroupBy(DummyFunc<int, int>.Instance, DummyFunc<int, int>.Instance, _groupByCapacity, null));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.GroupBy(DummyFunc<int, int>.Instance, DummyFunc<int, int>.Instance, _groupByCapacity, EqualityComparer<int>.Default).Subscribe(null));
+
+ ReactiveAssert.Throws<ArgumentOutOfRangeException>(() => DummyObservable<int>.Instance.GroupBy(DummyFunc<int, int>.Instance, DummyFunc<int, int>.Instance, -1, EqualityComparer<int>.Default));
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_KeyEle_ArgumentChecking()
+ {
+ ReactiveAssert.Throws<ArgumentNullException>(() => ((IObservable<int>)null).GroupBy(DummyFunc<int, int>.Instance, DummyFunc<int, int>.Instance, _groupByCapacity));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.GroupBy((Func<int, int>)null, DummyFunc<int, int>.Instance, _groupByCapacity));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.GroupBy(DummyFunc<int, int>.Instance, (Func<int, int>)null, _groupByCapacity));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.GroupBy(DummyFunc<int, int>.Instance, DummyFunc<int, int>.Instance, _groupByCapacity).Subscribe(null));
+
+ ReactiveAssert.Throws<ArgumentOutOfRangeException>(() => DummyObservable<int>.Instance.GroupBy(DummyFunc<int, int>.Instance, DummyFunc<int, int>.Instance, -1));
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_KeyComparer_ArgumentChecking()
+ {
+ ReactiveAssert.Throws<ArgumentNullException>(() => ((IObservable<int>)null).GroupBy(DummyFunc<int, int>.Instance, _groupByCapacity, EqualityComparer<int>.Default));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.GroupBy((Func<int, int>)null, _groupByCapacity, EqualityComparer<int>.Default));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.GroupBy(DummyFunc<int, int>.Instance, _groupByCapacity, (IEqualityComparer<int>)null));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.GroupBy(DummyFunc<int, int>.Instance, _groupByCapacity, EqualityComparer<int>.Default).Subscribe(null));
+
+ ReactiveAssert.Throws<ArgumentOutOfRangeException>(() => DummyObservable<int>.Instance.GroupBy(DummyFunc<int, int>.Instance, -1, EqualityComparer<int>.Default));
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Key_ArgumentChecking()
+ {
+ ReactiveAssert.Throws<ArgumentNullException>(() => ((IObservable<int>)null).GroupBy(DummyFunc<int, int>.Instance, _groupByCapacity));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.GroupBy((Func<int, int>)null, _groupByCapacity));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.GroupBy(DummyFunc<int, int>.Instance, _groupByCapacity).Subscribe(null));
+
+ ReactiveAssert.Throws<ArgumentOutOfRangeException>(() => DummyObservable<int>.Instance.GroupBy(DummyFunc<int, int>.Instance, -1));
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_WithKeyComparer()
+ {
+ var scheduler = new TestScheduler();
+
+ var keyInvoked = 0;
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+
+ var res = scheduler.Start(() =>
+ xs.GroupBy(x =>
+ {
+ keyInvoked++;
+ return x.Trim();
+ }, _groupByCapacity, comparer).Select(g => g.Key)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "baR"),
+ OnNext(350, "Baz"),
+ OnNext(360, "qux"),
+ OnCompleted<string>(570)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+
+ Assert.AreEqual(12, keyInvoked);
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Outer_Complete()
+ {
+ var scheduler = new TestScheduler();
+
+ var keyInvoked = 0;
+ var eleInvoked = 0;
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+
+ var res = scheduler.Start(() =>
+ xs.GroupBy(
+ x =>
+ {
+ keyInvoked++;
+ return x.Trim();
+ },
+ x =>
+ {
+ eleInvoked++;
+ return Reverse(x);
+ },
+ _groupByCapacity,
+ comparer
+ ).Select(g => g.Key)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "baR"),
+ OnNext(350, "Baz"),
+ OnNext(360, "qux"),
+ OnCompleted<string>(570)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+
+ Assert.AreEqual(12, keyInvoked);
+ Assert.AreEqual(12, eleInvoked);
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Outer_Error()
+ {
+ var scheduler = new TestScheduler();
+
+ var keyInvoked = 0;
+ var eleInvoked = 0;
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnError<string>(570, ex),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+
+ var res = scheduler.Start(() =>
+ xs.GroupBy(
+ x =>
+ {
+ keyInvoked++;
+ return x.Trim();
+ },
+ x =>
+ {
+ eleInvoked++;
+ return Reverse(x);
+ },
+ _groupByCapacity,
+ comparer
+ ).Select(g => g.Key)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "baR"),
+ OnNext(350, "Baz"),
+ OnNext(360, "qux"),
+ OnError<string>(570, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+
+ Assert.AreEqual(12, keyInvoked);
+ Assert.AreEqual(12, eleInvoked);
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Outer_Dispose()
+ {
+ var scheduler = new TestScheduler();
+
+ var keyInvoked = 0;
+ var eleInvoked = 0;
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+
+ var res = scheduler.Start(() =>
+ xs.GroupBy(
+ x =>
+ {
+ keyInvoked++;
+ return x.Trim();
+ }, x =>
+ {
+ eleInvoked++;
+ return Reverse(x);
+ }, _groupByCapacity, comparer
+ ).Select(g => g.Key),
+ 355
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "baR"),
+ OnNext(350, "Baz")
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 355)
+ );
+
+ Assert.AreEqual(5, keyInvoked);
+ Assert.AreEqual(5, eleInvoked);
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Outer_KeyThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var keyInvoked = 0;
+ var eleInvoked = 0;
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+
+ var res = scheduler.Start(() =>
+ xs.GroupBy(
+ x =>
+ {
+ keyInvoked++;
+ if (keyInvoked == 10)
+ throw ex;
+ return x.Trim();
+ },
+ x =>
+ {
+ eleInvoked++;
+ return Reverse(x);
+ },
+ _groupByCapacity,
+ comparer
+ ).Select(g => g.Key)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "baR"),
+ OnNext(350, "Baz"),
+ OnNext(360, "qux"),
+ OnError<string>(480, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 480)
+ );
+
+ Assert.AreEqual(10, keyInvoked);
+ Assert.AreEqual(9, eleInvoked);
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Outer_EleThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var keyInvoked = 0;
+ var eleInvoked = 0;
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+
+ var res = scheduler.Start(() =>
+ xs.GroupBy(
+ x =>
+ {
+ keyInvoked++;
+ return x.Trim();
+ },
+ x =>
+ {
+ eleInvoked++;
+ if (eleInvoked == 10)
+ throw ex;
+ return Reverse(x);
+ },
+ _groupByCapacity,
+ comparer
+ ).Select(g => g.Key)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "baR"),
+ OnNext(350, "Baz"),
+ OnNext(360, "qux"),
+ OnError<string>(480, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 480)
+ );
+
+ Assert.AreEqual(10, keyInvoked);
+ Assert.AreEqual(10, eleInvoked);
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Outer_ComparerEqualsThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var keyInvoked = 0;
+ var eleInvoked = 0;
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler, 250, ushort.MaxValue);
+
+ var res = scheduler.Start(() =>
+ xs.GroupBy(
+ x =>
+ {
+ keyInvoked++;
+ return x.Trim();
+ },
+ x =>
+ {
+ eleInvoked++;
+ return Reverse(x);
+ },
+ _groupByCapacity,
+ comparer
+ ).Select(g => g.Key)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "baR"),
+ OnError<string>(310, comparer.EqualsException)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 310)
+ );
+
+ Assert.AreEqual(4, keyInvoked);
+ Assert.AreEqual(3, eleInvoked);
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Outer_ComparerGetHashCodeThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var keyInvoked = 0;
+ var eleInvoked = 0;
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler, ushort.MaxValue, 410);
+
+ var res = scheduler.Start(() =>
+ xs.GroupBy(
+ x =>
+ {
+ keyInvoked++;
+ return x.Trim();
+ },
+ x =>
+ {
+ eleInvoked++;
+ return Reverse(x);
+ },
+ _groupByCapacity,
+ comparer
+ ).Select(g => g.Key)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "baR"),
+ OnNext(350, "Baz"),
+ OnNext(360, "qux"),
+ OnError<string>(420, comparer.HashCodeException)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 420)
+ );
+
+ Assert.AreEqual(8, keyInvoked);
+ Assert.AreEqual(7, eleInvoked);
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Inner_Complete()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupBy(x => x.Trim(), x => Reverse(x), _groupByCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ scheduler.ScheduleRelative(100, () => innerSubscriptions[group.Key] = group.Subscribe(result));
+ }));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.Start();
+
+ Assert.AreEqual(4, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(470, " OOF"),
+ OnNext(530, " oOf "),
+ OnCompleted<string>(570)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(390, "rab "),
+ OnNext(420, " RAB "),
+ OnCompleted<string>(570)
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(480, " zab"),
+ OnNext(510, " ZAb "),
+ OnCompleted<string>(570)
+ );
+
+ res["qux"].Messages.AssertEqual(
+ OnCompleted<string>(570)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Inner_Complete_All()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupBy(x => x.Trim(), x => Reverse(x), _groupByCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ innerSubscriptions[group.Key] = group.Subscribe(result);
+ }));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.Start();
+
+ Assert.AreEqual(4, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(220, "oof "),
+ OnNext(240, " OoF "),
+ OnNext(310, " Oof"),
+ OnNext(470, " OOF"),
+ OnNext(530, " oOf "),
+ OnCompleted<string>(570)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(270, " Rab"),
+ OnNext(390, "rab "),
+ OnNext(420, " RAB "),
+ OnCompleted<string>(570)
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(350, " zaB "),
+ OnNext(480, " zab"),
+ OnNext(510, " ZAb "),
+ OnCompleted<string>(570)
+ );
+
+ res["qux"].Messages.AssertEqual(
+ OnNext(360, " xuq "),
+ OnCompleted<string>(570)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Inner_Error()
+ {
+ var scheduler = new TestScheduler();
+
+ var ex1 = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnError<string>(570, ex1),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupBy(x => x.Trim(), x => Reverse(x), _groupByCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ scheduler.ScheduleRelative(100, () => innerSubscriptions[group.Key] = group.Subscribe(result));
+ }, ex => { }));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.Start();
+
+ Assert.AreEqual(4, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(470, " OOF"),
+ OnNext(530, " oOf "),
+ OnError<string>(570, ex1)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(390, "rab "),
+ OnNext(420, " RAB "),
+ OnError<string>(570, ex1)
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(480, " zab"),
+ OnNext(510, " ZAb "),
+ OnError<string>(570, ex1)
+ );
+
+ res["qux"].Messages.AssertEqual(
+ OnError<string>(570, ex1)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Inner_Dispose()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupBy(x => x.Trim(), x => Reverse(x), _groupByCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ innerSubscriptions[group.Key] = group.Subscribe(result);
+ }));
+
+ scheduler.ScheduleAbsolute(400, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.Start();
+
+ Assert.AreEqual(4, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(220, "oof "),
+ OnNext(240, " OoF "),
+ OnNext(310, " Oof")
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(270, " Rab"),
+ OnNext(390, "rab ")
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(350, " zaB ")
+ );
+
+ res["qux"].Messages.AssertEqual(
+ OnNext(360, " xuq ")
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 400)
+ );
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Inner_KeyThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+
+ var keyInvoked = 0;
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupBy(x =>
+ {
+ keyInvoked++;
+ if (keyInvoked == 6)
+ throw ex;
+ return x.Trim();
+ }, x => Reverse(x), _groupByCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ innerSubscriptions[group.Key] = group.Subscribe(result);
+ }, _ => { }));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.Start();
+
+ Assert.AreEqual(3, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(220, "oof "),
+ OnNext(240, " OoF "),
+ OnNext(310, " Oof"),
+ OnError<string>(360, ex)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(270, " Rab"),
+ OnError<string>(360, ex)
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(350, " zaB "),
+ OnError<string>(360, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 360)
+ );
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Inner_EleThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+
+ var eleInvoked = 0;
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupBy(x => x.Trim(), x =>
+ {
+ eleInvoked++;
+ if (eleInvoked == 6)
+ throw ex;
+ return Reverse(x);
+ }, _groupByCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ innerSubscriptions[group.Key] = group.Subscribe(result);
+ }, _ => { }));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.Start();
+
+ Assert.AreEqual(4, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(220, "oof "),
+ OnNext(240, " OoF "),
+ OnNext(310, " Oof"),
+ OnError<string>(360, ex)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(270, " Rab"),
+ OnError<string>(360, ex)
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(350, " zaB "),
+ OnError<string>(360, ex)
+ );
+
+ res["qux"].Messages.AssertEqual(
+ OnError<string>(360, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 360)
+ );
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Inner_Comparer_EqualsThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler, 400, ushort.MaxValue);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupBy(x => x.Trim(), x => Reverse(x), _groupByCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ innerSubscriptions[group.Key] = group.Subscribe(result);
+ }, _ => { }));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.Start();
+
+ Assert.AreEqual(4, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(220, "oof "),
+ OnNext(240, " OoF "),
+ OnNext(310, " Oof"),
+ OnError<string>(420, comparer.EqualsException)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(270, " Rab"),
+ OnNext(390, "rab "),
+ OnError<string>(420, comparer.EqualsException)
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(350, " zaB "),
+ OnError<string>(420, comparer.EqualsException)
+ );
+
+ res["qux"].Messages.AssertEqual(
+ OnNext(360, " xuq "),
+ OnError<string>(420, comparer.EqualsException)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 420)
+ );
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Inner_Comparer_GetHashCodeThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler, ushort.MaxValue, 400);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupBy(x => x.Trim(), x => Reverse(x), _groupByCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ innerSubscriptions[group.Key] = group.Subscribe(result);
+ }, _ => { }));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.Start();
+
+ Assert.AreEqual(4, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(220, "oof "),
+ OnNext(240, " OoF "),
+ OnNext(310, " Oof"),
+ OnError<string>(420, comparer.HashCodeException)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(270, " Rab"),
+ OnNext(390, "rab "),
+ OnError<string>(420, comparer.HashCodeException)
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(350, " zaB "),
+ OnError<string>(420, comparer.HashCodeException)
+ );
+
+ res["qux"].Messages.AssertEqual(
+ OnNext(360, " xuq "),
+ OnError<string>(420, comparer.HashCodeException)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 420)
+ );
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Outer_Independence()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+ var outerResults = scheduler.CreateObserver<string>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupBy(x => x.Trim(), x => Reverse(x), _groupByCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ outerResults.OnNext(group.Key);
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ innerSubscriptions[group.Key] = group.Subscribe(result);
+ }, outerResults.OnError, outerResults.OnCompleted));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.ScheduleAbsolute(320, () => outerSubscription.Dispose());
+
+ scheduler.Start();
+
+ Assert.AreEqual(2, inners.Count);
+
+ outerResults.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "baR")
+ );
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(220, "oof "),
+ OnNext(240, " OoF "),
+ OnNext(310, " Oof"),
+ OnNext(470, " OOF"),
+ OnNext(530, " oOf "),
+ OnCompleted<string>(570)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(270, " Rab"),
+ OnNext(390, "rab "),
+ OnNext(420, " RAB "),
+ OnCompleted<string>(570)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Inner_Independence()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+ var outerResults = scheduler.CreateObserver<string>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupBy(x => x.Trim(), x => Reverse(x), _groupByCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ outerResults.OnNext(group.Key);
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ innerSubscriptions[group.Key] = group.Subscribe(result);
+ }, outerResults.OnError, outerResults.OnCompleted));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.ScheduleAbsolute(320, () => innerSubscriptions["foo"].Dispose());
+
+ scheduler.Start();
+
+ Assert.AreEqual(4, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(220, "oof "),
+ OnNext(240, " OoF "),
+ OnNext(310, " Oof")
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(270, " Rab"),
+ OnNext(390, "rab "),
+ OnNext(420, " RAB "),
+ OnCompleted<string>(570)
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(350, " zaB "),
+ OnNext(480, " zab"),
+ OnNext(510, " ZAb "),
+ OnCompleted<string>(570)
+ );
+
+ res["qux"].Messages.AssertEqual(
+ OnNext(360, " xuq "),
+ OnCompleted<string>(570)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Inner_Multiple_Independence()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+ var outerResults = scheduler.CreateObserver<string>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupBy(x => x.Trim(), x => Reverse(x), _groupByCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ outerResults.OnNext(group.Key);
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ innerSubscriptions[group.Key] = group.Subscribe(result);
+ }, outerResults.OnError, outerResults.OnCompleted));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.ScheduleAbsolute(320, () => innerSubscriptions["foo"].Dispose());
+ scheduler.ScheduleAbsolute(280, () => innerSubscriptions["baR"].Dispose());
+ scheduler.ScheduleAbsolute(355, () => innerSubscriptions["Baz"].Dispose());
+ scheduler.ScheduleAbsolute(400, () => innerSubscriptions["qux"].Dispose());
+
+ scheduler.Start();
+
+ Assert.AreEqual(4, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(220, "oof "),
+ OnNext(240, " OoF "),
+ OnNext(310, " Oof")
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(270, " Rab")
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(350, " zaB ")
+ );
+
+ res["qux"].Messages.AssertEqual(
+ OnNext(360, " xuq ")
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Inner_Escape_Complete()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(310, "foO "),
+ OnNext(470, "FOO "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570)
+ );
+
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inner = default(IObservable<string>);
+ var innerSubscription = default(IDisposable);
+ var res = scheduler.CreateObserver<string>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupBy(x => x.Trim(), _groupByCapacity));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ inner = group;
+ }));
+
+ scheduler.ScheduleAbsolute(600, () => innerSubscription = inner.Subscribe(res));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ innerSubscription.Dispose();
+ });
+
+ scheduler.Start();
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+
+ res.Messages.AssertEqual(
+ OnCompleted<string>(600)
+ );
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Inner_Escape_Error()
+ {
+ var scheduler = new TestScheduler();
+
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(310, "foO "),
+ OnNext(470, "FOO "),
+ OnNext(530, " fOo "),
+ OnError<string>(570, ex)
+ );
+
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inner = default(IObservable<string>);
+ var innerSubscription = default(IDisposable);
+ var res = scheduler.CreateObserver<string>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupBy(x => x.Trim(), _groupByCapacity));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ inner = group;
+ }, _ => { }));
+
+ scheduler.ScheduleAbsolute(600, () => innerSubscription = inner.Subscribe(res));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ innerSubscription.Dispose();
+ });
+
+ scheduler.Start();
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+
+ res.Messages.AssertEqual(
+ OnError<string>(600, ex)
+ );
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_Inner_Escape_Dispose()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(310, "foO "),
+ OnNext(470, "FOO "),
+ OnNext(530, " fOo "),
+ OnError<string>(570, new Exception())
+ );
+
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inner = default(IObservable<string>);
+ var innerSubscription = default(IDisposable);
+ var res = scheduler.CreateObserver<string>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupBy(x => x.Trim(), _groupByCapacity));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ inner = group;
+ }));
+
+ scheduler.ScheduleAbsolute(400, () => outerSubscription.Dispose());
+
+ scheduler.ScheduleAbsolute(600, () => innerSubscription = inner.Subscribe(res));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ innerSubscription.Dispose();
+ });
+
+ scheduler.Start();
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 400)
+ );
+
+ res.Messages.AssertEqual(
+ );
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_NullKeys_Simple()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, "bar"),
+ OnNext(240, "foo"),
+ OnNext(310, "qux"),
+ OnNext(470, "baz"),
+ OnCompleted<string>(500)
+ );
+
+ var res = scheduler.Start(() => xs.GroupBy(x => x[0] == 'b' ? null : x.ToUpper(), _groupByCapacity).SelectMany(g => g, (g, x) => (g.Key ?? "(null)") + x));
+
+ res.Messages.AssertEqual(
+ OnNext(220, "(null)bar"),
+ OnNext(240, "FOOfoo"),
+ OnNext(310, "QUXqux"),
+ OnNext(470, "(null)baz"),
+ OnCompleted<string>(500)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 500)
+ );
+ }
+
+ [TestMethod]
+ public void GroupBy_Capacity_NullKeys_Error()
+ {
+ var scheduler = new TestScheduler();
+
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, "bar"),
+ OnNext(240, "foo"),
+ OnNext(310, "qux"),
+ OnNext(470, "baz"),
+ OnError<string>(500, ex)
+ );
+
+ var nullGroup = scheduler.CreateObserver<string>();
+ var err = default(Exception);
+
+ scheduler.ScheduleAbsolute(200, () => xs.GroupBy(x => x[0] == 'b' ? null : x.ToUpper(), _groupByCapacity).Where(g => g.Key == null).Subscribe(g => g.Subscribe(nullGroup), ex_ => err = ex_));
+ scheduler.Start();
+
+ Assert.AreSame(ex, err);
+
+ nullGroup.Messages.AssertEqual(
+ OnNext(220, "bar"),
+ OnNext(470, "baz"),
+ OnError<string>(500, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 500)
+ );
+ }
+
+ #endregion
+
#region + GroupByUntil +
[TestMethod]
@@ -4405,6 +6103,1874 @@ namespace ReactiveTests.Tests
#endregion
+ #region + GroupByUntil w/capacity +
+
+ private const int _groupByUntilCapacity = 1024;
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_ArgumentChecking()
+ {
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupByUntil(default(IObservable<int>), DummyFunc<int, int>.Instance, DummyFunc<int, int>.Instance, DummyFunc<IGroupedObservable<int, int>, IObservable<int>>.Instance, _groupByUntilCapacity, EqualityComparer<int>.Default));
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupByUntil(DummyObservable<int>.Instance, default(Func<int, int>), DummyFunc<int, int>.Instance, DummyFunc<IGroupedObservable<int, int>, IObservable<int>>.Instance, _groupByUntilCapacity, EqualityComparer<int>.Default));
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupByUntil(DummyObservable<int>.Instance, DummyFunc<int, int>.Instance, default(Func<int, int>), DummyFunc<IGroupedObservable<int, int>, IObservable<int>>.Instance, _groupByUntilCapacity, EqualityComparer<int>.Default));
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupByUntil(DummyObservable<int>.Instance, DummyFunc<int, int>.Instance, DummyFunc<int, int>.Instance, default(Func<IGroupedObservable<int, int>, IObservable<int>>), _groupByUntilCapacity, EqualityComparer<int>.Default));
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupByUntil(DummyObservable<int>.Instance, DummyFunc<int, int>.Instance, DummyFunc<int, int>.Instance, DummyFunc<IGroupedObservable<int, int>, IObservable<int>>.Instance, _groupByUntilCapacity, default(IEqualityComparer<int>)));
+
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupByUntil(default(IObservable<int>), DummyFunc<int, int>.Instance, DummyFunc<int, int>.Instance, DummyFunc<IGroupedObservable<int, int>, IObservable<int>>.Instance, _groupByUntilCapacity));
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupByUntil(DummyObservable<int>.Instance, default(Func<int, int>), DummyFunc<int, int>.Instance, DummyFunc<IGroupedObservable<int, int>, IObservable<int>>.Instance, _groupByUntilCapacity));
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupByUntil(DummyObservable<int>.Instance, DummyFunc<int, int>.Instance, default(Func<int, int>), DummyFunc<IGroupedObservable<int, int>, IObservable<int>>.Instance, _groupByUntilCapacity));
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupByUntil(DummyObservable<int>.Instance, DummyFunc<int, int>.Instance, DummyFunc<int, int>.Instance, default(Func<IGroupedObservable<int, int>, IObservable<int>>), _groupByUntilCapacity));
+
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupByUntil(default(IObservable<int>), DummyFunc<int, int>.Instance, DummyFunc<IGroupedObservable<int, int>, IObservable<int>>.Instance, _groupByUntilCapacity, EqualityComparer<int>.Default));
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupByUntil(DummyObservable<int>.Instance, default(Func<int, int>), DummyFunc<IGroupedObservable<int, int>, IObservable<int>>.Instance, _groupByUntilCapacity, EqualityComparer<int>.Default));
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupByUntil(DummyObservable<int>.Instance, DummyFunc<int, int>.Instance, default(Func<IGroupedObservable<int, int>, IObservable<int>>), _groupByUntilCapacity, EqualityComparer<int>.Default));
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupByUntil(DummyObservable<int>.Instance, DummyFunc<int, int>.Instance, DummyFunc<IGroupedObservable<int, int>, IObservable<int>>.Instance, _groupByUntilCapacity, default(IEqualityComparer<int>)));
+
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupByUntil(default(IObservable<int>), DummyFunc<int, int>.Instance, DummyFunc<IGroupedObservable<int, int>, IObservable<int>>.Instance, _groupByUntilCapacity));
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupByUntil(DummyObservable<int>.Instance, default(Func<int, int>), DummyFunc<IGroupedObservable<int, int>, IObservable<int>>.Instance, _groupByUntilCapacity));
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupByUntil(DummyObservable<int>.Instance, DummyFunc<int, int>.Instance, default(Func<IGroupedObservable<int, int>, IObservable<int>>), _groupByUntilCapacity));
+
+ ReactiveAssert.Throws<ArgumentOutOfRangeException>(() => Observable.GroupByUntil(DummyObservable<int>.Instance, DummyFunc<int, int>.Instance, DummyFunc<int, int>.Instance, DummyFunc<IGroupedObservable<int, int>, IObservable<int>>.Instance, -1, EqualityComparer<int>.Default));
+ ReactiveAssert.Throws<ArgumentOutOfRangeException>(() => Observable.GroupByUntil(DummyObservable<int>.Instance, DummyFunc<int, int>.Instance, DummyFunc<int, int>.Instance, DummyFunc<IGroupedObservable<int, int>, IObservable<int>>.Instance, -1));
+ ReactiveAssert.Throws<ArgumentOutOfRangeException>(() => Observable.GroupByUntil(DummyObservable<int>.Instance, DummyFunc<int, int>.Instance, DummyFunc<IGroupedObservable<int, int>, IObservable<int>>.Instance, -1, EqualityComparer<int>.Default));
+ ReactiveAssert.Throws<ArgumentOutOfRangeException>(() => Observable.GroupByUntil(DummyObservable<int>.Instance, DummyFunc<int, int>.Instance, DummyFunc<IGroupedObservable<int, int>, IObservable<int>>.Instance, -1));
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_WithKeyComparer()
+ {
+ var scheduler = new TestScheduler();
+
+ var keyInvoked = 0;
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+
+ var res = scheduler.Start(() =>
+ xs.GroupByUntil(
+ x =>
+ {
+ keyInvoked++;
+ return x.Trim();
+ },
+ g => g.Skip(2),
+ _groupByUntilCapacity,
+ comparer
+ ).Select(g => g.Key)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "baR"),
+ OnNext(350, "Baz"),
+ OnNext(360, "qux"),
+ OnNext(470, "FOO"),
+ OnCompleted<string>(570)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+
+ Assert.AreEqual(12, keyInvoked);
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Outer_Complete()
+ {
+ var scheduler = new TestScheduler();
+
+ var keyInvoked = 0;
+ var eleInvoked = 0;
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+
+ var res = scheduler.Start(() =>
+ xs.GroupByUntil(
+ x =>
+ {
+ keyInvoked++;
+ return x.Trim();
+ },
+ x =>
+ {
+ eleInvoked++;
+ return Reverse(x);
+ },
+ g => g.Skip(2),
+ _groupByUntilCapacity,
+ comparer
+ ).Select(g => g.Key)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "baR"),
+ OnNext(350, "Baz"),
+ OnNext(360, "qux"),
+ OnNext(470, "FOO"),
+ OnCompleted<string>(570)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+
+ Assert.AreEqual(12, keyInvoked);
+ Assert.AreEqual(12, eleInvoked);
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Outer_Error()
+ {
+ var scheduler = new TestScheduler();
+
+ var keyInvoked = 0;
+ var eleInvoked = 0;
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnError<string>(570, ex),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+
+ var res = scheduler.Start(() =>
+ xs.GroupByUntil(
+ x =>
+ {
+ keyInvoked++;
+ return x.Trim();
+ },
+ x =>
+ {
+ eleInvoked++;
+ return Reverse(x);
+ },
+ g => g.Skip(2),
+ _groupByUntilCapacity,
+ comparer
+ ).Select(g => g.Key)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "baR"),
+ OnNext(350, "Baz"),
+ OnNext(360, "qux"),
+ OnNext(470, "FOO"),
+ OnError<string>(570, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+
+ Assert.AreEqual(12, keyInvoked);
+ Assert.AreEqual(12, eleInvoked);
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Outer_Dispose()
+ {
+ var scheduler = new TestScheduler();
+
+ var keyInvoked = 0;
+ var eleInvoked = 0;
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+
+ var res = scheduler.Start(() =>
+ xs.GroupByUntil(
+ x =>
+ {
+ keyInvoked++;
+ return x.Trim();
+ },
+ x =>
+ {
+ eleInvoked++;
+ return Reverse(x);
+ },
+ g => g.Skip(2),
+ _groupByUntilCapacity,
+ comparer
+ ).Select(g => g.Key),
+ 355
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "baR"),
+ OnNext(350, "Baz")
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 355)
+ );
+
+ Assert.AreEqual(5, keyInvoked);
+ Assert.AreEqual(5, eleInvoked);
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Outer_KeyThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var keyInvoked = 0;
+ var eleInvoked = 0;
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+
+ var res = scheduler.Start(() =>
+ xs.GroupByUntil(
+ x =>
+ {
+ keyInvoked++;
+ if (keyInvoked == 10)
+ throw ex;
+ return x.Trim();
+ },
+ x =>
+ {
+ eleInvoked++;
+ return Reverse(x);
+ },
+ g => g.Skip(2),
+ _groupByUntilCapacity,
+ comparer
+ ).Select(g => g.Key)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "baR"),
+ OnNext(350, "Baz"),
+ OnNext(360, "qux"),
+ OnNext(470, "FOO"),
+ OnError<string>(480, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 480)
+ );
+
+ Assert.AreEqual(10, keyInvoked);
+ Assert.AreEqual(9, eleInvoked);
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Outer_EleThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var keyInvoked = 0;
+ var eleInvoked = 0;
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+
+ var res = scheduler.Start(() =>
+ xs.GroupByUntil(
+ x =>
+ {
+ keyInvoked++;
+ return x.Trim();
+ },
+ x =>
+ {
+ eleInvoked++;
+ if (eleInvoked == 10)
+ throw ex;
+ return Reverse(x);
+ },
+ g => g.Skip(2),
+ _groupByUntilCapacity,
+ comparer
+ ).Select(g => g.Key)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "baR"),
+ OnNext(350, "Baz"),
+ OnNext(360, "qux"),
+ OnNext(470, "FOO"),
+ OnError<string>(480, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 480)
+ );
+
+ Assert.AreEqual(10, keyInvoked);
+ Assert.AreEqual(10, eleInvoked);
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Outer_ComparerEqualsThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var keyInvoked = 0;
+ var eleInvoked = 0;
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler, 250, ushort.MaxValue);
+
+ var res = scheduler.Start(() =>
+ xs.GroupByUntil(
+ x =>
+ {
+ keyInvoked++;
+ return x.Trim();
+ },
+ x =>
+ {
+ eleInvoked++;
+ return Reverse(x);
+ },
+ g => g.Skip(2),
+ _groupByUntilCapacity,
+ comparer
+ ).Select(g => g.Key)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "baR"),
+ OnError<string>(310, comparer.EqualsException)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 310)
+ );
+
+ Assert.AreEqual(4, keyInvoked);
+ Assert.AreEqual(3, eleInvoked);
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Outer_ComparerGetHashCodeThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var keyInvoked = 0;
+ var eleInvoked = 0;
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler, ushort.MaxValue, 410);
+
+ var res = scheduler.Start(() =>
+ xs.GroupByUntil(
+ x =>
+ {
+ keyInvoked++;
+ return x.Trim();
+ },
+ x =>
+ {
+ eleInvoked++;
+ return Reverse(x);
+ },
+ g => g.Skip(2),
+ _groupByUntilCapacity,
+ comparer
+ ).Select(g => g.Key)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "baR"),
+ OnNext(350, "Baz"),
+ OnNext(360, "qux"),
+ OnError<string>(420, comparer.HashCodeException)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 420)
+ );
+
+ Assert.AreEqual(8, keyInvoked);
+ Assert.AreEqual(7, eleInvoked);
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Inner_Complete()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupByUntil(x => x.Trim(), x => Reverse(x), g => g.Skip(2), _groupByUntilCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ scheduler.ScheduleRelative(100, () => innerSubscriptions[group.Key] = group.Subscribe(result));
+ }));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.Start();
+
+ Assert.AreEqual(5, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnCompleted<string>(320)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(390, "rab "),
+ OnCompleted<string>(420)
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(480, " zab"),
+ OnCompleted<string>(510)
+ );
+
+ res["qux"].Messages.AssertEqual(
+ OnCompleted<string>(570)
+ );
+
+ res["FOO"].Messages.AssertEqual(
+ OnCompleted<string>(570)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Inner_Complete_All()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupByUntil(x => x.Trim(), x => Reverse(x), g => g.Skip(2), _groupByUntilCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ innerSubscriptions[group.Key] = group.Subscribe(result);
+ }));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.Start();
+
+ Assert.AreEqual(5, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(220, "oof "),
+ OnNext(240, " OoF "),
+ OnNext(310, " Oof"),
+ OnCompleted<string>(310)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(270, " Rab"),
+ OnNext(390, "rab "),
+ OnNext(420, " RAB "),
+ OnCompleted<string>(420)
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(350, " zaB "),
+ OnNext(480, " zab"),
+ OnNext(510, " ZAb "),
+ OnCompleted<string>(510)
+ );
+
+ res["qux"].Messages.AssertEqual(
+ OnNext(360, " xuq "),
+ OnCompleted<string>(570)
+ );
+
+ res["FOO"].Messages.AssertEqual(
+ OnNext(470, " OOF"),
+ OnNext(530, " oOf "),
+ OnCompleted<string>(570)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Inner_Error()
+ {
+ var scheduler = new TestScheduler();
+
+ var ex1 = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnError<string>(570, ex1),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupByUntil(x => x.Trim(), x => Reverse(x), g => g.Skip(2), _groupByUntilCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ scheduler.ScheduleRelative(100, () => innerSubscriptions[group.Key] = group.Subscribe(result));
+ }, ex => { }));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.Start();
+
+ Assert.AreEqual(5, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnCompleted<string>(320)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(390, "rab "),
+ OnCompleted<string>(420)
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(480, " zab"),
+ OnCompleted<string>(510)
+ );
+
+ res["qux"].Messages.AssertEqual(
+ OnError<string>(570, ex1)
+ );
+
+ res["FOO"].Messages.AssertEqual(
+ OnError<string>(570, ex1)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Inner_Dispose()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupByUntil(x => x.Trim(), x => Reverse(x), g => g.Skip(2), _groupByUntilCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ innerSubscriptions[group.Key] = group.Subscribe(result);
+ }));
+
+ scheduler.ScheduleAbsolute(400, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.Start();
+
+ Assert.AreEqual(4, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(220, "oof "),
+ OnNext(240, " OoF "),
+ OnNext(310, " Oof"),
+ OnCompleted<string>(310)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(270, " Rab"),
+ OnNext(390, "rab ")
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(350, " zaB ")
+ );
+
+ res["qux"].Messages.AssertEqual(
+ OnNext(360, " xuq ")
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 400)
+ );
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Inner_KeyThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+
+ var keyInvoked = 0;
+ var ex = new Exception();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupByUntil(x =>
+ {
+ keyInvoked++;
+ if (keyInvoked == 6)
+ throw ex;
+ return x.Trim();
+ }, x => Reverse(x), g => g.Skip(2), _groupByUntilCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ innerSubscriptions[group.Key] = group.Subscribe(result);
+ }, _ => { }));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.Start();
+
+ Assert.AreEqual(3, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(220, "oof "),
+ OnNext(240, " OoF "),
+ OnNext(310, " Oof"),
+ OnCompleted<string>(310)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(270, " Rab"),
+ OnError<string>(360, ex)
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(350, " zaB "),
+ OnError<string>(360, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 360)
+ );
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Inner_EleThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+
+ var eleInvoked = 0;
+ var ex = new Exception();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupByUntil(x => x.Trim(), x =>
+ {
+ eleInvoked++;
+ if (eleInvoked == 6)
+ throw ex;
+ return Reverse(x);
+ }, g => g.Skip(2), _groupByUntilCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ innerSubscriptions[group.Key] = group.Subscribe(result);
+ }, _ => { }));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.Start();
+
+ Assert.AreEqual(4, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(220, "oof "),
+ OnNext(240, " OoF "),
+ OnNext(310, " Oof"),
+ OnCompleted<string>(310)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(270, " Rab"),
+ OnError<string>(360, ex)
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(350, " zaB "),
+ OnError<string>(360, ex)
+ );
+
+ res["qux"].Messages.AssertEqual(
+ OnError<string>(360, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 360)
+ );
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Inner_Comparer_EqualsThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler, 400, ushort.MaxValue);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupByUntil(x => x.Trim(), x => Reverse(x), g => g.Skip(2), _groupByUntilCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ innerSubscriptions[group.Key] = group.Subscribe(result);
+ }, _ => { }));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.Start();
+
+ Assert.AreEqual(4, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(220, "oof "),
+ OnNext(240, " OoF "),
+ OnNext(310, " Oof"),
+ OnCompleted<string>(310)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(270, " Rab"),
+ OnNext(390, "rab "),
+ OnError<string>(420, comparer.EqualsException)
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(350, " zaB "),
+ OnError<string>(420, comparer.EqualsException)
+ );
+
+ res["qux"].Messages.AssertEqual(
+ OnNext(360, " xuq "),
+ OnError<string>(420, comparer.EqualsException)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 420)
+ );
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Inner_Comparer_GetHashCodeThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler, ushort.MaxValue, 400);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupByUntil(x => x.Trim(), x => Reverse(x), g => g.Skip(2), _groupByUntilCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ innerSubscriptions[group.Key] = group.Subscribe(result);
+ }, _ => { }));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.Start();
+
+ Assert.AreEqual(4, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(220, "oof "),
+ OnNext(240, " OoF "),
+ OnNext(310, " Oof"),
+ OnCompleted<string>(310)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(270, " Rab"),
+ OnNext(390, "rab "),
+ OnError<string>(420, comparer.HashCodeException)
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(350, " zaB "),
+ OnError<string>(420, comparer.HashCodeException)
+ );
+
+ res["qux"].Messages.AssertEqual(
+ OnNext(360, " xuq "),
+ OnError<string>(420, comparer.HashCodeException)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 420)
+ );
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Outer_Independence()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+ var outerResults = scheduler.CreateObserver<string>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupByUntil(x => x.Trim(), x => Reverse(x), g => g.Skip(2), _groupByUntilCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ outerResults.OnNext(group.Key);
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ innerSubscriptions[group.Key] = group.Subscribe(result);
+ }, outerResults.OnError, outerResults.OnCompleted));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.ScheduleAbsolute(320, () => outerSubscription.Dispose());
+
+ scheduler.Start();
+
+ Assert.AreEqual(2, inners.Count);
+
+ outerResults.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "baR")
+ );
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(220, "oof "),
+ OnNext(240, " OoF "),
+ OnNext(310, " Oof"),
+ OnCompleted<string>(310)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(270, " Rab"),
+ OnNext(390, "rab "),
+ OnNext(420, " RAB "),
+ OnCompleted<string>(420)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 420)
+ );
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Inner_Independence()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+ var outerResults = scheduler.CreateObserver<string>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupByUntil(x => x.Trim(), x => Reverse(x), g => g.Skip(2), _groupByUntilCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ outerResults.OnNext(group.Key);
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ innerSubscriptions[group.Key] = group.Subscribe(result);
+ }, outerResults.OnError, outerResults.OnCompleted));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.ScheduleAbsolute(320, () => innerSubscriptions["foo"].Dispose());
+
+ scheduler.Start();
+
+ Assert.AreEqual(5, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(220, "oof "),
+ OnNext(240, " OoF "),
+ OnNext(310, " Oof"),
+ OnCompleted<string>(310)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(270, " Rab"),
+ OnNext(390, "rab "),
+ OnNext(420, " RAB "),
+ OnCompleted<string>(420)
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(350, " zaB "),
+ OnNext(480, " zab"),
+ OnNext(510, " ZAb "),
+ OnCompleted<string>(510)
+ );
+
+ res["qux"].Messages.AssertEqual(
+ OnNext(360, " xuq "),
+ OnCompleted<string>(570)
+ );
+
+ res["FOO"].Messages.AssertEqual(
+ OnNext(470, " OOF"),
+ OnNext(530, " oOf "),
+ OnCompleted<string>(570)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Inner_Multiple_Independence()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var comparer = new GroupByComparer(scheduler);
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inners = new Dictionary<string, IObservable<string>>();
+ var innerSubscriptions = new Dictionary<string, IDisposable>();
+ var res = new Dictionary<string, ITestableObserver<string>>();
+ var outerResults = scheduler.CreateObserver<string>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupByUntil(x => x.Trim(), x => Reverse(x), g => g.Skip(2), _groupByUntilCapacity, comparer));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ outerResults.OnNext(group.Key);
+ var result = scheduler.CreateObserver<string>();
+ inners[group.Key] = group;
+ res[group.Key] = result;
+ innerSubscriptions[group.Key] = group.Subscribe(result);
+ }, outerResults.OnError, outerResults.OnCompleted));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ foreach (var d in innerSubscriptions.Values)
+ d.Dispose();
+ });
+
+ scheduler.ScheduleAbsolute(320, () => innerSubscriptions["foo"].Dispose());
+ scheduler.ScheduleAbsolute(280, () => innerSubscriptions["baR"].Dispose());
+ scheduler.ScheduleAbsolute(355, () => innerSubscriptions["Baz"].Dispose());
+ scheduler.ScheduleAbsolute(400, () => innerSubscriptions["qux"].Dispose());
+
+ scheduler.Start();
+
+ Assert.AreEqual(5, inners.Count);
+
+ res["foo"].Messages.AssertEqual(
+ OnNext(220, "oof "),
+ OnNext(240, " OoF "),
+ OnNext(310, " Oof"),
+ OnCompleted<string>(310)
+ );
+
+ res["baR"].Messages.AssertEqual(
+ OnNext(270, " Rab")
+ );
+
+ res["Baz"].Messages.AssertEqual(
+ OnNext(350, " zaB ")
+ );
+
+ res["qux"].Messages.AssertEqual(
+ OnNext(360, " xuq ")
+ );
+
+ res["FOO"].Messages.AssertEqual(
+ OnNext(470, " OOF"),
+ OnNext(530, " oOf "),
+ OnCompleted<string>(570)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Inner_Escape_Complete()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(310, "foO "),
+ OnNext(470, "FOO "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570)
+ );
+
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inner = default(IObservable<string>);
+ var innerSubscription = default(IDisposable);
+ var res = scheduler.CreateObserver<string>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupByUntil(x => x.Trim(), g => g.Skip(2), _groupByUntilCapacity));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ inner = group;
+ }));
+
+ scheduler.ScheduleAbsolute(600, () => innerSubscription = inner.Subscribe(res));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ innerSubscription.Dispose();
+ });
+
+ scheduler.Start();
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+
+ res.Messages.AssertEqual(
+ OnCompleted<string>(600)
+ );
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Inner_Escape_Error()
+ {
+ var scheduler = new TestScheduler();
+
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(310, "foO "),
+ OnNext(470, "FOO "),
+ OnNext(530, " fOo "),
+ OnError<string>(570, ex)
+ );
+
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inner = default(IObservable<string>);
+ var innerSubscription = default(IDisposable);
+ var res = scheduler.CreateObserver<string>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupByUntil(x => x.Trim(), g => g.Skip(2), _groupByUntilCapacity));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ inner = group;
+ }, _ => { }));
+
+ scheduler.ScheduleAbsolute(600, () => innerSubscription = inner.Subscribe(res));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ outerSubscription.Dispose();
+ innerSubscription.Dispose();
+ });
+
+ scheduler.Start();
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+
+ res.Messages.AssertEqual(
+ OnError<string>(600, ex)
+ );
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Inner_Escape_Dispose()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(310, "foO "),
+ OnNext(470, "FOO "),
+ OnNext(530, " fOo "),
+ OnError<string>(570, new Exception())
+ );
+
+ var outer = default(IObservable<IGroupedObservable<string, string>>);
+ var outerSubscription = default(IDisposable);
+ var inner = default(IObservable<string>);
+ var innerSubscription = default(IDisposable);
+ var res = scheduler.CreateObserver<string>();
+
+ scheduler.ScheduleAbsolute(Created, () => outer = xs.GroupByUntil(x => x.Trim(), g => g.Skip(2), _groupByUntilCapacity));
+
+ scheduler.ScheduleAbsolute(Subscribed, () => outerSubscription = outer.Subscribe(group =>
+ {
+ inner = group;
+ }));
+
+ scheduler.ScheduleAbsolute(290, () => outerSubscription.Dispose());
+
+ scheduler.ScheduleAbsolute(600, () => innerSubscription = inner.Subscribe(res));
+
+ scheduler.ScheduleAbsolute(Disposed, () =>
+ {
+ innerSubscription.Dispose();
+ });
+
+ scheduler.Start();
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 290)
+ );
+
+ res.Messages.AssertEqual(
+ );
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_Default()
+ {
+ var scheduler = new TestScheduler();
+
+ var keyInvoked = 0;
+ var eleInvoked = 0;
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(90, "error"),
+ OnNext(110, "error"),
+ OnNext(130, "error"),
+ OnNext(220, " foo"),
+ OnNext(240, " FoO "),
+ OnNext(270, "baR "),
+ OnNext(310, "foO "),
+ OnNext(350, " Baz "),
+ OnNext(360, " qux "),
+ OnNext(390, " bar"),
+ OnNext(420, " BAR "),
+ OnNext(470, "FOO "),
+ OnNext(480, "baz "),
+ OnNext(510, " bAZ "),
+ OnNext(530, " fOo "),
+ OnCompleted<string>(570),
+ OnNext(580, "error"),
+ OnCompleted<string>(600),
+ OnError<string>(650, new Exception())
+ );
+
+ var res = scheduler.Start(() =>
+ xs.GroupByUntil(
+ x =>
+ {
+ keyInvoked++;
+ return x.Trim().ToLower();
+ },
+ x =>
+ {
+ eleInvoked++;
+ return Reverse(x);
+ },
+ g => g.Skip(2),
+ _groupByUntilCapacity
+ ).Select(g => g.Key)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(220, "foo"),
+ OnNext(270, "bar"),
+ OnNext(350, "baz"),
+ OnNext(360, "qux"),
+ OnNext(470, "foo"),
+ OnCompleted<string>(570)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 570)
+ );
+
+ Assert.AreEqual(12, keyInvoked);
+ Assert.AreEqual(12, eleInvoked);
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_DurationSelector_Throws()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, "foo")
+ );
+
+ var ex = new Exception();
+
+ var res = scheduler.Start(() =>
+ xs.GroupByUntil<string, string, string>(x => x, g => { throw ex; }, _groupByUntilCapacity)
+ );
+
+ res.Messages.AssertEqual(
+ OnError<IGroupedObservable<string, string>>(210, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 210)
+ );
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_NullKeys_Simple_Never()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, "bar"),
+ OnNext(240, "foo"),
+ OnNext(310, "qux"),
+ OnNext(470, "baz"),
+ OnCompleted<string>(500)
+ );
+
+ var res = scheduler.Start(() => xs.GroupByUntil(x => x[0] == 'b' ? null : x.ToUpper(), g => Observable.Never<Unit>(), _groupByUntilCapacity).SelectMany(g => g, (g, x) => (g.Key ?? "(null)") + x));
+
+ res.Messages.AssertEqual(
+ OnNext(220, "(null)bar"),
+ OnNext(240, "FOOfoo"),
+ OnNext(310, "QUXqux"),
+ OnNext(470, "(null)baz"),
+ OnCompleted<string>(500)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 500)
+ );
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_NullKeys_Simple_Expire1()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, "bar"),
+ OnNext(240, "foo"),
+ OnNext(310, "qux"),
+ OnNext(470, "baz"),
+ OnCompleted<string>(500)
+ );
+
+ var n = 0;
+ var res = scheduler.Start(() => xs.GroupByUntil(x => x[0] == 'b' ? null : x.ToUpper(), g => { if (g.Key == null) n++; return Observable.Timer(TimeSpan.FromTicks(50), scheduler); }, _groupByUntilCapacity).SelectMany(g => g, (g, x) => (g.Key ?? "(null)") + x));
+
+ Assert.AreEqual(2, n);
+
+ res.Messages.AssertEqual(
+ OnNext(220, "(null)bar"),
+ OnNext(240, "FOOfoo"),
+ OnNext(310, "QUXqux"),
+ OnNext(470, "(null)baz"),
+ OnCompleted<string>(500)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 500)
+ );
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_NullKeys_Simple_Expire2()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, "bar"),
+ OnNext(240, "foo"),
+ OnNext(310, "qux"),
+ OnNext(470, "baz"),
+ OnCompleted<string>(500)
+ );
+
+ var n = 0;
+ var res = scheduler.Start(() => xs.GroupByUntil(x => x[0] == 'b' ? null : x.ToUpper(), g => { if (g.Key == null) n++; return Observable.Timer(TimeSpan.FromTicks(50), scheduler).IgnoreElements(); }, _groupByUntilCapacity).SelectMany(g => g, (g, x) => (g.Key ?? "(null)") + x));
+
+ Assert.AreEqual(2, n);
+
+ res.Messages.AssertEqual(
+ OnNext(220, "(null)bar"),
+ OnNext(240, "FOOfoo"),
+ OnNext(310, "QUXqux"),
+ OnNext(470, "(null)baz"),
+ OnCompleted<string>(500)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 500)
+ );
+ }
+
+ [TestMethod]
+ public void GroupByUntil_Capacity_NullKeys_Error()
+ {
+ var scheduler = new TestScheduler();
+
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, "bar"),
+ OnNext(240, "foo"),
+ OnNext(310, "qux"),
+ OnNext(470, "baz"),
+ OnError<string>(500, ex)
+ );
+
+ var nullGroup = scheduler.CreateObserver<string>();
+ var err = default(Exception);
+
+ scheduler.ScheduleAbsolute(200, () => xs.GroupByUntil(x => x[0] == 'b' ? null : x.ToUpper(), g => Observable.Never<Unit>(), _groupByUntilCapacity).Where(g => g.Key == null).Subscribe(g => g.Subscribe(nullGroup), ex_ => err = ex_));
+ scheduler.Start();
+
+ Assert.AreSame(ex, err);
+
+ nullGroup.Messages.AssertEqual(
+ OnNext(220, "bar"),
+ OnNext(470, "baz"),
+ OnError<string>(500, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 500)
+ );
+ }
+
+ #endregion
+
#region + GroupJoin +
[TestMethod]
@@ -8425,196 +11991,620 @@ namespace ReactiveTests.Tests
}
[TestMethod]
- // Tests this overload:
- // IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> selector);
- public void SelectMany_WithIndex_Complete()
+ public void SelectManyWithIndex_ArgumentChecking()
+ {
+ ReactiveAssert.Throws<ArgumentNullException>(() => ((IObservable<int>)null).SelectMany<int, int>(DummyFunc<int, int, IObservable<int>>.Instance));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.SelectMany((Func<int, int, IObservable<int>>)null));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.SelectMany(DummyFunc<int, int, IObservable<int>>.Instance).Subscribe(null));
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Index()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 4),
+ OnNext(220, 3),
+ OnNext(250, 5),
+ OnNext(270, 1),
+ OnCompleted<int>(290)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, i) => Observable.Return(new { x, i }))
+ );
+
+ var witness = new { x = 0, i = 0 };
+
+ res.Messages.AssertEqual(
+ OnNext(210, new { x = 4, i = 0 }),
+ OnNext(220, new { x = 3, i = 1 }),
+ OnNext(250, new { x = 5, i = 2 }),
+ OnNext(270, new { x = 1, i = 3 }),
+ OnCompleted(290, witness)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 290)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Complete()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(5, scheduler.CreateColdObservable(
+ OnError<int>(1, new InvalidOperationException()))),
+ OnNext(105, scheduler.CreateColdObservable(
+ OnError<int>(1, new InvalidOperationException()))),
+ OnNext(300, scheduler.CreateColdObservable(
+ OnNext(10, 102),
+ OnNext(90, 103),
+ OnNext(110, 104),
+ OnNext(190, 105),
+ OnNext(440, 106),
+ OnCompleted<int>(460))),
+ OnNext(400, scheduler.CreateColdObservable(
+ OnNext(180, 202),
+ OnNext(190, 203),
+ OnCompleted<int>(205))),
+ OnNext(550, scheduler.CreateColdObservable(
+ OnNext(10, 301),
+ OnNext(50, 302),
+ OnNext(70, 303),
+ OnNext(260, 304),
+ OnNext(310, 305),
+ OnCompleted<int>(410))),
+ OnNext(750, scheduler.CreateColdObservable(
+ OnCompleted<int>(40))),
+ OnNext(850, scheduler.CreateColdObservable(
+ OnNext(80, 401),
+ OnNext(90, 402),
+ OnCompleted<int>(100))),
+ OnCompleted<ITestableObservable<int>>(900)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => x)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(310, 102),
+ OnNext(390, 103),
+ OnNext(410, 104),
+ OnNext(490, 105),
+ OnNext(560, 301),
+ OnNext(580, 202),
+ OnNext(590, 203),
+ OnNext(600, 302),
+ OnNext(620, 303),
+ OnNext(740, 106),
+ OnNext(810, 304),
+ OnNext(860, 305),
+ OnNext(930, 401),
+ OnNext(940, 402),
+ OnCompleted<int>(960)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 900));
+
+ xs.Messages[2].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(300, 760));
+
+ xs.Messages[3].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(400, 605));
+
+ xs.Messages[4].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(550, 960));
+
+ xs.Messages[5].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(750, 790));
+
+ xs.Messages[6].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(850, 950));
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Complete_InnerNotComplete()
{
var scheduler = new TestScheduler();
- ITestableObservable<char> cs = scheduler.CreateHotObservable(
- OnNext(190, 'h'), // Test scheduler starts pushing events at time 200, so this is ignored.
- OnNext(250, 'a'),
- OnNext(270, 'l'),
- OnNext(310, 'o'),
- OnCompleted<char>(410)
- );
+ var xs = scheduler.CreateHotObservable(
+ OnNext(5, scheduler.CreateColdObservable(
+ OnError<int>(1, new InvalidOperationException()))),
+ OnNext(105, scheduler.CreateColdObservable(
+ OnError<int>(1, new InvalidOperationException()))),
+ OnNext(300, scheduler.CreateColdObservable(
+ OnNext(10, 102),
+ OnNext(90, 103),
+ OnNext(110, 104),
+ OnNext(190, 105),
+ OnNext(440, 106),
+ OnCompleted<int>(460))),
+ OnNext(400, scheduler.CreateColdObservable(
+ OnNext(180, 202),
+ OnNext(190, 203))),
+ OnNext(550, scheduler.CreateColdObservable(
+ OnNext(10, 301),
+ OnNext(50, 302),
+ OnNext(70, 303),
+ OnNext(260, 304),
+ OnNext(310, 305),
+ OnCompleted<int>(410))),
+ OnNext(750, scheduler.CreateColdObservable(
+ OnCompleted<int>(40))),
+ OnNext(850, scheduler.CreateColdObservable(
+ OnNext(80, 401),
+ OnNext(90, 402),
+ OnCompleted<int>(100))),
+ OnCompleted<ITestableObservable<int>>(900)
+ );
var res = scheduler.Start(() =>
- cs.SelectMany(
- (x, i) => Observable.Return(new { x, i }, scheduler)
- ));
+ xs.SelectMany((x, _) => x)
+ );
res.Messages.AssertEqual(
- OnNext(251, new { x = 'a', i = 0 }),
- OnNext(271, new { x = 'l', i = 1 }),
- OnNext(311, new { x = 'o', i = 2 }),
- OnCompleted(new { x = default(char), i = default(int) }, 410)
+ OnNext(310, 102),
+ OnNext(390, 103),
+ OnNext(410, 104),
+ OnNext(490, 105),
+ OnNext(560, 301),
+ OnNext(580, 202),
+ OnNext(590, 203),
+ OnNext(600, 302),
+ OnNext(620, 303),
+ OnNext(740, 106),
+ OnNext(810, 304),
+ OnNext(860, 305),
+ OnNext(930, 401),
+ OnNext(940, 402)
);
- cs.Subscriptions.AssertEqual(
- Subscribe(200, 410));
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 900));
+
+ xs.Messages[2].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(300, 760));
+
+ xs.Messages[3].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(400, 1000));
+
+ xs.Messages[4].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(550, 960));
+
+ xs.Messages[5].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(750, 790));
+
+ xs.Messages[6].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(850, 950));
}
[TestMethod]
- // Tests this overload:
- // IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, IEnumerable<TResult>> selector);
- public void SelectMany_WithIndex_IEnumerable_Complete()
+ public void SelectManyWithIndex_Complete_OuterNotComplete()
{
var scheduler = new TestScheduler();
- ITestableObservable<char> cs = scheduler.CreateHotObservable(
- OnNext(190, 'h'), // Test scheduler starts pushing events at time 200, so this is ignored.
- OnNext(250, 'a'),
- OnNext(270, 'l'),
- OnNext(310, 'o'),
- OnCompleted<char>(410)
- );
+ var xs = scheduler.CreateHotObservable(
+ OnNext(5, scheduler.CreateColdObservable(
+ OnError<int>(1, new InvalidOperationException()))),
+ OnNext(105, scheduler.CreateColdObservable(
+ OnError<int>(1, new InvalidOperationException()))),
+ OnNext(300, scheduler.CreateColdObservable(
+ OnNext(10, 102),
+ OnNext(90, 103),
+ OnNext(110, 104),
+ OnNext(190, 105),
+ OnNext(440, 106),
+ OnCompleted<int>(460))),
+ OnNext(400, scheduler.CreateColdObservable(
+ OnNext(180, 202),
+ OnNext(190, 203),
+ OnCompleted<int>(205))),
+ OnNext(550, scheduler.CreateColdObservable(
+ OnNext(10, 301),
+ OnNext(50, 302),
+ OnNext(70, 303),
+ OnNext(260, 304),
+ OnNext(310, 305),
+ OnCompleted<int>(410))),
+ OnNext(750, scheduler.CreateColdObservable(
+ OnCompleted<int>(40))),
+ OnNext(850, scheduler.CreateColdObservable(
+ OnNext(80, 401),
+ OnNext(90, 402),
+ OnCompleted<int>(100)))
+ );
var res = scheduler.Start(() =>
- cs.SelectMany(
- (c, i) => new [] { new { c = c, i = i } }
- ));
+ xs.SelectMany((x, _) => x)
+ );
-
res.Messages.AssertEqual(
- OnNext(250, new { c = 'a', i = 0 }),
- OnNext(270, new { c = 'l', i = 1 }),
- OnNext(310, new { c = 'o', i = 2 }),
- OnCompleted(new { c = default(char), i = default(int) }, 410)
+ OnNext(310, 102),
+ OnNext(390, 103),
+ OnNext(410, 104),
+ OnNext(490, 105),
+ OnNext(560, 301),
+ OnNext(580, 202),
+ OnNext(590, 203),
+ OnNext(600, 302),
+ OnNext(620, 303),
+ OnNext(740, 106),
+ OnNext(810, 304),
+ OnNext(860, 305),
+ OnNext(930, 401),
+ OnNext(940, 402)
);
- cs.Subscriptions.AssertEqual(
- Subscribe(200, 410));
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 1000));
+
+ xs.Messages[2].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(300, 760));
+
+ xs.Messages[3].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(400, 605));
+
+ xs.Messages[4].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(550, 960));
+
+ xs.Messages[5].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(750, 790));
+
+ xs.Messages[6].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(850, 950));
}
+ [TestMethod]
+ public void SelectManyWithIndex_Error_Outer()
+ {
+ var scheduler = new TestScheduler();
+
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(5, scheduler.CreateColdObservable(
+ OnError<int>(1, new InvalidOperationException()))),
+ OnNext(105, scheduler.CreateColdObservable(
+ OnError<int>(1, new InvalidOperationException()))),
+ OnNext(300, scheduler.CreateColdObservable(
+ OnNext(10, 102),
+ OnNext(90, 103),
+ OnNext(110, 104),
+ OnNext(190, 105),
+ OnNext(440, 106),
+ OnCompleted<int>(460))),
+ OnNext(400, scheduler.CreateColdObservable(
+ OnNext(180, 202),
+ OnNext(190, 203),
+ OnCompleted<int>(205))),
+ OnNext(550, scheduler.CreateColdObservable(
+ OnNext(10, 301),
+ OnNext(50, 302),
+ OnNext(70, 303),
+ OnNext(260, 304),
+ OnNext(310, 305),
+ OnCompleted<int>(410))),
+ OnNext(750, scheduler.CreateColdObservable(
+ OnCompleted<int>(40))),
+ OnNext(850, scheduler.CreateColdObservable(
+ OnNext(80, 401),
+ OnNext(90, 402),
+ OnCompleted<int>(100))),
+ OnError<ITestableObservable<int>>(900, ex)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => x)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(310, 102),
+ OnNext(390, 103),
+ OnNext(410, 104),
+ OnNext(490, 105),
+ OnNext(560, 301),
+ OnNext(580, 202),
+ OnNext(590, 203),
+ OnNext(600, 302),
+ OnNext(620, 303),
+ OnNext(740, 106),
+ OnNext(810, 304),
+ OnNext(860, 305),
+ OnError<int>(900, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 900));
+
+ xs.Messages[2].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(300, 760));
+
+ xs.Messages[3].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(400, 605));
+
+ xs.Messages[4].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(550, 900));
+
+ xs.Messages[5].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(750, 790));
+
+ xs.Messages[6].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(850, 900));
+ }
[TestMethod]
- // Tests this overload:
- // IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, int, IObservable<TCollection>> collectionSelector, Func<TSource, TCollection, int, TResult> resultSelector);
- public void SelectMany_WithIndex_IObservable_ResultSelector_Complete()
+ public void SelectManyWithIndex_Error_Inner()
{
var scheduler = new TestScheduler();
- ITestableObservable<ITestableObservable<char>> css = scheduler.CreateHotObservable(
- OnNext(190, scheduler.CreateColdObservable(
- OnNext(1, 'h'),
- OnCompleted<char>(2))),
- OnNext(250, scheduler.CreateColdObservable(
- OnNext(1, 'a'),
- OnCompleted<char>(2))),
- OnNext(270, scheduler.CreateColdObservable(
- OnNext(1, 'l'),
- OnCompleted<char>(2))),
- OnNext(310, scheduler.CreateColdObservable(
- OnNext(1, 'o'),
- OnNext(2, ' '),
- OnNext(3, 'r'),
- OnNext(4, 'u'),
- OnNext(5, 'l'),
- OnNext(6, 'e'),
- OnNext(7, 'z'),
- OnCompleted<char>(8))),
- OnCompleted<ITestableObservable<char>>(410)
- );
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(5, scheduler.CreateColdObservable(
+ OnError<int>(1, new InvalidOperationException()))),
+ OnNext(105, scheduler.CreateColdObservable(
+ OnError<int>(1, new InvalidOperationException()))),
+ OnNext(300, scheduler.CreateColdObservable(
+ OnNext(10, 102),
+ OnNext(90, 103),
+ OnNext(110, 104),
+ OnNext(190, 105),
+ OnNext(440, 106),
+ OnError<int>(460, ex))),
+ OnNext(400, scheduler.CreateColdObservable(
+ OnNext(180, 202),
+ OnNext(190, 203),
+ OnCompleted<int>(205))),
+ OnNext(550, scheduler.CreateColdObservable(
+ OnNext(10, 301),
+ OnNext(50, 302),
+ OnNext(70, 303),
+ OnNext(260, 304),
+ OnNext(310, 305),
+ OnCompleted<int>(410))),
+ OnNext(750, scheduler.CreateColdObservable(
+ OnCompleted<int>(40))),
+ OnNext(850, scheduler.CreateColdObservable(
+ OnNext(80, 401),
+ OnNext(90, 402),
+ OnCompleted<int>(100))),
+ OnCompleted<ITestableObservable<int>>(900)
+ );
var res = scheduler.Start(() =>
- css.SelectMany(
- (foo, i) =>
- {
- return foo.Select(c => new { c = c, i = i });
- },
- (source, i, cs, j) => new { c = cs.c, i = cs.i, i2 = i, j = j }
- ));
+ xs.SelectMany((x, _) => x)
+ );
res.Messages.AssertEqual(
- OnNext(251, new { c = 'a', i = 0, i2 = 0, j = 0 }),
- OnNext(271, new { c = 'l', i = 1, i2 = 1, j = 0 }),
- OnNext(311, new { c = 'o', i = 2, i2 = 2, j = 0 }),
- OnNext(312, new { c = ' ', i = 2, i2 = 2, j = 1 }),
- OnNext(313, new { c = 'r', i = 2, i2 = 2, j = 2 }),
- OnNext(314, new { c = 'u', i = 2, i2 = 2, j = 3 }),
- OnNext(315, new { c = 'l', i = 2, i2 = 2, j = 4 }),
- OnNext(316, new { c = 'e', i = 2, i2 = 2, j = 5 }),
- OnNext(317, new { c = 'z', i = 2, i2 = 2, j = 6 }),
- OnCompleted(new { c = 'a', i = 0, i2 = 0, j = 0 }, 410)
+ OnNext(310, 102),
+ OnNext(390, 103),
+ OnNext(410, 104),
+ OnNext(490, 105),
+ OnNext(560, 301),
+ OnNext(580, 202),
+ OnNext(590, 203),
+ OnNext(600, 302),
+ OnNext(620, 303),
+ OnNext(740, 106),
+ OnError<int>(760, ex)
);
- css.Subscriptions.AssertEqual(
- Subscribe(200, 410));
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 760));
+
+ xs.Messages[2].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(300, 760));
+
+ xs.Messages[3].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(400, 605));
+
+ xs.Messages[4].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(550, 760));
+
+ xs.Messages[5].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(750, 760));
+
+ xs.Messages[6].Value.Value.Subscriptions.AssertEqual(
+ );
}
-
[TestMethod]
- // Tests this overload:
- // IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, int, IEnumerable<TCollection>> collectionSelector, Func<TSource, int, TCollection, int, TResult> resultSelector);
- public void SelectMany_WithIndex_IEnumerable_ResultSelector_Complete()
+ public void SelectManyWithIndex_Dispose()
{
var scheduler = new TestScheduler();
var xs = scheduler.CreateHotObservable(
- OnNext(210, 5),
- OnNext(340, 4),
- OnNext(420, 3),
- OnCompleted<int>(600)
+ OnNext(5, scheduler.CreateColdObservable(
+ OnError<int>(1, new InvalidOperationException()))),
+ OnNext(105, scheduler.CreateColdObservable(
+ OnError<int>(1, new InvalidOperationException()))),
+ OnNext(300, scheduler.CreateColdObservable(
+ OnNext(10, 102),
+ OnNext(90, 103),
+ OnNext(110, 104),
+ OnNext(190, 105),
+ OnNext(440, 106),
+ OnCompleted<int>(460))),
+ OnNext(400, scheduler.CreateColdObservable(
+ OnNext(180, 202),
+ OnNext(190, 203),
+ OnCompleted<int>(205))),
+ OnNext(550, scheduler.CreateColdObservable(
+ OnNext(10, 301),
+ OnNext(50, 302),
+ OnNext(70, 303),
+ OnNext(260, 304),
+ OnNext(310, 305),
+ OnCompleted<int>(410))),
+ OnNext(750, scheduler.CreateColdObservable(
+ OnCompleted<int>(40))),
+ OnNext(850, scheduler.CreateColdObservable(
+ OnNext(80, 401),
+ OnNext(90, 402),
+ OnCompleted<int>(100))),
+ OnCompleted<ITestableObservable<int>>(900)
);
var res = scheduler.Start(() =>
- xs.SelectMany(
- (x, i) => new[] { new { x = x + 1, i = i }, new { x = -x, i = i }, new { x = x * x, i = i } },
- (x, i, y, j) => new { x = x, i = i, y = y.x, y_i = y.i, j = j })
+ xs.SelectMany((x, _) => x),
+ 700
);
-
+
res.Messages.AssertEqual(
- OnNext(210, new { x = 5, i = 0, y = 6, y_i = 0, j = 0 }),
- OnNext(210, new { x = 5, i = 0, y = -5, y_i = 0, j = 1 }),
- OnNext(210, new { x = 5, i = 0, y = 25, y_i = 0, j = 2 }),
- OnNext(340, new { x = 4, i = 1, y = 5, y_i = 1, j = 0 }),
- OnNext(340, new { x = 4, i = 1, y = -4, y_i = 1, j = 1 }),
- OnNext(340, new { x = 4, i = 1, y = 16, y_i = 1, j = 2 }),
- OnNext(420, new { x = 3, i = 2, y = 4, y_i = 2, j = 0 }),
- OnNext(420, new { x = 3, i = 2, y = -3, y_i = 2, j = 1 }),
- OnNext(420, new { x = 3, i = 2, y = 9, y_i = 2, j = 2 }),
- OnCompleted(new { x = default(int), i = default(int), y = default(int), y_i = default(int), j = default(int) }, 600)
+ OnNext(310, 102),
+ OnNext(390, 103),
+ OnNext(410, 104),
+ OnNext(490, 105),
+ OnNext(560, 301),
+ OnNext(580, 202),
+ OnNext(590, 203),
+ OnNext(600, 302),
+ OnNext(620, 303)
);
xs.Subscriptions.AssertEqual(
- Subscribe(200, 600)
+ Subscribe(200, 700));
+
+ xs.Messages[2].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(300, 700));
+
+ xs.Messages[3].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(400, 605));
+
+ xs.Messages[4].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(550, 700));
+
+ xs.Messages[5].Value.Value.Subscriptions.AssertEqual(
+ );
+
+ xs.Messages[6].Value.Value.Subscriptions.AssertEqual(
);
}
[TestMethod]
- // Tests this overload:
- // IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> onNext, Func<Exception, int, IObservable<TResult>> onError, Func<int, IObservable<TResult>> onCompleted);
- public void SelectMany_WithIndex_Triple_Complete()
+ public void SelectManyWithIndex_Throw()
{
var scheduler = new TestScheduler();
- ITestableObservable<char> cs = scheduler.CreateHotObservable(
- OnNext(190, 'h'), // Test scheduler starts pushing events at time 200, so this is ignored.
- OnNext(250, 'a'),
- OnNext(270, 'l'),
- OnNext(310, 'o'),
- OnCompleted<char>(410)
- );
+ var xs = scheduler.CreateHotObservable(
+ OnNext(5, scheduler.CreateColdObservable(
+ OnError<int>(1, new InvalidOperationException()))),
+ OnNext(105, scheduler.CreateColdObservable(
+ OnError<int>(1, new InvalidOperationException()))),
+ OnNext(300, scheduler.CreateColdObservable(
+ OnNext(10, 102),
+ OnNext(90, 103),
+ OnNext(110, 104),
+ OnNext(190, 105),
+ OnNext(440, 106),
+ OnCompleted<int>(460))),
+ OnNext(400, scheduler.CreateColdObservable(
+ OnNext(180, 202),
+ OnNext(190, 203),
+ OnCompleted<int>(205))),
+ OnNext(550, scheduler.CreateColdObservable(
+ OnNext(10, 301),
+ OnNext(50, 302),
+ OnNext(70, 303),
+ OnNext(260, 304),
+ OnNext(310, 305),
+ OnCompleted<int>(410))),
+ OnNext(750, scheduler.CreateColdObservable(
+ OnCompleted<int>(40))),
+ OnNext(850, scheduler.CreateColdObservable(
+ OnNext(80, 401),
+ OnNext(90, 402),
+ OnCompleted<int>(100))),
+ OnCompleted<ITestableObservable<int>>(900)
+ );
+
+ var invoked = 0;
+
+ var ex = new Exception();
var res = scheduler.Start(() =>
- cs.SelectMany(
- (c, i) => Observable.Return(new { c = c, i = i }, scheduler),
- (ex, i) => { throw ex; },
- (i) => Observable.Repeat(new { c = 'x', i = -1 }, i, scheduler)
- ));
+ xs.SelectMany((x, _) =>
+ {
+ invoked++;
+ if (invoked == 3)
+ throw ex;
+ return x;
+ })
+ );
res.Messages.AssertEqual(
- OnNext(251, new { c = 'a', i = 0 }),
- OnNext(271, new { c = 'l', i = 1 }),
- OnNext(311, new { c = 'o', i = 2 }),
- OnCompleted(new { c = default(char), i = default(int) }, 410)
+ OnNext(310, 102),
+ OnNext(390, 103),
+ OnNext(410, 104),
+ OnNext(490, 105),
+ OnError<int>(550, ex)
);
- cs.Subscriptions.AssertEqual(
- Subscribe(200, 410));
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 550));
+
+ xs.Messages[2].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(300, 550));
+
+ xs.Messages[3].Value.Value.Subscriptions.AssertEqual(
+ Subscribe(400, 550));
+
+ xs.Messages[4].Value.Value.Subscriptions.AssertEqual(
+ );
+
+ xs.Messages[5].Value.Value.Subscriptions.AssertEqual(
+ );
+
+ xs.Messages[6].Value.Value.Subscriptions.AssertEqual(
+ );
+
+ Assert.AreEqual(3, invoked);
}
+ [TestMethod]
+ public void SelectManyWithIndex_UseFunction()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 4),
+ OnNext(220, 3),
+ OnNext(250, 5),
+ OnNext(270, 1),
+ OnCompleted<int>(290)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => Observable.Interval(TimeSpan.FromTicks(10), scheduler).Select(__ => x).Take(x))
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(220, 4),
+ OnNext(230, 3),
+ OnNext(230, 4),
+ OnNext(240, 3),
+ OnNext(240, 4),
+ OnNext(250, 3),
+ OnNext(250, 4),
+ OnNext(260, 5),
+ OnNext(270, 5),
+ OnNext(280, 1),
+ OnNext(280, 5),
+ OnNext(290, 5),
+ OnNext(300, 5),
+ OnCompleted<int>(300)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 290)
+ );
+ }
[TestMethod]
public void SelectMany_Enumerable_ArgumentChecking()
@@ -9311,6 +13301,652 @@ namespace ReactiveTests.Tests
}
[TestMethod]
+ public void SelectManyWithIndex_Enumerable_ArgumentChecking()
+ {
+ ReactiveAssert.Throws<ArgumentNullException>(() => ((IObservable<int>)null).SelectMany<int, int>(DummyFunc<int, int, IEnumerable<int>>.Instance));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.SelectMany((Func<int, int, IEnumerable<int>>)null));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.SelectMany(DummyFunc<int, int, IEnumerable<int>>.Instance).Subscribe(null));
+
+ ReactiveAssert.Throws<ArgumentNullException>(() => ((IObservable<int>)null).SelectMany<int, int, int>(DummyFunc<int, int, IEnumerable<int>>.Instance, DummyFunc<int, int, int, int, int>.Instance));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.SelectMany((Func<int, int, IEnumerable<int>>)null, DummyFunc<int, int, int, int, int>.Instance));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.SelectMany(DummyFunc<int, int, IEnumerable<int>>.Instance, (Func<int, int, int, int, int>)null));
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Enumerable_Index()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 4),
+ OnNext(220, 3),
+ OnNext(250, 5),
+ OnNext(270, 1),
+ OnCompleted<int>(290)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, i) => new[] { new { x, i } })
+ );
+
+ var witness = new { x = 0, i = 0 };
+
+ res.Messages.AssertEqual(
+ OnNext(210, new { x = 4, i = 0 }),
+ OnNext(220, new { x = 3, i = 1 }),
+ OnNext(250, new { x = 5, i = 2 }),
+ OnNext(270, new { x = 1, i = 3 }),
+ OnCompleted(290, witness)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 290)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Enumerable_ResultSelector_Index()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 4),
+ OnNext(220, 3),
+ OnNext(250, 5),
+ OnNext(270, 1),
+ OnCompleted<int>(290)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, i) => Enumerable.Range(10, i + 1), (x, i, y, j) => new { x, i, y, j })
+ );
+
+ var witness = new { x = 0, i = 0, y = 0, j = 0 };
+
+ res.Messages.AssertEqual(
+ OnNext(210, new { x = 4, i = 0, y = 10, j = 0 }),
+ OnNext(220, new { x = 3, i = 1, y = 10, j = 0 }),
+ OnNext(220, new { x = 3, i = 1, y = 11, j = 1 }),
+ OnNext(250, new { x = 5, i = 2, y = 10, j = 0 }),
+ OnNext(250, new { x = 5, i = 2, y = 11, j = 1 }),
+ OnNext(250, new { x = 5, i = 2, y = 12, j = 2 }),
+ OnNext(270, new { x = 1, i = 3, y = 10, j = 0 }),
+ OnNext(270, new { x = 1, i = 3, y = 11, j = 1 }),
+ OnNext(270, new { x = 1, i = 3, y = 12, j = 2 }),
+ OnNext(270, new { x = 1, i = 3, y = 13, j = 3 }),
+ OnCompleted(290, witness)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 290)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Enumerable_Complete()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(420, 3),
+ OnNext(510, 2),
+ OnCompleted<int>(600)
+ );
+
+ var inners = new List<MockEnumerable<int>>();
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) =>
+ {
+ var ys = new MockEnumerable<int>(scheduler, Enumerable.Repeat(x, x));
+ inners.Add(ys);
+ return ys;
+ })
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(210, 2),
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(340, 4),
+ OnNext(340, 4),
+ OnNext(340, 4),
+ OnNext(420, 3),
+ OnNext(420, 3),
+ OnNext(420, 3),
+ OnNext(510, 2),
+ OnNext(510, 2),
+ OnCompleted<int>(600)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 600)
+ );
+
+ Assert.AreEqual(4, inners.Count);
+
+ inners[0].Subscriptions.AssertEqual(
+ Subscribe(210, 210)
+ );
+
+ inners[1].Subscriptions.AssertEqual(
+ Subscribe(340, 340)
+ );
+
+ inners[2].Subscriptions.AssertEqual(
+ Subscribe(420, 420)
+ );
+
+ inners[3].Subscriptions.AssertEqual(
+ Subscribe(510, 510)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Enumerable_Complete_ResultSelector()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(420, 3),
+ OnNext(510, 2),
+ OnCompleted<int>(600)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => Enumerable.Repeat(x, x), (x, _, y, __) => x + y)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(210, 4),
+ OnNext(210, 4),
+ OnNext(340, 8),
+ OnNext(340, 8),
+ OnNext(340, 8),
+ OnNext(340, 8),
+ OnNext(420, 6),
+ OnNext(420, 6),
+ OnNext(420, 6),
+ OnNext(510, 4),
+ OnNext(510, 4),
+ OnCompleted<int>(600)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 600)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Enumerable_Error()
+ {
+ var scheduler = new TestScheduler();
+
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(420, 3),
+ OnNext(510, 2),
+ OnError<int>(600, ex)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => Enumerable.Repeat(x, x))
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(210, 2),
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(340, 4),
+ OnNext(340, 4),
+ OnNext(340, 4),
+ OnNext(420, 3),
+ OnNext(420, 3),
+ OnNext(420, 3),
+ OnNext(510, 2),
+ OnNext(510, 2),
+ OnError<int>(600, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 600)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Enumerable_Error_ResultSelector()
+ {
+ var scheduler = new TestScheduler();
+
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(420, 3),
+ OnNext(510, 2),
+ OnError<int>(600, ex)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => Enumerable.Repeat(x, x), (x, _, y, __) => x + y)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(210, 4),
+ OnNext(210, 4),
+ OnNext(340, 8),
+ OnNext(340, 8),
+ OnNext(340, 8),
+ OnNext(340, 8),
+ OnNext(420, 6),
+ OnNext(420, 6),
+ OnNext(420, 6),
+ OnNext(510, 4),
+ OnNext(510, 4),
+ OnError<int>(600, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 600)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Enumerable_Dispose()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(420, 3),
+ OnNext(510, 2),
+ OnCompleted<int>(600)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => Enumerable.Repeat(x, x)),
+ 350
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(210, 2),
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(340, 4),
+ OnNext(340, 4),
+ OnNext(340, 4)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 350)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Enumerable_Dispose_ResultSelector()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(420, 3),
+ OnNext(510, 2),
+ OnCompleted<int>(600)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => Enumerable.Repeat(x, x), (x, _, y, __) => x + y),
+ 350
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(210, 4),
+ OnNext(210, 4),
+ OnNext(340, 8),
+ OnNext(340, 8),
+ OnNext(340, 8),
+ OnNext(340, 8)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 350)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Enumerable_SelectorThrows()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(420, 3),
+ OnNext(510, 2),
+ OnCompleted<int>(600)
+ );
+
+ var invoked = 0;
+ var ex = new Exception();
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) =>
+ {
+ invoked++;
+ if (invoked == 3)
+ throw ex;
+
+ return Enumerable.Repeat(x, x);
+ })
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(210, 2),
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(340, 4),
+ OnNext(340, 4),
+ OnNext(340, 4),
+ OnError<int>(420, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 420)
+ );
+
+ Assert.AreEqual(3, invoked);
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Enumerable_ResultSelectorThrows()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(420, 3),
+ OnNext(510, 2),
+ OnCompleted<int>(600)
+ );
+
+ var ex = new Exception();
+
+ var inners = new List<MockEnumerable<int>>();
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) =>
+ {
+ var ys = new MockEnumerable<int>(scheduler, Enumerable.Repeat(x, x));
+ inners.Add(ys);
+ return ys;
+ },
+ (x, _, y, __) =>
+ {
+ if (x == 3)
+ throw ex;
+
+ return x + y;
+ }
+ )
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(210, 4),
+ OnNext(210, 4),
+ OnNext(340, 8),
+ OnNext(340, 8),
+ OnNext(340, 8),
+ OnNext(340, 8),
+ OnError<int>(420, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 420)
+ );
+
+ Assert.AreEqual(3, inners.Count);
+
+ inners[0].Subscriptions.AssertEqual(
+ Subscribe(210, 210)
+ );
+
+ inners[1].Subscriptions.AssertEqual(
+ Subscribe(340, 340)
+ );
+
+ inners[2].Subscriptions.AssertEqual(
+ Subscribe(420, 420)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Enumerable_ResultSelector_GetEnumeratorThrows()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(420, 3),
+ OnNext(510, 2),
+ OnCompleted<int>(600)
+ );
+
+ var ex = new Exception();
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => new RogueEnumerable<int>(ex), (x, _, y, __) => x + y)
+ );
+
+ res.Messages.AssertEqual(
+ OnError<int>(210, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 210)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Enumerable_SelectorThrows_ResultSelector()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(420, 3),
+ OnNext(510, 2),
+ OnCompleted<int>(600)
+ );
+
+ var invoked = 0;
+ var ex = new Exception();
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) =>
+ {
+ invoked++;
+ if (invoked == 3)
+ throw ex;
+
+ return Enumerable.Repeat(x, x);
+ },
+ (x, _, y, __) => x + y
+ )
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(210, 4),
+ OnNext(210, 4),
+ OnNext(340, 8),
+ OnNext(340, 8),
+ OnNext(340, 8),
+ OnNext(340, 8),
+ OnError<int>(420, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 420)
+ );
+
+ Assert.AreEqual(3, invoked);
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Enumerable_CurrentThrows()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(420, 3),
+ OnNext(510, 2),
+ OnCompleted<int>(600)
+ );
+
+ var ex = new Exception();
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => new CurrentThrowsEnumerable<int>(Enumerable.Repeat(x, x), ex))
+ );
+
+ res.Messages.AssertEqual(
+ OnError<int>(210, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 210)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Enumerable_CurrentThrows_ResultSelector()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(420, 3),
+ OnNext(510, 2),
+ OnCompleted<int>(600)
+ );
+
+ var ex = new Exception();
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => new CurrentThrowsEnumerable<int>(Enumerable.Repeat(x, x), ex), (x, _, y, __) => x + y)
+ );
+
+ res.Messages.AssertEqual(
+ OnError<int>(210, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 210)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Enumerable_GetEnumeratorThrows()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(420, 3),
+ OnNext(510, 2),
+ OnCompleted<int>(600)
+ );
+
+ var ex = new Exception();
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => new RogueEnumerable<int>(ex))
+ );
+
+ res.Messages.AssertEqual(
+ OnError<int>(210, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 210)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Enumerable_MoveNextThrows()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(420, 3),
+ OnNext(510, 2),
+ OnCompleted<int>(600)
+ );
+
+ var ex = new Exception();
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => new MoveNextThrowsEnumerable<int>(Enumerable.Repeat(x, x), ex))
+ );
+
+ res.Messages.AssertEqual(
+ OnError<int>(210, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 210)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Enumerable_MoveNextThrows_ResultSelector()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 2),
+ OnNext(340, 4),
+ OnNext(420, 3),
+ OnNext(510, 2),
+ OnCompleted<int>(600)
+ );
+
+ var ex = new Exception();
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => new MoveNextThrowsEnumerable<int>(Enumerable.Repeat(x, x), ex), (x, _, y, __) => x + y)
+ );
+
+ res.Messages.AssertEqual(
+ OnError<int>(210, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 210)
+ );
+ }
+
+ [TestMethod]
public void SelectMany_QueryOperator_ArgumentChecking()
{
ReactiveAssert.Throws<ArgumentNullException>(() => ((IObservable<int>)null).SelectMany<int, int, int>(DummyFunc<int, IObservable<int>>.Instance, DummyFunc<int, int, int>.Instance));
@@ -9585,12 +14221,294 @@ namespace ReactiveTests.Tests
Subscribe(200, 221)
);
}
+
+ [TestMethod]
+ public void SelectManyWithIndex_QueryOperator_ArgumentChecking()
+ {
+ ReactiveAssert.Throws<ArgumentNullException>(() => ((IObservable<int>)null).SelectMany<int, int, int>(DummyFunc<int, int, IObservable<int>>.Instance, DummyFunc<int, int, int, int, int>.Instance));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.SelectMany((Func<int, int, IObservable<int>>)null, DummyFunc<int, int, int, int, int>.Instance));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.SelectMany(DummyFunc<int, int, IObservable<int>>.Instance, ((Func<int, int, int, int, int>)null)));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.SelectMany(DummyFunc<int, int, IObservable<int>>.Instance, DummyFunc<int, int, int, int, int>.Instance).Subscribe(null));
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_QueryOperator_Index()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(210, 4),
+ OnNext(220, 3),
+ OnNext(250, 5),
+ OnNext(270, 1),
+ OnCompleted<int>(290)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, i) => Observable.Range(10, i + 1), (x, i, y, j) => new { x, i, y, j })
+ );
+
+ var witness = new { x = 0, i = 0, y = 0, j = 0 };
+
+ res.Messages.AssertEqual(
+ OnNext(210, new { x = 4, i = 0, y = 10, j = 0 }),
+ OnNext(220, new { x = 3, i = 1, y = 10, j = 0 }),
+ OnNext(220, new { x = 3, i = 1, y = 11, j = 1 }),
+ OnNext(250, new { x = 5, i = 2, y = 10, j = 0 }),
+ OnNext(250, new { x = 5, i = 2, y = 11, j = 1 }),
+ OnNext(250, new { x = 5, i = 2, y = 12, j = 2 }),
+ OnNext(270, new { x = 1, i = 3, y = 10, j = 0 }),
+ OnNext(270, new { x = 1, i = 3, y = 11, j = 1 }),
+ OnNext(270, new { x = 1, i = 3, y = 12, j = 2 }),
+ OnNext(270, new { x = 1, i = 3, y = 13, j = 3 }),
+ OnCompleted(290, witness)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 290)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_QueryOperator_CompleteOuterFirst()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, 4),
+ OnNext(221, 3),
+ OnNext(222, 2),
+ OnNext(223, 5),
+ OnCompleted<int>(224)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => Observable.Interval(TimeSpan.FromTicks(1), scheduler).Take(x), (x, _, y, __) => x * 10 + (int)y)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(221, 40),
+ OnNext(222, 30),
+ OnNext(222, 41),
+ OnNext(223, 20),
+ OnNext(223, 31),
+ OnNext(223, 42),
+ OnNext(224, 50),
+ OnNext(224, 21),
+ OnNext(224, 32),
+ OnNext(224, 43),
+ OnNext(225, 51),
+ OnNext(226, 52),
+ OnNext(227, 53),
+ OnNext(228, 54),
+ OnCompleted<int>(228)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 224)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_QueryOperator_CompleteInnerFirst()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, 4),
+ OnNext(221, 3),
+ OnNext(222, 2),
+ OnNext(223, 5),
+ OnCompleted<int>(300)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => Observable.Interval(TimeSpan.FromTicks(1), scheduler).Take(x), (x, _, y, __) => x * 10 + (int)y)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(221, 40),
+ OnNext(222, 30),
+ OnNext(222, 41),
+ OnNext(223, 20),
+ OnNext(223, 31),
+ OnNext(223, 42),
+ OnNext(224, 50),
+ OnNext(224, 21),
+ OnNext(224, 32),
+ OnNext(224, 43),
+ OnNext(225, 51),
+ OnNext(226, 52),
+ OnNext(227, 53),
+ OnNext(228, 54),
+ OnCompleted<int>(300)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 300)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_QueryOperator_ErrorOuter()
+ {
+ var scheduler = new TestScheduler();
+
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, 4),
+ OnNext(221, 3),
+ OnNext(222, 2),
+ OnNext(223, 5),
+ OnError<int>(224, ex)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => Observable.Interval(TimeSpan.FromTicks(1), scheduler).Take(x), (x, _, y, __) => x * 10 + (int)y)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(221, 40),
+ OnNext(222, 30),
+ OnNext(222, 41),
+ OnNext(223, 20),
+ OnNext(223, 31),
+ OnNext(223, 42),
+ OnError<int>(224, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 224)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_QueryOperator_ErrorInner()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, 4),
+ OnNext(221, 3),
+ OnNext(222, 2),
+ OnNext(223, 5),
+ OnCompleted<int>(224)
+ );
+
+ var ex = new Exception();
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) => x == 2
+ ? Observable.Throw<long>(ex, scheduler)
+ : Observable.Interval(TimeSpan.FromTicks(1), scheduler).Take(x),
+ (x, _, y, __) => x * 10 + (int)y)
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(221, 40),
+ OnNext(222, 30),
+ OnNext(222, 41),
+ OnError<int>(223, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 223)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_QueryOperator_Dispose()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, 4),
+ OnNext(221, 3),
+ OnNext(222, 2),
+ OnNext(223, 5),
+ OnCompleted<int>(224)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => Observable.Interval(TimeSpan.FromTicks(1), scheduler).Take(x), (x, _, y, __) => x * 10 + (int)y),
+ 223
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(221, 40),
+ OnNext(222, 30),
+ OnNext(222, 41)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 223)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_QueryOperator_ThrowSelector()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, 4),
+ OnNext(221, 3),
+ OnNext(222, 2),
+ OnNext(223, 5),
+ OnCompleted<int>(224)
+ );
+
+ var ex = new Exception();
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => Throw<IObservable<long>>(ex), (x, _, y, __) => x * 10 + (int)y)
+ );
+
+ res.Messages.AssertEqual(
+ OnError<int>(220, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 220)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_QueryOperator_ThrowResult()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(220, 4),
+ OnNext(221, 3),
+ OnNext(222, 2),
+ OnNext(223, 5),
+ OnCompleted<int>(224)
+ );
+
+ var ex = new Exception();
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany((x, _) => Observable.Interval(TimeSpan.FromTicks(1), scheduler).Take(x), (x, _, y, __) => Throw<int>(ex))
+ );
+
+ res.Messages.AssertEqual(
+ OnError<int>(221, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 221)
+ );
+ }
+
[TestMethod]
public void SelectMany_Triple_ArgumentChecking()
{
ReactiveAssert.Throws<ArgumentNullException>(() => Observable.SelectMany(null, DummyFunc<int, IObservable<int>>.Instance, DummyFunc<Exception, IObservable<int>>.Instance, DummyFunc<IObservable<int>>.Instance));
- ReactiveAssert.Throws<ArgumentNullException>(() => Observable.SelectMany(DummyObservable<int>.Instance, null, DummyFunc<Exception, IObservable<int>>.Instance, DummyFunc<IObservable<int>>.Instance));
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.SelectMany(DummyObservable<int>.Instance, (Func<int, IObservable<int>>)null, DummyFunc<Exception, IObservable<int>>.Instance, DummyFunc<IObservable<int>>.Instance));
ReactiveAssert.Throws<ArgumentNullException>(() => Observable.SelectMany(DummyObservable<int>.Instance, DummyFunc<int, IObservable<int>>.Instance, null, DummyFunc<IObservable<int>>.Instance));
ReactiveAssert.Throws<ArgumentNullException>(() => Observable.SelectMany(DummyObservable<int>.Instance, DummyFunc<int, IObservable<int>>.Instance, DummyFunc<Exception, IObservable<int>>.Instance, null));
ReactiveAssert.Throws<ArgumentNullException>(() => Observable.SelectMany(DummyObservable<int>.Instance, DummyFunc<int, IObservable<int>>.Instance, DummyFunc<Exception, IObservable<int>>.Instance, DummyFunc<IObservable<int>>.Instance).Subscribe(null));
@@ -10329,6 +15247,787 @@ namespace ReactiveTests.Tests
);
}
+ [TestMethod]
+ public void SelectManyWithIndex_Triple_ArgumentChecking()
+ {
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.SelectMany(null, DummyFunc<int, int, IObservable<int>>.Instance, DummyFunc<Exception, IObservable<int>>.Instance, DummyFunc<IObservable<int>>.Instance));
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.SelectMany(DummyObservable<int>.Instance, (Func<int, int, IObservable<int>>)null, DummyFunc<Exception, IObservable<int>>.Instance, DummyFunc<IObservable<int>>.Instance));
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.SelectMany(DummyObservable<int>.Instance, DummyFunc<int, int, IObservable<int>>.Instance, null, DummyFunc<IObservable<int>>.Instance));
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.SelectMany(DummyObservable<int>.Instance, DummyFunc<int, int, IObservable<int>>.Instance, DummyFunc<Exception, IObservable<int>>.Instance, null));
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.SelectMany(DummyObservable<int>.Instance, DummyFunc<int, int, IObservable<int>>.Instance, DummyFunc<Exception, IObservable<int>>.Instance, DummyFunc<IObservable<int>>.Instance).Subscribe(null));
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Triple_Index()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(300, 0),
+ OnNext(301, 1),
+ OnNext(302, 2),
+ OnNext(303, 3),
+ OnNext(304, 4),
+ OnCompleted<int>(305)
+ );
+
+ var witness = new { x = 0, i = 0 };
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, i) => Observable.Return(new { x, i }, scheduler),
+ ex => Observable.Throw(ex, scheduler, witness),
+ () => Observable.Empty(scheduler, witness)
+ )
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(301, new { x = 0, i = 0 }),
+ OnNext(302, new { x = 1, i = 1 }),
+ OnNext(303, new { x = 2, i = 2 }),
+ OnNext(304, new { x = 3, i = 3 }),
+ OnNext(305, new { x = 4, i = 4 }),
+ OnCompleted(306, witness)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 305)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Triple_Identity()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(300, 0),
+ OnNext(301, 1),
+ OnNext(302, 2),
+ OnNext(303, 3),
+ OnNext(304, 4),
+ OnCompleted<int>(305)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) => Observable.Return(x, scheduler),
+ ex => Observable.Throw<int>(ex, scheduler),
+ () => Observable.Empty<int>(scheduler)
+ )
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(301, 0),
+ OnNext(302, 1),
+ OnNext(303, 2),
+ OnNext(304, 3),
+ OnNext(305, 4),
+ OnCompleted<int>(306)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 305)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Triple_InnersWithTiming1()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(300, 0),
+ OnNext(301, 1),
+ OnNext(302, 2),
+ OnNext(303, 3),
+ OnNext(304, 4),
+ OnCompleted<int>(305)
+ );
+
+ var ysn = scheduler.CreateColdObservable(
+ OnNext(10, 10),
+ OnNext(20, 11),
+ OnNext(30, 12),
+ OnCompleted<int>(40)
+ );
+
+ var yse = scheduler.CreateColdObservable(
+ OnNext(0, 99),
+ OnCompleted<int>(10)
+ );
+
+ var ysc = scheduler.CreateColdObservable(
+ OnNext(10, 42),
+ OnCompleted<int>(20)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) => ysn,
+ ex => yse,
+ () => ysc
+ )
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(310, 10),
+ OnNext(311, 10),
+ OnNext(312, 10),
+ OnNext(313, 10),
+ OnNext(314, 10),
+ OnNext(315, 42),
+ OnNext(320, 11),
+ OnNext(321, 11),
+ OnNext(322, 11),
+ OnNext(323, 11),
+ OnNext(324, 11),
+ OnNext(330, 12),
+ OnNext(331, 12),
+ OnNext(332, 12),
+ OnNext(333, 12),
+ OnNext(334, 12),
+ OnCompleted<int>(344)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 305)
+ );
+
+ ysn.Subscriptions.AssertEqual(
+ Subscribe(300, 340),
+ Subscribe(301, 341),
+ Subscribe(302, 342),
+ Subscribe(303, 343),
+ Subscribe(304, 344)
+ );
+
+ yse.Subscriptions.AssertEqual(
+ );
+
+ ysc.Subscriptions.AssertEqual(
+ Subscribe(305, 325)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Triple_InnersWithTiming2()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(300, 0),
+ OnNext(301, 1),
+ OnNext(302, 2),
+ OnNext(303, 3),
+ OnNext(304, 4),
+ OnCompleted<int>(305)
+ );
+
+ var ysn = scheduler.CreateColdObservable(
+ OnNext(10, 10),
+ OnNext(20, 11),
+ OnNext(30, 12),
+ OnCompleted<int>(40)
+ );
+
+ var yse = scheduler.CreateColdObservable(
+ OnNext(0, 99),
+ OnCompleted<int>(10)
+ );
+
+ var ysc = scheduler.CreateColdObservable(
+ OnNext(10, 42),
+ OnCompleted<int>(50)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) => ysn,
+ ex => yse,
+ () => ysc
+ )
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(310, 10),
+ OnNext(311, 10),
+ OnNext(312, 10),
+ OnNext(313, 10),
+ OnNext(314, 10),
+ OnNext(315, 42),
+ OnNext(320, 11),
+ OnNext(321, 11),
+ OnNext(322, 11),
+ OnNext(323, 11),
+ OnNext(324, 11),
+ OnNext(330, 12),
+ OnNext(331, 12),
+ OnNext(332, 12),
+ OnNext(333, 12),
+ OnNext(334, 12),
+ OnCompleted<int>(355)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 305)
+ );
+
+ ysn.Subscriptions.AssertEqual(
+ Subscribe(300, 340),
+ Subscribe(301, 341),
+ Subscribe(302, 342),
+ Subscribe(303, 343),
+ Subscribe(304, 344)
+ );
+
+ yse.Subscriptions.AssertEqual(
+ );
+
+ ysc.Subscriptions.AssertEqual(
+ Subscribe(305, 355)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Triple_InnersWithTiming3()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(300, 0),
+ OnNext(400, 1),
+ OnNext(500, 2),
+ OnNext(600, 3),
+ OnNext(700, 4),
+ OnCompleted<int>(800)
+ );
+
+ var ysn = scheduler.CreateColdObservable(
+ OnNext(10, 10),
+ OnNext(20, 11),
+ OnNext(30, 12),
+ OnCompleted<int>(40)
+ );
+
+ var yse = scheduler.CreateColdObservable(
+ OnNext(0, 99),
+ OnCompleted<int>(10)
+ );
+
+ var ysc = scheduler.CreateColdObservable(
+ OnNext(10, 42),
+ OnCompleted<int>(100)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) => ysn,
+ ex => yse,
+ () => ysc
+ )
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(310, 10),
+ OnNext(320, 11),
+ OnNext(330, 12),
+ OnNext(410, 10),
+ OnNext(420, 11),
+ OnNext(430, 12),
+ OnNext(510, 10),
+ OnNext(520, 11),
+ OnNext(530, 12),
+ OnNext(610, 10),
+ OnNext(620, 11),
+ OnNext(630, 12),
+ OnNext(710, 10),
+ OnNext(720, 11),
+ OnNext(730, 12),
+ OnNext(810, 42),
+ OnCompleted<int>(900)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 800)
+ );
+
+ ysn.Subscriptions.AssertEqual(
+ Subscribe(300, 340),
+ Subscribe(400, 440),
+ Subscribe(500, 540),
+ Subscribe(600, 640),
+ Subscribe(700, 740)
+ );
+
+ yse.Subscriptions.AssertEqual(
+ );
+
+ ysc.Subscriptions.AssertEqual(
+ Subscribe(800, 900)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Triple_Error_Identity()
+ {
+ var scheduler = new TestScheduler();
+
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(300, 0),
+ OnNext(301, 1),
+ OnNext(302, 2),
+ OnNext(303, 3),
+ OnNext(304, 4),
+ OnError<int>(305, ex)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) => Observable.Return(x, scheduler),
+ ex1 => Observable.Throw<int>(ex1, scheduler),
+ () => Observable.Empty<int>(scheduler)
+ )
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(301, 0),
+ OnNext(302, 1),
+ OnNext(303, 2),
+ OnNext(304, 3),
+ OnNext(305, 4),
+ OnError<int>(306, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 305)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Triple_SelectMany()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(300, 0),
+ OnNext(301, 1),
+ OnNext(302, 2),
+ OnNext(303, 3),
+ OnNext(304, 4),
+ OnCompleted<int>(305)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) => Observable.Repeat(x, x, scheduler),
+ ex => Observable.Throw<int>(ex, scheduler),
+ () => Observable.Empty<int>(scheduler)
+ )
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(302, 1),
+ OnNext(303, 2),
+ OnNext(304, 3),
+ OnNext(304, 2),
+ OnNext(305, 4),
+ OnNext(305, 3),
+ OnNext(306, 4),
+ OnNext(306, 3),
+ OnNext(307, 4),
+ OnNext(308, 4),
+ OnCompleted<int>(308)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 305)
+ );
+ }
+
+
+ [TestMethod]
+ public void SelectManyWithIndex_Triple_Concat()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(300, 0),
+ OnNext(301, 1),
+ OnNext(302, 2),
+ OnNext(303, 3),
+ OnNext(304, 4),
+ OnCompleted<int>(305)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) => Observable.Return(x, scheduler),
+ ex => Observable.Throw<int>(ex, scheduler),
+ () => Observable.Range(1, 3, scheduler)
+ )
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(301, 0),
+ OnNext(302, 1),
+ OnNext(303, 2),
+ OnNext(304, 3),
+ OnNext(305, 4),
+ OnNext(306, 1),
+ OnNext(307, 2),
+ OnNext(308, 3),
+ OnCompleted<int>(309)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 305)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Triple_Catch()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(300, 0),
+ OnNext(301, 1),
+ OnNext(302, 2),
+ OnNext(303, 3),
+ OnNext(304, 4),
+ OnCompleted<int>(305)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) => Observable.Return(x, scheduler),
+ ex => Observable.Range(1, 3, scheduler),
+ () => Observable.Empty<int>(scheduler)
+ )
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(301, 0),
+ OnNext(302, 1),
+ OnNext(303, 2),
+ OnNext(304, 3),
+ OnNext(305, 4),
+ OnCompleted<int>(306)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 305)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Triple_Error_Catch()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(300, 0),
+ OnNext(301, 1),
+ OnNext(302, 2),
+ OnNext(303, 3),
+ OnNext(304, 4),
+ OnError<int>(305, new Exception())
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) => Observable.Return(x, scheduler),
+ ex => Observable.Range(1, 3, scheduler),
+ () => Observable.Empty<int>(scheduler)
+ )
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(301, 0),
+ OnNext(302, 1),
+ OnNext(303, 2),
+ OnNext(304, 3),
+ OnNext(305, 4),
+ OnNext(306, 1),
+ OnNext(307, 2),
+ OnNext(308, 3),
+ OnCompleted<int>(309)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 305)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Triple_All()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(300, 0),
+ OnNext(301, 1),
+ OnNext(302, 2),
+ OnNext(303, 3),
+ OnNext(304, 4),
+ OnCompleted<int>(305)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) => Observable.Repeat(x, x, scheduler),
+ ex => Observable.Repeat(0, 2, scheduler),
+ () => Observable.Repeat(-1, 2, scheduler)
+ )
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(302, 1),
+ OnNext(303, 2),
+ OnNext(304, 3),
+ OnNext(304, 2),
+ OnNext(305, 4),
+ OnNext(305, 3),
+ OnNext(306, -1),
+ OnNext(306, 4),
+ OnNext(306, 3),
+ OnNext(307, -1),
+ OnNext(307, 4),
+ OnNext(308, 4),
+ OnCompleted<int>(308)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 305)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Triple_Error_All()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(300, 0),
+ OnNext(301, 1),
+ OnNext(302, 2),
+ OnNext(303, 3),
+ OnNext(304, 4),
+ OnError<int>(305, new Exception())
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) => Observable.Repeat(x, x, scheduler),
+ ex => Observable.Repeat(0, 2, scheduler),
+ () => Observable.Repeat(-1, 2, scheduler)
+ )
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(302, 1),
+ OnNext(303, 2),
+ OnNext(304, 3),
+ OnNext(304, 2),
+ OnNext(305, 4),
+ OnNext(305, 3),
+ OnNext(306, 0),
+ OnNext(306, 4),
+ OnNext(306, 3),
+ OnNext(307, 0),
+ OnNext(307, 4),
+ OnNext(308, 4),
+ OnCompleted<int>(308)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 305)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Triple_All_Dispose()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(300, 0),
+ OnNext(301, 1),
+ OnNext(302, 2),
+ OnNext(303, 3),
+ OnNext(304, 4),
+ OnCompleted<int>(305)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) => Observable.Repeat(x, x, scheduler),
+ ex => Observable.Repeat(0, 2, scheduler),
+ () => Observable.Repeat(-1, 2, scheduler)
+ ),
+ 307
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(302, 1),
+ OnNext(303, 2),
+ OnNext(304, 3),
+ OnNext(304, 2),
+ OnNext(305, 4),
+ OnNext(305, 3),
+ OnNext(306, -1),
+ OnNext(306, 4),
+ OnNext(306, 3)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 305)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Triple_All_Dispose_Before_First()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(300, 0),
+ OnNext(301, 1),
+ OnNext(302, 2),
+ OnNext(303, 3),
+ OnNext(304, 4),
+ OnCompleted<int>(305)
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) => Observable.Repeat(x, x, scheduler),
+ ex => Observable.Repeat(0, 2, scheduler),
+ () => Observable.Repeat(-1, 2, scheduler)
+ ),
+ 304
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(302, 1),
+ OnNext(303, 2)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 304)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Triple_OnNextThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(300, 0),
+ OnNext(301, 1),
+ OnNext(302, 2),
+ OnNext(303, 3),
+ OnNext(304, 4),
+ OnCompleted<int>(305)
+ );
+
+ var ex = new Exception();
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) => Throw<IObservable<int>>(ex),
+ ex1 => Observable.Repeat(0, 2, scheduler),
+ () => Observable.Repeat(-1, 2, scheduler)
+ )
+ );
+
+ res.Messages.AssertEqual(
+ OnError<int>(300, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 300)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Triple_OnErrorThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var ex = new Exception();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(300, 0),
+ OnNext(301, 1),
+ OnNext(302, 2),
+ OnNext(303, 3),
+ OnNext(304, 4),
+ OnError<int>(305, new Exception())
+ );
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) => Observable.Repeat(x, x, scheduler),
+ ex1 => Throw<IObservable<int>>(ex),
+ () => Observable.Repeat(-1, 2, scheduler)
+ )
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(302, 1),
+ OnNext(303, 2),
+ OnNext(304, 3),
+ OnNext(304, 2),
+ OnError<int>(305, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 305)
+ );
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Triple_OnCompletedThrow()
+ {
+ var scheduler = new TestScheduler();
+
+ var xs = scheduler.CreateHotObservable(
+ OnNext(300, 0),
+ OnNext(301, 1),
+ OnNext(302, 2),
+ OnNext(303, 3),
+ OnNext(304, 4),
+ OnCompleted<int>(305)
+ );
+
+ var ex = new Exception();
+
+ var res = scheduler.Start(() =>
+ xs.SelectMany(
+ (x, _) => Observable.Repeat(x, x, scheduler),
+ ex1 => Observable.Repeat(0, 2, scheduler),
+ () => Throw<IObservable<int>>(ex)
+ )
+ );
+
+ res.Messages.AssertEqual(
+ OnNext(302, 1),
+ OnNext(303, 2),
+ OnNext(304, 3),
+ OnNext(304, 2),
+ OnError<int>(305, ex)
+ );
+
+ xs.Subscriptions.AssertEqual(
+ Subscribe(200, 305)
+ );
+ }
+
#if !NO_TPL
[TestMethod]
@@ -10339,7 +16038,7 @@ namespace ReactiveTests.Tests
ReactiveAssert.Throws<ArgumentNullException>(() => Observable.SelectMany(default(IObservable<int>), x => t));
ReactiveAssert.Throws<ArgumentNullException>(() => Observable.SelectMany(DummyObservable<int>.Instance, default(Func<int, Task<int>>)));
- ReactiveAssert.Throws<ArgumentNullException>(() => Observable.SelectMany(default(IObservable<int>), (x, ct) => t));
+ ReactiveAssert.Throws<ArgumentNullException>(() => Observable.SelectMany(default(IObservable<int>), (int x, CancellationToken ct) => t));
ReactiveAssert.Throws<ArgumentNullException>(() => Observable.SelectMany(DummyObservable<int>.Instance, default(Func<int, CancellationToken, Task<int>>)));
ReactiveAssert.Throws<ArgumentNullException>(() => Observable.SelectMany(default(IObservable<int>), x => t, (x, y) => x));
@@ -11218,6 +16917,919 @@ namespace ReactiveTests.Tests
Assert.AreEqual(0, m);
}
+ [TestMethod]
+ public void SelectManyWithIndex_Task_ArgumentChecking()
+ {
+ ReactiveAssert.Throws<ArgumentNullException>(() => ((IObservable<int>)null).SelectMany<int, int>(DummyFunc<int, int, Task<int>>.Instance));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.SelectMany((Func<int, int, Task<int>>)null));
+
+ ReactiveAssert.Throws<ArgumentNullException>(() => ((IObservable<int>)null).SelectMany<int, int>(DummyFunc<int, int, CancellationToken, Task<int>>.Instance));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.SelectMany((Func<int, int, CancellationToken, Task<int>>)null));
+
+ ReactiveAssert.Throws<ArgumentNullException>(() => ((IObservable<int>)null).SelectMany<int, int, int>(DummyFunc<int, int, Task<int>>.Instance, DummyFunc<int, int, int, int>.Instance));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.SelectMany((Func<int, int, Task<int>>)null, DummyFunc<int, int, int, int>.Instance));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.SelectMany(DummyFunc<int, int, Task<int>>.Instance, ((Func<int, int, int, int>)null)));
+
+ ReactiveAssert.Throws<ArgumentNullException>(() => ((IObservable<int>)null).SelectMany<int, int, int>(DummyFunc<int, int, CancellationToken, Task<int>>.Instance, DummyFunc<int, int, int, int>.Instance));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.SelectMany((Func<int, int, CancellationToken, Task<int>>)null, DummyFunc<int, int, int, int>.Instance));
+ ReactiveAssert.Throws<ArgumentNullException>(() => DummyObservable<int>.Instance.SelectMany(DummyFunc<int, int, CancellationToken, Task<int>>.Instance, ((Func<int, int, int, int>)null)));
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Task_Index()
+ {
+ var res = Observable.Range(0, 10).SelectMany((int x, int i) => Task.Factory.StartNew(() => new { x, i })).ToEnumerable();
+ Assert.IsTrue(Enumerable.Range(0, 10).SelectMany((x, i) => new[] { new { x, i } }).SequenceEqual(res.OrderBy(v => v.i)));
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Task_Cancellation_Index()
+ {
+ var res = Observable.Range(0, 10).SelectMany((x, i, ctx) => Task.Factory.StartNew(() => new { x, i }, ctx)).ToEnumerable();
+ Assert.IsTrue(Enumerable.Range(0, 10).SelectMany((x, i) => new[] { new { x, i } }).SequenceEqual(res.OrderBy(v => v.i)));
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Task_ResultSelector_Index()
+ {
+ var res = Observable.Range(0, 10).SelectMany((int x, int i) => Task.Factory.StartNew(() => new { x, i }), (x, i, r) => r).ToEnumerable();
+ Assert.IsTrue(Enumerable.Range(0, 10).SelectMany((x, i) => new[] { new { x, i } }).SequenceEqual(res.OrderBy(v => v.i)));
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Task_ResultSelector_Cancellation_Index()
+ {
+ var res = Observable.Range(0, 10).SelectMany((x, i, ctx) => Task.Factory.StartNew(() => new { x, i }, ctx), (x, i, r) => r).ToEnumerable();
+ Assert.IsTrue(Enumerable.Range(0, 10).SelectMany((x, i) => new[] { new { x, i } }).SequenceEqual(res.OrderBy(v => v.i)));
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Task1()
+ {
+ var res = Observable.Range(0, 10).SelectMany((int x, int _) => Task.Factory.StartNew(() => x + 1)).ToEnumerable();
+ Assert.IsTrue(Enumerable.Range(0, 10).SelectMany(x => new[] { x + 1 }).SequenceEqual(res.OrderBy(x => x)));
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Task2()
+ {
+ var res = Observable.Range(0, 10).SelectMany((x, _, ct) => Task.Factory.StartNew(() => x + 1, ct)).ToEnumerable();
+ Assert.IsTrue(Enumerable.Range(0, 10).SelectMany(x => new[] { x + 1 }).SequenceEqual(res.OrderBy(x => x)));
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Task_TaskThrows()
+ {
+ var ex = new Exception();
+
+ var res = Observable.Range(0, 10).SelectMany((int x, int _) => Task.Factory.StartNew(() =>
+ {
+ if (x > 5)
+ throw ex;
+ return x + 1;
+ })).ToEnumerable();
+
+ ReactiveAssert.Throws(ex, () =>
+ {
+ foreach (var x in res)
+ ;
+ });
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Task_SelectorThrows()
+ {
+ var ex = new Exception();
+
+ var res = Observable.Range(0, 10).SelectMany((int x, int _) =>
+ {
+ if (x > 5)
+ throw ex;
+ return Task.Factory.StartNew(() => x + 1);
+ }).ToEnumerable();
+
+ ReactiveAssert.Throws(ex, () =>
+ {
+ foreach (var x in res)
+ ;
+ });
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Task_ResultSelector1()
+ {
+ var res = Observable.Range(0, 10).SelectMany((x, _) => Task.Factory.StartNew(() => x + 1), (x, _, y) => x + y).ToEnumerable();
+ Assert.IsTrue(Enumerable.Range(0, 10).SelectMany(x => new[] { 2 * x + 1 }).SequenceEqual(res.OrderBy(x => x)));
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Task_ResultSelector2()
+ {
+ var res = Observable.Range(0, 10).SelectMany((x, _, ct) => Task.Factory.StartNew(() => x + 1, ct), (x, _, y) => x + y).ToEnumerable();
+ Assert.IsTrue(Enumerable.Range(0, 10).SelectMany(x => new[] { 2 * x + 1 }).SequenceEqual(res.OrderBy(x => x)));
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_Task_ResultSelectorThrows()
+ {
+ var ex = new Exception();
+
+ var res = Observable.Range(0, 10).SelectMany((x, _) => Task.Factory.StartNew(() => x + 1), (x, _, y) =>
+ {
+ if (x > 5)
+ throw ex;
+ return x + y;
+ }).ToEnumerable();
+
+ ReactiveAssert.Throws(ex, () =>
+ {
+ foreach (var x in res)
+ ;
+ });
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_Simple_RanToCompletion_Async()
+ {
+ var tcss = new TaskCompletionSource<int>[2];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+
+ var res = Observable.SelectMany(Observable.Range(0, 2), (int x, int _) => tcss[x].Task);
+
+ var lst = new List<int>();
+
+ var done = new ManualResetEvent(false);
+ res.Subscribe(lst.Add, () => done.Set());
+
+ tcss[0].SetResult(42);
+ tcss[1].SetResult(43);
+
+ done.WaitOne();
+
+ lst.OrderBy(x => x).AssertEqual(new[] { 42, 43 });
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_Simple_RanToCompletion_Sync()
+ {
+ var tcss = new TaskCompletionSource<int>[2];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+
+ tcss[0].SetResult(42);
+ tcss[1].SetResult(43);
+
+ var res = Observable.SelectMany(Observable.Range(0, 2), (int x, int _) => tcss[x].Task);
+
+ var lst = new List<int>();
+
+ var done = new ManualResetEvent(false);
+ res.Subscribe(lst.Add, () => done.Set());
+
+ done.WaitOne();
+
+ lst.OrderBy(x => x).AssertEqual(new[] { 42, 43 });
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_Simple_Faulted_Async()
+ {
+ var tcss = new TaskCompletionSource<int>[3];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+
+ var res = Observable.SelectMany(Observable.Range(0, 3), (int x, int _) => tcss[x].Task);
+
+ var lst = new List<int>();
+
+ var err = default(Exception);
+ var done = new ManualResetEvent(false);
+ res.Subscribe(lst.Add, ex_ => { err = ex_; done.Set(); }, () => done.Set());
+
+ var ex = new Exception();
+ tcss[1].SetException(ex);
+
+ done.WaitOne();
+
+ lst.AssertEqual(new int[0]);
+ Assert.AreSame(ex, err);
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_Simple_Faulted_Sync()
+ {
+ var tcss = new TaskCompletionSource<int>[3];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+
+ var ex = new Exception();
+ tcss[1].SetException(ex);
+
+ var res = Observable.SelectMany(Observable.Range(0, 3), (int x, int _) => tcss[x].Task);
+
+ var lst = new List<int>();
+
+ var err = default(Exception);
+ var done = new ManualResetEvent(false);
+ res.Subscribe(lst.Add, ex_ => { err = ex_; done.Set(); }, () => done.Set());
+
+ done.WaitOne();
+
+ lst.AssertEqual(new int[0]);
+ Assert.AreSame(ex, err);
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_Simple_Canceled_Async()
+ {
+ var tcss = new TaskCompletionSource<int>[3];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+
+ var res = Observable.SelectMany(Observable.Range(0, 3), (int x, int _) => tcss[x].Task);
+
+ var lst = new List<int>();
+
+ var err = default(Exception);
+ var done = new ManualResetEvent(false);
+ res.Subscribe(lst.Add, ex_ => { err = ex_; done.Set(); }, () => done.Set());
+
+ tcss[1].SetCanceled();
+
+ done.WaitOne();
+
+ lst.AssertEqual(new int[0]);
+ Assert.IsTrue(err is TaskCanceledException && ((TaskCanceledException)err).Task == tcss[1].Task);
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_Simple_Canceled_Sync()
+ {
+ var tcss = new TaskCompletionSource<int>[3];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+
+ tcss[1].SetCanceled();
+
+ var res = Observable.SelectMany(Observable.Range(0, 3), (int x, int _) => tcss[x].Task);
+
+ var lst = new List<int>();
+
+ var err = default(Exception);
+ var done = new ManualResetEvent(false);
+ res.Subscribe(lst.Add, ex_ => { err = ex_; done.Set(); }, () => done.Set());
+
+ done.WaitOne();
+
+ lst.AssertEqual(new int[0]);
+ Assert.IsTrue(err is TaskCanceledException && ((TaskCanceledException)err).Task == tcss[1].Task);
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_Simple_InnerCompleteBeforeOuter()
+ {
+ var xs = new Subject<int>();
+
+ var tcss = new TaskCompletionSource<int>[3];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+
+ var res = Observable.SelectMany(xs, (int x, int _) => tcss[x].Task);
+
+ var lst = new List<int>();
+
+ var done = new ManualResetEvent(false);
+ res.Subscribe(lst.Add, () => done.Set());
+
+ tcss[1].SetResult(42);
+
+ xs.OnNext(0);
+ xs.OnNext(1);
+ xs.OnNext(2);
+
+ tcss[0].SetResult(43);
+ tcss[2].SetResult(44);
+
+ xs.OnCompleted();
+
+ done.WaitOne();
+
+ lst.OrderBy(x => x).AssertEqual(new[] { 42, 43, 44 });
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_Simple_OuterCompleteBeforeInner()
+ {
+ var xs = new Subject<int>();
+
+ var tcss = new TaskCompletionSource<int>[3];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+
+ var res = Observable.SelectMany(xs, (int x, int _) => tcss[x].Task);
+
+ var lst = new List<int>();
+
+ var done = new ManualResetEvent(false);
+ res.Subscribe(lst.Add, () => done.Set());
+
+ tcss[1].SetResult(42);
+
+ xs.OnNext(0);
+ xs.OnNext(1);
+ xs.OnNext(2);
+ xs.OnCompleted();
+
+ tcss[0].SetResult(43);
+ tcss[2].SetResult(44);
+
+ done.WaitOne();
+
+ lst.OrderBy(x => x).AssertEqual(new[] { 42, 43, 44 });
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_Simple_Cancellation_NeverInvoked()
+ {
+ var xs = new Subject<int>();
+
+ var tcss = new TaskCompletionSource<int>[3];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+
+ var res = Observable.SelectMany(xs, (x, _, token) =>
+ {
+ var tcs = tcss[x];
+
+ token.Register(() => tcs.SetCanceled());
+
+ return tcs.Task;
+ });
+
+ var lst = new List<int>();
+
+ var done = new ManualResetEvent(false);
+ var d = res.Subscribe(lst.Add, () => done.Set());
+
+ tcss[1].SetResult(42);
+
+ xs.OnNext(0);
+ xs.OnNext(1);
+ xs.OnNext(2);
+ xs.OnCompleted();
+
+ tcss[0].SetResult(43);
+ tcss[2].SetResult(44);
+
+ done.WaitOne();
+
+ lst.OrderBy(x => x).AssertEqual(new[] { 42, 43, 44 });
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_Simple_Cancellation_Invoked()
+ {
+ var xs = new Subject<int>();
+
+ var tcss = new TaskCompletionSource<int>[3];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+
+ var n = 0;
+ var m = 0;
+
+ var res = Observable.SelectMany(xs, (x, _, token) =>
+ {
+ var tcs = tcss[x];
+
+ token.Register(() => { n++; m += tcs.TrySetCanceled() ? 1 : 0; });
+
+ return tcs.Task;
+ });
+
+ var lst = new List<int>();
+
+ var done = false;
+ var d = res.Subscribe(lst.Add, () => done = true);
+
+ tcss[1].SetResult(42);
+
+ xs.OnNext(0);
+ xs.OnNext(1);
+
+ d.Dispose();
+
+ xs.OnNext(2);
+ xs.OnCompleted();
+
+ Assert.IsFalse(tcss[0].TrySetResult(43));
+ tcss[2].SetResult(44); // never observed because xs.OnNext(2) happened after dispose
+
+ lst.AssertEqual(new[] { 42 });
+ Assert.IsFalse(done);
+ Assert.AreEqual(2, n);
+ Assert.AreEqual(1, m); // tcss[1] was already finished
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_Simple_Cancellation_AfterOuterError()
+ {
+ var xs = new Subject<int>();
+
+ var tcss = new TaskCompletionSource<int>[3];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+
+ var n = 0;
+ var m = 0;
+
+ var res = Observable.SelectMany(xs, (x, _, token) =>
+ {
+ var tcs = tcss[x];
+
+ token.Register(() => { n++; m += tcs.TrySetCanceled() ? 1 : 0; });
+
+ return tcs.Task;
+ });
+
+ var lst = new List<int>();
+
+ var done = false;
+ var err = default(Exception);
+ res.Subscribe(lst.Add, ex_ => err = ex_, () => done = true);
+
+ tcss[1].SetResult(42);
+
+ xs.OnNext(0);
+ xs.OnNext(1);
+
+ var ex = new Exception();
+ xs.OnError(ex);
+
+ Assert.IsFalse(tcss[0].TrySetResult(43));
+ tcss[2].SetResult(44); // no-op
+
+ lst.AssertEqual(new[] { 42 });
+ Assert.AreSame(ex, err);
+ Assert.IsFalse(done);
+ Assert.AreEqual(2, n);
+ Assert.AreEqual(1, m); // tcss[1] was already finished
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_Simple_Cancellation_AfterSelectorThrows()
+ {
+ var xs = new Subject<int>();
+
+ var tcss = new TaskCompletionSource<int>[4];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+ tcss[3] = new TaskCompletionSource<int>();
+
+ var n = 0;
+ var m = 0;
+
+ var ex = new Exception();
+
+ var res = Observable.SelectMany(xs, (x, _, token) =>
+ {
+ if (x == 2)
+ throw ex;
+
+ var tcs = tcss[x];
+
+ token.Register(() => { n++; m += tcs.TrySetCanceled() ? 1 : 0; });
+
+ return tcs.Task;
+ });
+
+ var lst = new List<int>();
+
+ var done = false;
+ var evt = new ManualResetEvent(false);
+ var err = default(Exception);
+ res.Subscribe(lst.Add, ex_ => { err = ex_; evt.Set(); }, () => { done = true; evt.Set(); });
+
+ tcss[1].SetResult(43);
+
+ xs.OnNext(0);
+ xs.OnNext(1);
+
+ tcss[0].SetResult(42);
+
+ xs.OnNext(2); // causes error
+ xs.OnCompleted();
+
+ evt.WaitOne();
+
+ Assert.IsFalse(done);
+ Assert.AreSame(ex, err);
+ Assert.AreEqual(2, n);
+ Assert.AreEqual(0, m);
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_WithResultSelector_RanToCompletion_Async()
+ {
+ var tcss = new TaskCompletionSource<int>[2];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+
+ var res = Observable.SelectMany(Observable.Range(0, 2), (x, _) => tcss[x].Task, (x, _, y) => x + y);
+
+ var lst = new List<int>();
+
+ var done = new ManualResetEvent(false);
+ res.Subscribe(lst.Add, () => done.Set());
+
+ tcss[0].SetResult(42);
+ tcss[1].SetResult(43);
+
+ done.WaitOne();
+
+ lst.OrderBy(x => x).AssertEqual(new[] { 42 + 0, 43 + 1 });
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_WithResultSelector_RanToCompletion_Sync()
+ {
+ var tcss = new TaskCompletionSource<int>[2];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+
+ tcss[0].SetResult(42);
+ tcss[1].SetResult(43);
+
+ var res = Observable.SelectMany(Observable.Range(0, 2), (x, _) => tcss[x].Task, (x, _, y) => x + y);
+
+ var lst = new List<int>();
+
+ var done = new ManualResetEvent(false);
+ res.Subscribe(lst.Add, () => done.Set());
+
+ done.WaitOne();
+
+ lst.OrderBy(x => x).AssertEqual(new[] { 42 + 0, 43 + 1 });
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_WithResultSelector_Faulted_Async()
+ {
+ var tcss = new TaskCompletionSource<int>[3];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+
+ var res = Observable.SelectMany(Observable.Range(0, 3), (x, _) => tcss[x].Task, (x, _, y) => x + y);
+
+ var lst = new List<int>();
+
+ var err = default(Exception);
+ var done = new ManualResetEvent(false);
+ res.Subscribe(lst.Add, ex_ => { err = ex_; done.Set(); }, () => done.Set());
+
+ var ex = new Exception();
+ tcss[1].SetException(ex);
+
+ done.WaitOne();
+
+ lst.AssertEqual(new int[0]);
+ Assert.AreSame(ex, err);
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_WithResultSelector_Faulted_Sync()
+ {
+ var tcss = new TaskCompletionSource<int>[3];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+
+ var ex = new Exception();
+ tcss[1].SetException(ex);
+
+ var res = Observable.SelectMany(Observable.Range(0, 3), (x, _) => tcss[x].Task, (x, _, y) => x + y);
+
+ var lst = new List<int>();
+
+ var err = default(Exception);
+ var done = new ManualResetEvent(false);
+ res.Subscribe(lst.Add, ex_ => { err = ex_; done.Set(); }, () => done.Set());
+
+ done.WaitOne();
+
+ lst.AssertEqual(new int[0]);
+ Assert.AreSame(ex, err);
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_WithResultSelector_Canceled_Async()
+ {
+ var tcss = new TaskCompletionSource<int>[3];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+
+ var res = Observable.SelectMany(Observable.Range(0, 3), (x, _) => tcss[x].Task, (x, _, y) => x + y);
+
+ var lst = new List<int>();
+
+ var err = default(Exception);
+ var done = new ManualResetEvent(false);
+ res.Subscribe(lst.Add, ex_ => { err = ex_; done.Set(); }, () => done.Set());
+
+ tcss[1].SetCanceled();
+
+ done.WaitOne();
+
+ lst.AssertEqual(new int[0]);
+ Assert.IsTrue(err is TaskCanceledException && ((TaskCanceledException)err).Task == tcss[1].Task);
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_WithResultSelector_Canceled_Sync()
+ {
+ var tcss = new TaskCompletionSource<int>[3];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+
+ tcss[1].SetCanceled();
+
+ var res = Observable.SelectMany(Observable.Range(0, 3), (x, _) => tcss[x].Task, (x, _, y) => x + y);
+
+ var lst = new List<int>();
+
+ var err = default(Exception);
+ var done = new ManualResetEvent(false);
+ res.Subscribe(lst.Add, ex_ => { err = ex_; done.Set(); }, () => done.Set());
+
+ done.WaitOne();
+
+ lst.AssertEqual(new int[0]);
+ Assert.IsTrue(err is TaskCanceledException && ((TaskCanceledException)err).Task == tcss[1].Task);
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_WithResultSelector_InnerCompleteBeforeOuter()
+ {
+ var xs = new Subject<int>();
+
+ var tcss = new TaskCompletionSource<int>[3];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+
+ var res = Observable.SelectMany(xs, (x, _) => tcss[x].Task, (x, _, y) => x + y);
+
+ var lst = new List<int>();
+
+ var done = new ManualResetEvent(false);
+ res.Subscribe(lst.Add, () => done.Set());
+
+ tcss[1].SetResult(42);
+
+ xs.OnNext(0);
+ xs.OnNext(1);
+ xs.OnNext(2);
+
+ tcss[0].SetResult(43);
+ tcss[2].SetResult(44);
+
+ xs.OnCompleted();
+
+ done.WaitOne();
+
+ lst.OrderBy(x => x).AssertEqual(new[] { 42 + 1, 43 + 0, 44 + 2 });
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_WithResultSelector_OuterCompleteBeforeInner()
+ {
+ var xs = new Subject<int>();
+
+ var tcss = new TaskCompletionSource<int>[3];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+
+ var res = Observable.SelectMany(xs, (x, _) => tcss[x].Task, (x, _, y) => x + y);
+
+ var lst = new List<int>();
+
+ var done = new ManualResetEvent(false);
+ res.Subscribe(lst.Add, () => done.Set());
+
+ tcss[1].SetResult(42);
+
+ xs.OnNext(0);
+ xs.OnNext(1);
+ xs.OnNext(2);
+ xs.OnCompleted();
+
+ tcss[0].SetResult(43);
+ tcss[2].SetResult(44);
+
+ done.WaitOne();
+
+ lst.OrderBy(x => x).AssertEqual(new[] { 42 + 1, 43 + 0, 44 + 2 });
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_WithResultSelector_Cancellation_NeverInvoked()
+ {
+ var xs = new Subject<int>();
+
+ var tcss = new TaskCompletionSource<int>[3];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+
+ var res = Observable.SelectMany(xs, (x, _, token) =>
+ {
+ var tcs = tcss[x];
+
+ token.Register(() => tcs.SetCanceled());
+
+ return tcs.Task;
+ }, (x, _, y) => x + y);
+
+ var lst = new List<int>();
+
+ var done = new ManualResetEvent(false);
+ var d = res.Subscribe(lst.Add, () => done.Set());
+
+ tcss[1].SetResult(42);
+
+ xs.OnNext(0);
+ xs.OnNext(1);
+ xs.OnNext(2);
+ xs.OnCompleted();
+
+ tcss[0].SetResult(43);
+ tcss[2].SetResult(44);
+
+ done.WaitOne();
+
+ lst.OrderBy(x => x).AssertEqual(new[] { 42 + 1, 43 + 0, 44 + 2 });
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_WithResultSelector_Cancellation_Invoked()
+ {
+ var xs = new Subject<int>();
+
+ var tcss = new TaskCompletionSource<int>[3];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+
+ var n = 0;
+ var m = 0;
+
+ var res = Observable.SelectMany(xs, (x, _, token) =>
+ {
+ var tcs = tcss[x];
+
+ token.Register(() => { n++; m += tcs.TrySetCanceled() ? 1 : 0; });
+
+ return tcs.Task;
+ }, (x, _, y) => x + y);
+
+ var lst = new List<int>();
+
+ var done = false;
+ var d = res.Subscribe(lst.Add, () => done = true);
+
+ tcss[1].SetResult(42);
+
+ xs.OnNext(0);
+ xs.OnNext(1);
+
+ d.Dispose();
+
+ xs.OnNext(2);
+ xs.OnCompleted();
+
+ Assert.IsFalse(tcss[0].TrySetResult(43));
+ tcss[2].SetResult(44); // never observed because xs.OnNext(2) happened after dispose
+
+ lst.AssertEqual(new[] { 42 + 1 });
+ Assert.IsFalse(done);
+ Assert.AreEqual(2, n);
+ Assert.AreEqual(1, m); // tcss[1] was already finished
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_WithResultSelector_Cancellation_AfterOuterError()
+ {
+ var xs = new Subject<int>();
+
+ var tcss = new TaskCompletionSource<int>[3];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+
+ var n = 0;
+ var m = 0;
+
+ var res = Observable.SelectMany(xs, (x, _, token) =>
+ {
+ var tcs = tcss[x];
+
+ token.Register(() => { n++; m += tcs.TrySetCanceled() ? 1 : 0; });
+
+ return tcs.Task;
+ }, (x, _, y) => x + y);
+
+ var lst = new List<int>();
+
+ var done = false;
+ var err = default(Exception);
+ res.Subscribe(lst.Add, ex_ => err = ex_, () => done = true);
+
+ tcss[1].SetResult(42);
+
+ xs.OnNext(0);
+ xs.OnNext(1);
+
+ var ex = new Exception();
+ xs.OnError(ex);
+
+ Assert.IsFalse(tcss[0].TrySetResult(43));
+ tcss[2].SetResult(44); // no-op
+
+ lst.AssertEqual(new[] { 42 + 1 });
+ Assert.AreSame(ex, err);
+ Assert.IsFalse(done);
+ Assert.AreEqual(2, n);
+ Assert.AreEqual(1, m); // tcss[1] was already finished
+ }
+
+ [TestMethod]
+ public void SelectManyWithIndex_TaskWithCompletionSource_WithResultSelector_Cancellation_AfterSelectorThrows()
+ {
+ var xs = new Subject<int>();
+
+ var tcss = new TaskCompletionSource<int>[4];
+ tcss[0] = new TaskCompletionSource<int>();
+ tcss[1] = new TaskCompletionSource<int>();
+ tcss[2] = new TaskCompletionSource<int>();
+ tcss[3] = new TaskCompletionSource<int>();
+
+ var n = 0;
+ var m = 0;
+
+ var ex = new Exception();
+
+ var res = Observable.SelectMany(xs, (x, _, token) =>
+ {
+ if (x == 2)
+ throw ex;
+
+ var tcs = tcss[x];
+
+ token.Register(() => { n++; m += tcs.TrySetCanceled() ? 1 : 0; });
+
+ return tcs.Task;
+ }, (x, _, y) => x + y);
+
+ var lst = new List<int>();
+
+ var done = false;
+ var evt = new ManualResetEvent(false);
+ var err = default(Exception);
+ res.Subscribe(lst.Add, ex_ => { err = ex_; evt.Set(); }, () => { done = true; evt.Set(); });
+
+ tcss[1].SetResult(43);
+
+ xs.OnNext(0);
+ xs.OnNext(1);
+
+ tcss[0].SetResult(42);
+
+ xs.OnNext(2); // causes error
+ xs.OnCompleted();
+
+ evt.WaitOne();
+
+ Assert.IsFalse(done);
+ Assert.AreSame(ex, err);
+ Assert.AreEqual(2, n);
+ Assert.AreEqual(0, m);
+ }
+
#endif
#endregion
diff --git a/Rx/NET/Source/Tests.System.Reactive/Tests/Linq/ObservableTimeTest.cs b/Rx/NET/Source/Tests.System.Reactive/Tests/Linq/ObservableTimeTest.cs
index 45be1df..96cd82c 100644
--- a/Rx/NET/Source/Tests.System.Reactive/Tests/Linq/ObservableTimeTest.cs
+++ b/Rx/NET/Source/Tests.System.Reactive/Tests/Linq/ObservableTimeTest.cs
@@ -2710,6 +2710,20 @@ namespace ReactiveTests.Tests
}
[TestMethod]
+ public void Interval_TimeSpan_Zero_DefaultScheduler()
+ {
+ var scheduler = new TestScheduler();
+ var observer = scheduler.CreateObserver<long>();
+ var completed = new ManualResetEventSlim();
+
+ Observable.Interval(TimeSpan.Zero).TakeWhile(i => i < 10).Subscribe(observer.OnNext, completed.Set);
+
+ completed.Wait();
+
+ Assert.AreEqual(10, observer.Messages.Count);
+ }
+
+ [TestMethod]
public void Interval_TimeSpan_Disposed()
{
var scheduler = new TestScheduler();
@@ -7447,6 +7461,20 @@ namespace ReactiveTests.Tests
}
[TestMethod]
+ public void OneShotTimer_TimeSpan_Zero_DefaultScheduler()
+ {
+ var scheduler = new TestScheduler();
+ var observer = scheduler.CreateObserver<long>();
+ var completed = new ManualResetEventSlim();
+
+ Observable.Timer(TimeSpan.Zero).Subscribe(observer.OnNext, completed.Set);
+
+ completed.Wait();
+
+ Assert.AreEqual(1, observer.Messages.Count);
+ }
+
+ [TestMethod]
public void OneShotTimer_TimeSpan_Negative()
{
var scheduler = new TestScheduler();
@@ -7564,6 +7592,20 @@ namespace ReactiveTests.Tests
}
[TestMethod]
+ public void RepeatingTimer_TimeSpan_Zero_DefaultScheduler()
+ {
+ var scheduler = new TestScheduler();
+ var observer = scheduler.CreateObserver<long>();
+ var completed = new ManualResetEventSlim();
+
+ Observable.Timer(TimeSpan.Zero, TimeSpan.Zero).TakeWhile(i => i < 10).Subscribe(observer.OnNext, completed.Set);
+
+ completed.Wait();
+
+ Assert.AreEqual(10, observer.Messages.Count);
+ }
+
+ [TestMethod]
public void RepeatingTimer_DateTimeOffset_TimeSpan_Simple()
{
var scheduler = new TestScheduler();
diff --git a/Rx/NET/Source/Tests.System.Reactive/Tests/Linq/Subjects/BehaviorSubjectTest.cs b/Rx/NET/Source/Tests.System.Reactive/Tests/Linq/Subjects/BehaviorSubjectTest.cs
index 4e4deaf..b9c4684 100644
--- a/Rx/NET/Source/Tests.System.Reactive/Tests/Linq/Subjects/BehaviorSubjectTest.cs
+++ b/Rx/NET/Source/Tests.System.Reactive/Tests/Linq/Subjects/BehaviorSubjectTest.cs
@@ -431,5 +431,76 @@ namespace ReactiveTests.Tests
s.OnError(new Exception());
Assert.IsFalse(s.HasObservers);
}
+
+ [TestMethod]
+ public void Value_Initial()
+ {
+ var s = new BehaviorSubject<int>(42);
+ Assert.AreEqual(42, s.Value);
+ }
+
+ [TestMethod]
+ public void Value_First()
+ {
+ var s = new BehaviorSubject<int>(42);
+ Assert.AreEqual(42, s.Value);
+
+ s.OnNext(43);
+ Assert.AreEqual(43, s.Value);
+ }
+
+ [TestMethod]
+ public void Value_Second()
+ {
+ var s = new BehaviorSubject<int>(42);
+ Assert.AreEqual(42, s.Value);
+
+ s.OnNext(43);
+ Assert.AreEqual(43, s.Value);
+
+ s.OnNext(44);
+ Assert.AreEqual(44, s.Value);
+ }
+
+ [TestMethod]
+ public void Value_FrozenAfterOnCompleted()
+ {
+ var s = new BehaviorSubject<int>(42);
+ Assert.AreEqual(42, s.Value);
+
+ s.OnNext(43);
+ Assert.AreEqual(43, s.Value);
+
+ s.OnNext(44);
+ Assert.AreEqual(44, s.Value);
+
+ s.OnCompleted();
+ Assert.AreEqual(44, s.Value);
+
+ s.OnNext(1234);
+ Assert.AreEqual(44, s.Value);
+ }
+
+ [TestMethod, ExpectedException(typeof(InvalidOperationException))]
+ public void Value_ThrowsAfterOnError()
+ {
+ var s = new BehaviorSubject<int>(42);
+ Assert.AreEqual(42, s.Value);
+
+ s.OnError(new InvalidOperationException());
+
+ Assert.Fail("Should not be able to read Value: {0}", s.Value);
+ }
+
+ [TestMethod, ExpectedException(typeof(ObjectDisposedException))]
+ public void Value_ThrowsOnDispose()
+ {
+ var s = new BehaviorSubject<int>(42);
+ Assert.AreEqual(42, s.Value);
+
+ s.Dispose();
+
+ Assert.Fail("Should not be able to read Value: {0}", s.Value);
+ }
}
}
diff --git a/Rx/NET/Source/packages.config b/Rx/NET/Source/packages.config
new file mode 100644
index 0000000..e005221
--- /dev/null
+++ b/Rx/NET/Source/packages.config
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="Microsoft.Bcl" version="1.0.19" targetFramework="net40" />
+ <package id="Microsoft.Bcl.Async" version="1.0.16" targetFramework="net40" />
+ <package id="Microsoft.Bcl.Build" version="1.0.4" targetFramework="net40" />
+</packages> \ No newline at end of file
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/License.rtf b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/License.rtf
new file mode 100644
index 0000000..2fb0cf4
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/License.rtf
@@ -0,0 +1,505 @@
+{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff40\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs1025{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
+{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
+{\f11\fbidi \fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt ?l?r ??\'81\'66c};}{\f13\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}SimSun{\*\falt ????\'a8\'ac??};}
+{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Trebuchet MS{\*\falt Arial};}
+{\f40\fbidi \fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Tahoma{\*\falt ?? ??};}{\f41\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}@SimSun;}{\f42\fbidi \fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}@MS Mincho;}
+{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}{\f44\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\f45\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f47\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f48\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f49\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\f50\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f51\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f52\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f64\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}
+{\f65\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f67\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f68\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f69\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
+{\f70\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f71\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f72\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}
+{\f156\fbidi \fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt ?l?r ??\'81\'66c};}{\f154\fbidi \fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt ?l?r ??\'81\'66c};}{\f155\fbidi \fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt ?l?r ??\'81\'66c};}
+{\f157\fbidi \fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt ?l?r ??\'81\'66c};}{\f158\fbidi \fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt ?l?r ??\'81\'66c};}{\f161\fbidi \fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt ?l?r ??\'81\'66c};}
+{\f176\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt ????\'a8\'ac??};}{\f384\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f385\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f387\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}
+{\f388\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f391\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f392\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f434\fbidi \fswiss\fcharset238\fprq2 Trebuchet MS CE{\*\falt Arial};}
+{\f435\fbidi \fswiss\fcharset204\fprq2 Trebuchet MS Cyr{\*\falt Arial};}{\f437\fbidi \fswiss\fcharset161\fprq2 Trebuchet MS Greek{\*\falt Arial};}{\f438\fbidi \fswiss\fcharset162\fprq2 Trebuchet MS Tur{\*\falt Arial};}
+{\f441\fbidi \fswiss\fcharset186\fprq2 Trebuchet MS Baltic{\*\falt Arial};}{\f444\fbidi \fswiss\fcharset238\fprq2 Tahoma CE{\*\falt ?? ??};}{\f445\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr{\*\falt ?? ??};}
+{\f447\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek{\*\falt ?? ??};}{\f448\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur{\*\falt ?? ??};}{\f449\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew){\*\falt ?? ??};}
+{\f450\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic){\*\falt ?? ??};}{\f451\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic{\*\falt ?? ??};}{\f452\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese){\*\falt ?? ??};}
+{\f453\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai){\*\falt ?? ??};}{\f456\fbidi \fnil\fcharset0\fprq2 @SimSun Western;}{\f466\fbidi \fmodern\fcharset0\fprq1 @MS Mincho Western;}{\f464\fbidi \fmodern\fcharset238\fprq1 @MS Mincho CE;}
+{\f465\fbidi \fmodern\fcharset204\fprq1 @MS Mincho Cyr;}{\f467\fbidi \fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f468\fbidi \fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f471\fbidi \fmodern\fcharset186\fprq1 @MS Mincho Baltic;}
+{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
+{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
+{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
+{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}
+{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}
+{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
+{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
+{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
+{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
+{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
+{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
+{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
+{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \fswiss\fcharset238\fprq2 Arial CE;}{\fbiminor\f31579\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}
+{\fbiminor\f31581\fbidi \fswiss\fcharset161\fprq2 Arial Greek;}{\fbiminor\f31582\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\fbiminor\f31583\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}
+{\fbiminor\f31584\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\fbiminor\f31585\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}{\fbiminor\f31586\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;
+\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;
+\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\ctextone\ctint255\cshade255\red0\green0\blue0;}{\*\defchp \f31506\fs22 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \sautoupd \sqformat \spriority0 \styrsid15686224 Normal;}{\s1\ql \fi-357\li357\ri0\sb120\sa120\widctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext1 \slink15 \sqformat \styrsid15686224 heading 1;}{\s2\ql \fi-363\li720\ri0\sb120\sa120\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0 \rtlch\fcs1
+\ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext2 \slink16 \sqformat \styrsid15686224 heading 2;}{\s3\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
+\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext3 \slink17 \sqformat \styrsid15686224 heading 3;}{\s4\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl3\outlinelevel3\adjustright\rin0\lin1435\itap0 \rtlch\fcs1
+\af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext4 \slink18 \sqformat \styrsid15686224 heading 4;}{\s5\ql \fi-357\li1792\ri0\sb120\sa120\widctlpar
+\tx1792\jclisttab\tx2155\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl4\outlinelevel4\adjustright\rin0\lin1792\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext5 \slink19 \sqformat \styrsid15686224 heading 5;}{\s6\ql \fi-357\li2149\ri0\sb120\sa120\widctlpar\jclisttab\tx2152\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl5\outlinelevel5\adjustright\rin0\lin2149\itap0 \rtlch\fcs1
+\af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext6 \slink20 \sqformat \styrsid15686224 heading 6;}{\s7\ql \fi-357\li2506\ri0\sb120\sa120\widctlpar
+\jclisttab\tx2509\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl6\outlinelevel6\adjustright\rin0\lin2506\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext7 \slink21 \sqformat \styrsid15686224 heading 7;}{\s8\ql \fi-357\li2863\ri0\sb120\sa120\widctlpar\jclisttab\tx2866\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl7\outlinelevel7\adjustright\rin0\lin2863\itap0 \rtlch\fcs1
+\af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext8 \slink22 \sqformat \styrsid15686224 heading 8;}{\s9\ql \fi-358\li3221\ri0\sb120\sa120\widctlpar
+\jclisttab\tx3223\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl8\outlinelevel8\adjustright\rin0\lin3221\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext9 \slink23 \sqformat \styrsid15686224 heading 9;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
+\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31506\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{\*\cs15 \additive
+\rtlch\fcs1 \ab\af40\afs19 \ltrch\fcs0 \b\fs19\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink1 \slocked \styrsid15686224 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\af40\afs19 \ltrch\fcs0 \b\fs19\loch\f40\hich\af40\dbch\af11
+\sbasedon10 \slink2 \slocked \styrsid15686224 Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \fs19\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink3 \slocked \styrsid15686224 Heading 3 Char;}{\*\cs18 \additive \rtlch\fcs1
+\af40\afs19 \ltrch\fcs0 \fs19\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink4 \slocked \styrsid15686224 Heading 4 Char;}{\*\cs19 \additive \rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \fs19\loch\f40\hich\af40\dbch\af11
+\sbasedon10 \slink5 \slocked \styrsid15686224 Heading 5 Char;}{\*\cs20 \additive \rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \fs19\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink6 \slocked \styrsid15686224 Heading 6 Char;}{\*\cs21 \additive \rtlch\fcs1
+\af40\afs19 \ltrch\fcs0 \fs19\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink7 \slocked \styrsid15686224 Heading 7 Char;}{\*\cs22 \additive \rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \fs19\loch\f40\hich\af40\dbch\af11
+\sbasedon10 \slink8 \slocked \styrsid15686224 Heading 8 Char;}{\*\cs23 \additive \rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \fs19\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink9 \slocked \styrsid15686224 Heading 9 Char;}{
+\s24\ql \li357\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext24 \styrsid15686224 Body 1;}{\s25\ql \fi-363\li720\ri0\sb120\sa120\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext25 \styrsid15686224 Bullet 2;}{\s26\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar
+\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin1435\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext26 \styrsid15686224 Bullet 4;}{\s27\ql \fi-357\li1792\ri0\sb120\sa120\widctlpar\jclisttab\tx1795\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin1792\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext27 \styrsid15686224 Bullet 5;}{\s28\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1
+\ab\af40\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \styrsid15686224 Heading EULA;}{\s29\ql \li0\ri0\sb120\sa120\widctlpar\brdrb\brdrs\brdrw10\brsp20
+\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af40\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \styrsid15686224
+Heading Software Title;}{\s30\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext30 \styrsid15686224 Preamble;}{\s31\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
+\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls4\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon3 \snext31 \slink38 \styrsid15686224 Heading 3 Bold;}{\s32\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin1435\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0
+\fs19\ul\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon26 \snext32 \styrsid15686224 Bullet 4 Underline;}{\*\cs33 \additive \rtlch\fcs1 \af40 \ltrch\fcs0 \f40\lang1033\langfe1033\langnp1033\langfenp1033
+\sbasedon10 \styrsid15686224 Body 2 Char;}{\*\cs34 \additive \rtlch\fcs1 \af40 \ltrch\fcs0 \f40\lang1033\langfe1033\langnp1033\langfenp1033 \sbasedon10 \styrsid15686224 Body 3 Char;}{\s35\ql \li0\ri0\sb120\sa120\widctlpar\brdrt\brdrs\brdrw10\brsp20
+\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon30 \snext35 \styrsid15686224
+Preamble Border Above;}{\*\cs36 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf2 \sbasedon10 \styrsid15686224 Hyperlink,Char Char7;}{\s37\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1
+\ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \slink39 \styrsid15686224 Body 0 Bold;}{\*\cs38 \additive \rtlch\fcs1 \ab\af40\afs19 \ltrch\fcs0
+\b\fs19\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink31 \slocked \styrsid15686224 Heading 3 Bold Char;}{\*\cs39 \additive \rtlch\fcs1 \ab\af40\afs19 \ltrch\fcs0 \b\fs19\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink37 \slocked \styrsid15686224
+Body 0 Bold Char;}{\*\cs40 \additive \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \f40\fs20 \sbasedon10 \slink41 \slocked \styrsid15686224 Bullet 3 Char1;}{\s41\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls7\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af40\afs20\alang1025 \ltrch\fcs0 \f40\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext41 \slink40 \styrsid15686224 Bullet 3;}{
+\s42\ql \fi-357\li357\ri0\sb120\sa120\widctlpar\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls9\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \af40\afs20\alang1025 \ltrch\fcs0 \f40\fs20\ul\lang1033\langfe1033\cgrid\langnp1033\langfenp1033
+\sbasedon41 \snext42 \sautoupd \styrsid15686224 Bullet 3 Underline;}{\s43\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af40\afs16\alang1025 \ltrch\fcs0
+\fs16\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext43 \slink44 \ssemihidden \sunhideused \styrsid3699522 Balloon Text;}{\*\cs44 \additive \rtlch\fcs1 \af40\afs16 \ltrch\fcs0
+\fs16\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink43 \slocked \ssemihidden \styrsid3699522 Balloon Text Char;}{\*\cs45 \additive \rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \fs16 \sbasedon10 \ssemihidden \sunhideused \styrsid3699522 annotation reference;}{
+\s46\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af40\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext46 \slink47 \ssemihidden \sunhideused \styrsid3699522 annotation text;}{\*\cs47 \additive \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink46 \slocked \ssemihidden \styrsid3699522
+Comment Text Char;}{\s48\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af40\afs20\alang1025 \ltrch\fcs0
+\b\fs20\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon46 \snext46 \slink49 \ssemihidden \sunhideused \styrsid3699522 annotation subject;}{\*\cs49 \additive \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0
+\b\fs20\loch\f40\hich\af40\dbch\af11 \sbasedon47 \slink48 \slocked \ssemihidden \styrsid3699522 Comment Subject Char;}}{\*\listtable{\list\listtemplateid1928476992{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0 \fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0 \fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af40\afs20 \ltrch\fcs0 \b\i0\f40\fs20\fbias0 \s31\fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0 \fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc1\levelnfcn1\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0 \fi-357\li1792\jclisttab\tx2155\lin1792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid398796681}
+{\list\listtemplateid789093748\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-317712510\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s25\fi-363\li720
+\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23
+\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691
+\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}
+\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid477573462}{\list\listtemplateid1904874988{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers
+\'01;}\rtlch\fcs1 \ab\ai0\af40\afs20 \ltrch\fcs0 \b\i0\f40\fs20\cf0\fbias0 \s1\fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'01.;}{\levelnumbers
+\'01;}\rtlch\fcs1 \ab\ai0\af40\afs20 \ltrch\fcs0 \b\i0\f40\fs20\fbias0 \s2\fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'02.;}{\levelnumbers
+\'01;}\rtlch\fcs1 \ab\ai0\af40\afs20 \ltrch\fcs0 \b\i0\f40\fs20\fbias0 \s3\fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'03.;}{\levelnumbers
+\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0 \s4\fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc1\levelnfcn1\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0 \s5\fi-357\li1792\jclisttab\tx2155\lin1792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \s6\fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \s7\fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \s8\fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \s9\fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid752163927}{\list\listtemplateid285099256
+\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-308626962\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s42\fi-357\li1077\jclisttab\tx1080\lin1077 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689
+\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}
+\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480
+\jclisttab\tx6480\lin6480 }{\listname ;}\listid1121073746}{\list\listtemplateid303218272\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid612407812
+\'01\u-3913 ?;}{\levelnumbers;}\f3\cf17\fbias0 \s26\fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0
+\fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0
+\fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23
+\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1559511898}{\list\listtemplateid-743794326\listhybrid
+{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid1229593488\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s41\fi-357\li1077\jclisttab\tx1080\lin1077 }{\listlevel\levelnfc23
+\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}
+\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760
+\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }
+{\listname ;}\listid1567649130}{\list\listtemplateid-961874242\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-1175557160\'01\u-3913 ?;}{\levelnumbers;}
+\f3\fbias0 \s27\fi-357\li1792\jclisttab\tx1795\lin1792 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440
+\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }
+{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23
+\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1848404271}}{\*\listoverridetable{\listoverride\listid477573462\listoverridecount0\ls1}{\listoverride\listid1559511898\listoverridecount0\ls2}
+{\listoverride\listid1848404271\listoverridecount0\ls3}{\listoverride\listid398796681\listoverridecount0\ls4}{\listoverride\listid752163927\listoverridecount0\ls5}{\listoverride\listid398796681\listoverridecount9{\lfolevel\listoverridestartat
+\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel
+\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}\ls6}{\listoverride\listid1567649130\listoverridecount0\ls7}{\listoverride\listid1559511898\listoverridecount0\ls8}
+{\listoverride\listid1121073746\listoverridecount0\ls9}{\listoverride\listid752163927\listoverridecount0\ls10}}{\*\pgptbl {\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp5\itap0\li0\ri0\sb0\sa300}{\pgp\ipgp2\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0
+\sa0}{\pgp\ipgp7\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp1\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp6\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid874403\rsid1473980\rsid2177578\rsid2693076\rsid3699522\rsid4000782\rsid4423363\rsid6097754\rsid7214391\rsid8995160\rsid10246973
+\rsid12062545\rsid13846008\rsid14566738\rsid14751308\rsid15014299\rsid15467703\rsid15686224\rsid15928942\rsid15934954}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info
+{\author kathan}{\operator Alok Shriram}{\creatim\yr2013\mo3\dy20\hr15\min24}{\revtim\yr2013\mo4\dy3\hr11\min6}{\version5}{\edmins3}{\nofpages4}{\nofwords1342}{\nofchars7656}{\*\company Microsoft Corporation}{\nofcharsws8981}{\vern57427}}
+{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect
+\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen
+\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1440\dgvorigin1440\dghshow1\dgvshow1
+\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
+\asianbrkrule\rsidroot15686224\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0
+{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang
+{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang
+{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
+\pard\plain \ltrpar\s28\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs28\alang1025 \ltrch\fcs0
+\b\fs28\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 MICROSOFT SOFTWARE LICENSE TERMS
+\par }\pard\plain \ltrpar\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14566738 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid15686224\charrsid7214391 \hich\af40\dbch\af13\loch\f40 MICROSOFT }{\rtlch\fcs1 \ab\af40\afs20
+\ltrch\fcs0 \b\fs20\dbch\af13\insrsid13846008 \hich\af40\dbch\af13\loch\f40 BCL }{\rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid10246973 \hich\af40\dbch\af13\loch\f40 Portability Pack for .Net \hich\af40\dbch\af13\loch\f40 P
+\hich\af40\dbch\af13\loch\f40 latforms }{\rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid7214391\charrsid7214391 \hich\af40\dbch\af13\loch\f40 PACKAGE}{\rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0
+\b\fs20\dbch\af13\insrsid15686224\charrsid7214391 \hich\af40\dbch\af13\loch\f40 }{\rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid14751308\charrsid7214391
+\par }\pard\plain \ltrpar\s29\ql \li0\ri0\sb120\sa120\nowidctlpar\brdrb\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs28\alang1025 \ltrch\fcs0
+\b\fs28\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\par }\pard\plain \ltrpar\s30\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40
+These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms
+\hich\af40\dbch\af13\loch\f40 a\hich\af40\dbch\af13\loch\f40 lso apply to any Microsoft
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s25\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin360\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 updates,
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 supplements,
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 Internet-based services, and
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 support services
+\par }\pard\plain \ltrpar\s30\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40
+for this software, unless other terms accompany those items. If so, those terms apply.
+\par }{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEP\hich\af40\dbch\af13\loch\f40 T THEM, DO NOT USE THE SOFTWARE.
+\par }\pard\plain \ltrpar\s35\ql \li0\ri0\sb120\sa120\nowidctlpar\brdrt\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\insrsid15686224 \hich\af40\dbch\af11\loch\f40 IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE PERPETUAL RIGHTS BELOW.}{
+\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 1.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid14566738 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 INSTALLATION AND USE RIGHTS. }{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid14566738 \hich\af40\dbch\af13\loch\f40 You}{\rtlch\fcs1
+\ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid14566738\charrsid15934954 \hich\af40\dbch\af13\loch\f40 may install and use any number of copies of the software on your devices to design, develop and test your pr\hich\af40\dbch\af13\loch\f40 ograms
+}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid14566738 .}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224\charrsid14566738 \hich\af40\dbch\af13\loch\f40 2.\tab}}{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0
+\fs20\dbch\af13\insrsid15686224\charrsid14566738 \hich\af40\dbch\af13\loch\f40 DISTRIBUTABLE CODE. }{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid14566738 \hich\af40\dbch\af13\loch\f40 }{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0
+\b0\fs20\dbch\af13\insrsid15686224\charrsid14566738 \hich\af40\dbch\af13\loch\f40 \hich\f40 The software is comprised of Distributable Code. \'93\loch\f40 \hich\f40 Distributable Code\'94\loch\f40
+ is code that you are permitted to distribute in programs you develop if you comply with the terms below.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\fs20\loch\af39\hich\af39\dbch\af13\insrsid15686224 \hich\af39\dbch\af13\loch\f39 a.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls6\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 Right to Use and Distribute.
+\par {\listtext\pard\plain\ltrpar \s42 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s42\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls9\adjustright\rin0\lin1077\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs20\alang1025 \ltrch\fcs0 \f40\fs20\ul\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40 \ltrch\fcs0
+\ulnone\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 Yo\hich\af40\dbch\af13\loch\f40 u may copy and distribute the object code form of the software.
+\par {\listtext\pard\plain\ltrpar \s42 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af40 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40
+Third Party Distribution}{\rtlch\fcs1 \af40 \ltrch\fcs0 \ulnone\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 . You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\fs20\loch\af39\hich\af39\dbch\af13\insrsid15686224 \hich\af39\dbch\af13\loch\f39 b.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls6\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 Distribution Requirements. For any Distribu\hich\af40\dbch\af13\loch\f40
+table Code you distribute, you must
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s41\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls7\adjustright\rin0\lin1077\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs20\alang1025 \ltrch\fcs0 \f40\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40 \ltrch\fcs0
+\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 add significant primary functionality to it in your programs;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40
+for any Distributable Code having a filename extension of .lib, distribute only the results of running such Distributable Code through a linker with your \hich\af40\dbch\af13\loch\f40 program;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40
+distribute Distributable Code included in a setup program only as part of that setup program without modification;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40
+require distributors and external end users to agree to terms that protect it at least as much as this agreement;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 display your valid copyright notice on your programs; and
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40
+indemnify, defend, and hold harmless Microsoft from any claims, including attorneys\hich\f40 \rquote \loch\f40 fees, related to the distribution or use of your programs.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\fs20\loch\af39\hich\af39\dbch\af13\insrsid15686224 \hich\af39\dbch\af13\loch\f39 c.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls6\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 Distribution Restrictions. You may not
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s41\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls7\adjustright\rin0\lin1077\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs20\alang1025 \ltrch\fcs0 \f40\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40 \ltrch\fcs0
+\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 alter an\hich\af40\dbch\af13\loch\f40 y copyright, trademark or patent notice in the Distributable Code;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 use Microsoft\hich\f40 \rquote \loch\f40
+s trademarks in your programs\hich\f40 \rquote \loch\f40 names or in a way that suggests your programs come from or are endorsed by Microsoft;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 distribute Distributable Code to run on a platform oth
+\hich\af40\dbch\af13\loch\f40 er than the Windows platform;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40
+include Distributable Code in malicious, deceptive or unlawful programs; or
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40
+modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License \hich\af40\dbch\af13\loch\f40 is one that requires, as a condition of use, modification or distribution, that
+
+\par {\listtext\pard\plain\ltrpar \s26 \rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \fs19\cf17\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s26\ql \fi-358\li1435\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls8\adjustright\rin0\lin1435\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af40 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 the code be disclosed or distributed in source code form; or
+\par {\listtext\pard\plain\ltrpar \s27 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s27\ql \fi-357\li1792\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1795\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin1792\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 others have the right to modify it.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 3.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 SCOPE OF LICENSE.}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40
+ The software is licensed, not sold. This agreement onl\hich\af40\dbch\af13\loch\f40
+y gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply wit
+\hich\af40\dbch\af13\loch\f40 h\hich\af40\dbch\af13\loch\f40 any technical limitations in the software that only allow you to use it in certain ways. You may not
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s25\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 work around any technical limitations in the software;
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40
+reverse engineer, decompile or disassemble the software, except and only to the extent that app\hich\af40\dbch\af13\loch\f40 licable law expressly permits, despite this limitation;
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40
+make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation;
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 publish the software for others to copy;
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 rent, lease or lend the software\hich\af40\dbch\af13\loch\f40 ;
+
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 transfer the software or this agreement to any third party; or
+
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 use the software for commercial software hosting services.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 4.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 BACKUP COPY.}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40
+ You may make one backup copy of the software. You may use it only to reinstall the software.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 5.\tab}}{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af40\dbch\af13\loch\f40 DOCUMENTATION.}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 A\hich\af40\dbch\af13\loch\f40
+ny person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 6.\tab}}{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af40\dbch\af13\loch\f40 EXPORT RESTRICTIONS.}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 The software is subject to United States export laws and regulations. You must comply wit
+\hich\af40\dbch\af13\loch\f40 h all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see }{\rtlch\fcs1 \ab0\af0\afs20
+\ltrch\fcs0 \cs36\b0\fs20\ul\cf2\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 www.microsoft.com/exporting}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 .}{\rtlch\fcs1 \ab0\af0\afs20 \ltrch\fcs0
+\cs36\b0\fs20\ul\cf2\dbch\af13\insrsid15686224
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 7.\tab}}{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af40\dbch\af13\loch\f40 SUPPORT SERVICES. }{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 Because this \hich\af40\dbch\af13\loch\f40 \hich\f40 software is \'93\loch\f40 \hich\f40 as is,\'94
+\loch\f40 we may not provide support services for it.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 8.\tab}}{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af40\dbch\af13\loch\f40 ENTIRE AGREEMENT.}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40
+ This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support s\hich\af40\dbch\af13\loch\f40 ervices.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 9.\tab}}\pard \ltrpar\s1\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin360\itap0\pararsid15686224 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 APPLICABLE LAW.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 a.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 United States.}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0
+\b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40
+ If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws\hich\af40\dbch\af13\loch\f40
+ of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 b.\tab}}{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af40\dbch\af13\loch\f40 Outside the United States.}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 If you acquired the software in any other country, the laws of that country app
+\hich\af40\dbch\af13\loch\f40 ly.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 10.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 LEGAL EFFECT.}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40
+ This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your right
+\hich\af40\dbch\af13\loch\f40 s under the laws of your country if the laws of your country do not permit it to do so.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 11.\tab}}\pard \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\widctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 \hich\f40
+DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED \'93\loch\f40 \hich\f40 AS-IS.\'94\loch\f40 YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HA\hich\af40\dbch\af13\loch\f40
+VE ADDITIONAL CONSUMER RIGHTS OR STATUTORY GUARANTEES UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE A
+\hich\af40\dbch\af13\loch\f40 N\hich\af40\dbch\af13\loch\f40 D NON-INFRINGEMENT.
+\par }\pard\plain \ltrpar\s24\ql \li357\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 FOR AUSTRALIA \hich\f40 \endash \loch\f40
+ YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE RIGHTS.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 12.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\widctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES}{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\insrsid15686224 \hich\af40\dbch\af11\loch\f40
+. YOU CAN RECOVER FROM MICROSOFT AND I\hich\af40\dbch\af11\loch\f40 TS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.
+\par }\pard\plain \ltrpar\s24\ql \li357\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 This limitation applies to
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s25\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 anything related to the software, services, content (inclu\hich\af40\dbch\af13\loch\f40 ding code) on third party Internet sites, or third party programs; and
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40
+claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.
+\par }\pard\plain \ltrpar\ql \li360\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 It also applies even \hich\af40\dbch\af13\loch\f40
+if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages.
+\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15014299 {\rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid15014299\charrsid15014299 \hich\af40\dbch\af13\loch\f40
+Please note: A\hich\af40\dbch\af13\loch\f40 s this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French.
+\par }{\rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299
+\par
+\par }{\rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af40\dbch\af13\loch\f40 \hich\f40 Remarque : Ce logiciel \'e9\loch\f40 \hich\f40 tant distribu\'e9\loch\f40 \hich\f40 au Qu
+\'e9\loch\f40 \hich\f40 bec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en fran\'e7\loch\f40 ais.
+\par \hich\af40\dbch\af13\loch\f40 EX\hich\af40\dbch\af13\loch\f40 \hich\f40 ON\'c9\loch\f40 RATION DE GARANTIE.}{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af40\dbch\af13\loch\f40
+\hich\f40 Le logiciel vis\'e9\loch\f40 \hich\f40 par une licence est offert \'ab\loch\f40 \hich\f40 tel quel \'bb\loch\f40 \hich\f40 . Toute utilisation de ce logiciel est \'e0\loch\f40 \hich\f40 votre seule risque et p\'e9\loch\f40 ril. Microsoft n
+\hich\f40 \rquote \loch\f40 \hich\f40 accorde aucune autre garantie expresse. Vous pouvez b\'e9\loch\f40 \hich\f40 n\'e9\loch\f40 ficier de droits additionnels en vertu \hich\af40\dbch\af13\loch\f40 \hich\f40
+du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualit\'e9\loch\f40 marchande, d\hich\f40 \rquote \loch\f40 \hich\f40 ad\'e9\loch\f40
+\hich\f40 quation \'e0\loch\f40 un usage particulier et d\hich\f40 \rquote \loch\f40 \hich\f40 absence de contrefa\'e7\loch\f40 on sont exclues.
+\par }{\rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af40\dbch\af13\loch\f40 \hich\f40 LIMITATION DES DOMMAGES-INT\'c9\loch\f40 \hich\f40 R\'ca\loch\f40 \hich\f40
+TS ET EXCLUSION DE RESPONSABILIT\'c9\loch\f40 POUR LES DOMMAGES.}{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af40\dbch\af13\loch\f40 \hich\f40
+ Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement \'e0\loch\f40 \hich\f40 hauteur de 5,00 $ US. Vous ne pouvez pr\'e9\loch\f40 \hich\f40 tendre \'e0\loch\f40 aucune in
+\hich\af40\dbch\af13\loch\f40 \hich\f40 demnisation pour les autres dommages, y compris les dommages sp\'e9\loch\f40 \hich\f40 ciaux, indirects ou accessoires et pertes de b\'e9\loch\f40 \hich\f40 n\'e9\loch\f40 fices.
+\par }{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15014299\charrsid15014299 \hich\af40\dbch\af13\loch\f40 Cette limitation concerne :
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\loch\af3\hich\af3\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard \ltrpar
+\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin360\itap0\pararsid15014299 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0
+\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af40\dbch\af13\loch\f40 \hich\f40 tout ce qui est reli\'e9\loch\f40 au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites I
+\hich\af40\dbch\af13\loch\f40 nternet tiers ou dans des programmes tiers ; et
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\loch\af3\hich\af3\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 \hich\f40 les r\'e9
+\loch\f40 \hich\f40 clamations au titre de violation de contrat ou de garantie, ou au titre de responsabilit\'e9\loch\f40 \hich\f40 stricte, de n\'e9\loch\f40 gligence ou d\hich\f40 \rquote \loch\f40 \hich\f40 une autre faute dans la limite autoris\'e9
+\loch\f40 e par la loi en vigueur.
+\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15014299 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299
+\hich\af40\dbch\af13\loch\f40 Elle s\hich\f40 \rquote \loch\f40 \hich\f40 applique \'e9\loch\f40 g\hich\af40\dbch\af13\loch\f40 \hich\f40 alement, m\'ea\loch\f40 \hich\f40 me si Microsoft connaissait ou devrait conna\'ee\loch\f40 tre l\hich\f40 \rquote
+\'e9\loch\f40 \hich\f40 ventualit\'e9\loch\f40 d\hich\f40 \rquote \loch\f40 un tel dommage. Si votre pays n\hich\f40 \rquote \loch\f40 autorise pas l\hich\f40 \rquote \loch\f40 \hich\f40 exclusion ou la limitation de responsabilit\'e9\loch\f40
+ pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut q\hich\af40\dbch\af13\loch\f40 u\hich\af40\dbch\af13\loch\f40 e la limitation ou l\hich\f40 \rquote \loch\f40 exclusion ci-dessus ne s\hich\f40 \rquote \loch\f40
+\hich\f40 appliquera pas \'e0\loch\f40 \hich\f40 votre \'e9\loch\f40 gard.
+\par }\pard\plain \ltrpar\s37\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15014299 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af40\dbch\af13\loch\f40 EFFET JURIDIQUE.}{
+\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af40\dbch\af13\loch\f40 \hich\f40 Le pr\'e9\loch\f40 \hich\f40 sent contrat d\'e9\loch\f40
+crit certains droits juridiques. Vous pourriez avoir d\hich\f40 \rquote \loch\f40 \hich\f40 autres droits pr\'e9\loch\f40 \hich\f40 vus par les lois de votre pays. Le pr\'e9\loch\f40 sent contrat ne modif\hich\af40\dbch\af13\loch\f40 \hich\f40
+ie pas les droits que vous conf\'e8\loch\f40 rent les lois de votre pays si celles-ci ne le permettent pas}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299 .}{\rtlch\fcs1 \af40 \ltrch\fcs0
+\insrsid4000782
+\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a
+9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad
+5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6
+b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0
+0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6
+a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f
+c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512
+0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462
+a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865
+6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b
+4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b
+4757e8d3f729e245eb2b260a0238fd010000ffff0300504b03041400060008000000210030dd4329a8060000a41b0000160000007468656d652f7468656d652f
+7468656d65312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87
+615b8116d8a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad
+79482a9c0498f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b
+5d8a314d3c94e018c8de1a8fa94fd05093f43672e23d06af89927ac06762a049136785c10607758d9053d965021d62d6f6804fc08f86e4bef210c352c144dbab
+999fb7b4717509af678b985ab0b6b4ae6f7ed9ba6c4170b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83a6569632cd467faddec9
+699640f6719e76b7d6ac355c7c89feca9cccad4ea7d36c65b258a206641f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd586
+8b37a088d1e4600ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe3a20f000d6458d104a9694ac6d88728eee2782428d6
+0cf03ac1a5193be4cbb921cd0b495fd054b5bd0f530c1931a3f7eaf9f7af9e3f45c70f9e1d3ff8e9f8e1c3e3073f5a42ceaa6d9c84e5552fbffdeccfc71fa33f
+9e7ef3f2d117d57859c6fffac327bffcfc793510d26726ce8b2f9ffcf6ecc98baf3efdfdbb4715f04d814765f890c644a29be408edf3181433567125272371be
+15c308d3f28acd249438c19a4b05fd9e8a1cf4cd296699771c393ac4b5e01d01e5a30a787d72cf1178108989a2159c77a2d801ee72ce3a5c545a6147f32a9979
+3849c26ae66252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d
+32a423279a668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2a
+f074481847bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86
+e877f0034e16bafb0e258ebb4faf06b769e888340b103d331115bebc4eb813bf83291b63624a0d1475a756c734f9bbc2cd28546ecbe1e20a3794ca175f3fae90
+fb6d2dd99bb07b55e5ccf68942bd0877b23c77b908e8db5f9db7f024d9239010f35bd4bbe2fcae387bfff9e2bc289f2fbe24cfaa301468dd8bd846dbb4ddf1c2
+ae7b4c191ba8292337a469bc25ec3d411f06f53a73e224c5292c8de0516732307070a1c0660d125c7d44553488700a4d7bddd3444299910e254ab984c3a219ae
+a4adf1d0f82b7bd46cea4388ad1c12ab5d1ed8e1153d9c9f350a3246aad01c6873462b9ac05999ad5cc988826eafc3acae853a33b7ba11cd1445875ba1b236b1
+399483c90bd560b0b0263435085a21b0f22a9cf9356b38ec6046026d77eba3dc2dc60b17e92219e180643ed27acffba86e9c94c7ca9c225a0f1b0cfae0788ad5
+4adc5a9aec1b703b8b93caec1a0bd8e5de7b132fe5113cf312503b998e2c2927274bd051db6b35979b1ef271daf6c6704e86c73805af4bdd476216c26593af84
+0dfb5393d964f9cc9bad5c313709ea70f561ed3ea7b053075221d51696910d0d339585004b34272bff7213cc7a510a5454a3b349b1b206c1f0af490176745d4b
+c663e2abb2b34b23da76f6352ba57ca2881844c1111ab189d8c7e07e1daaa04f40255c77988aa05fe06e4e5bdb4cb9c5394bbaf28d98c1d971ccd20867e556a7
+689ec9166e0a522183792b8907ba55ca6e943bbf2a26e52f48957218ffcf54d1fb09dc3eac04da033e5c0d0b8c74a6b43d2e54c4a10aa511f5fb021a07533b20
+5ae07e17a621a8e082dafc17e450ffb739676998b48643a4daa7211214f623150942f6a02c99e83b85583ddbbb2c4996113211551257a656ec1139246ca86be0
+aadedb3d1441a89b6a929501833b197fee7b9641a3503739e57c732a59b1f7da1cf8a73b1f9bcca0945b874d4393dbbf10b1680f66bbaa5d6f96e77b6f59113d
+316bb31a795600b3d256d0cad2fe354538e7566b2bd69cc6cbcd5c38f0e2bcc63058344429dc2121fd07f63f2a7c66bf76e80d75c8f7a1b622f878a18941d840
+545fb28d07d205d20e8ea071b283369834296bdaac75d256cb37eb0bee740bbe278cad253b8bbfcf69eca23973d939b97891c6ce2cecd8da8e2d343578f6648a
+c2d0383fc818c798cf64e52f597c740f1cbd05df0c264c49134cf09d4a60e8a107260f20f92d47b374e32f000000ffff0300504b030414000600080000002100
+0dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f7
+8277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89
+d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd500
+1996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0f
+bfff0000001c0200001300000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6
+a7e7c0000000360100000b00000000000000000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a
+0000001c00000000000000000000000000190200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d00140006000800000021
+0030dd4329a8060000a41b00001600000000000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d001400060008
+00000021000dd1909fb60000001b0100002700000000000000000000000000b20900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000ad0a00000000}
+{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
+617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
+6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
+656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
+{\*\latentstyles\lsdstimax371\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdlocked0 heading 1;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 7;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1;
+\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7;
+\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;
+\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority59 \lsdlocked0 Table Grid;\lsdsemihidden1 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;
+\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid;\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1;
+\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2;\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;
+\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1;\lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1;
+\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdsemihidden1 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;
+\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;
+\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;
+\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;
+\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;
+\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3;
+\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;
+\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;
+\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4;
+\lsdpriority62 \lsdlocked0 Light Grid Accent 4;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;
+\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
+\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5;
+\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
+\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;
+\lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6;
+\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;
+\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;
+\lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
+\lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4;
+\lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4;
+\lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1;
+\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1;
+\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2;
+\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2;
+\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3;
+\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4;
+\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4;
+\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5;
+\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5;
+\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6;
+\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6;
+\lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark;
+\lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1;
+\lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1;
+\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2;
+\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3;
+\lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3;
+\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4;
+\lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4;
+\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5;
+\lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5;
+\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6;
+\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;}}{\*\datastore 010500000200000018000000
+4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000
+d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e50000000000000000000000008082
+82f39530ce01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/Microsoft.Bcl.1.0.19.nupkg b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/Microsoft.Bcl.1.0.19.nupkg
new file mode 100644
index 0000000..8383f69
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/Microsoft.Bcl.1.0.19.nupkg
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/Microsoft.Bcl.1.0.19.nuspec b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/Microsoft.Bcl.1.0.19.nuspec
new file mode 100644
index 0000000..75e2625
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/Microsoft.Bcl.1.0.19.nuspec
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
+ <metadata>
+ <id>Microsoft.Bcl</id>
+ <version>1.0.19</version>
+ <title>BCL Portability Pack for .NET Framework 4, Silverlight 4 and 5, and Windows Phone 7.5</title>
+ <authors>Microsoft</authors>
+ <owners>Microsoft</owners>
+ <licenseUrl>http://go.microsoft.com/fwlink/?LinkID=296435</licenseUrl>
+ <projectUrl>http://go.microsoft.com/fwlink/?LinkID=280057</projectUrl>
+ <iconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</iconUrl>
+ <requireLicenseAcceptance>true</requireLicenseAcceptance>
+ <description>This packages enables projects targeting .NET Framework 4, Silverlight 4 and 5, and Windows Phone 7.5 (including any portable library combinations) to use new types from later versions of .NET including:
+
+CallerMemberNameAttribute
+CallerLineNumberAttribute
+CallerFilePathAttribute
+Tuple&lt;T1, T2, ...&gt;
+IProgress&lt;T&gt;
+IStructuralComparable
+IStructuralEquatable
+Task
+
+These types are "unified" to their later version equivalent. For example, when running on .NET Framework 4.5, IProgress&lt;T&gt; from this package will be seen by the runtime as the same type as the one already in the platform.
+
+This package is not required for projects targeting .NET Framework 4.5 or .NET for Windows Store apps. For known issues, please see: http://blogs.msdn.com/b/bclteam/p/asynctargetingpackkb.aspx.</description>
+ <summary>Adds support for types from later versions to .NET Framework 4, Silverlight 4 and 5, and Windows Phone 7.5.</summary>
+ <copyright>Copyright © Microsoft Corporation</copyright>
+ <tags>BCL Microsoft System Task IProgress</tags>
+ <dependencies>
+ <dependency id="Microsoft.Bcl.Build" version="1.0.4" />
+ </dependencies>
+ <references>
+ <reference file="System.Runtime.dll" />
+ <reference file="System.Threading.Tasks.dll" />
+ <reference file="_._" />
+ </references>
+ </metadata>
+</package> \ No newline at end of file
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/ReleaseNotes.txt b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/ReleaseNotes.txt
new file mode 100644
index 0000000..1bb9317
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/ReleaseNotes.txt
@@ -0,0 +1,24 @@
+Changes in 1.0.16-rc
+- Fixed: Adding empty content to .NET 4.5, Windows Phone 8, Windows 8 and portable combinations, so that app.config transforms
+ are not applied to projects targeting them.
+
+Changes in 1.0.15-rc
+
+- Fixed: System.Runtime is missing a type forward for Tuple<T1, T2>
+
+Changes in 1.0.14-rc
+
+- Fixed: System.Runtime now has a fixed version for Phone 7.x due to the lack of a way to redirect them to a later version.
+
+Changes in 1.0.13-rc
+
+- Fixed: First-chance exceptions when running on Phone 7.x
+
+Changes in 1.0.12-rc
+
+- Fixed: Microsoft.Bcl.targets are not imported when using NuGet 2.0 to install Microsoft.Bcl
+- Changed: Pulled build targets into a separate package (Microsoft.Bcl.Build) so other BCL packages can depend on it.
+
+Changes in 1.0.11-beta
+
+- Initial release \ No newline at end of file
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/net45/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/net45/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/net45/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/portable-net45+win8+wp8/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/portable-net45+win8+wp8/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/portable-net45+win8+wp8/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/sl4/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/sl4/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/sl4/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/sl5/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/sl5/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/sl5/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/win8/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/win8/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/win8/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/wp8/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/wp8/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/content/wp8/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/System.Runtime.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/System.Runtime.dll
new file mode 100644
index 0000000..fa831ad
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/System.Runtime.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/System.Runtime.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/System.Runtime.xml
new file mode 100644
index 0000000..93cb00d
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/System.Runtime.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Runtime</name>
+ </assembly>
+ <members>
+ <member name="T:System.IProgress`1">
+ <summary>Defines a provider for progress updates.</summary>
+ <typeparam name="T">The type of progress update value.</typeparam>
+ </member>
+ <member name="M:System.IProgress`1.Report(`0)">
+ <summary>Reports a progress update.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncStateMachineAttribute">
+ <summary>Identities the async state machine type for this method.</summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.StateMachineAttribute">
+ <summary>Identities the state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.StateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.StateMachineAttribute.StateMachineType">
+ <summary>Gets the type that implements the state machine.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerMemberNameAttribute">
+ <summary>
+ Allows you to obtain the method or property name of the caller to the method.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerLineNumberAttribute">
+ <summary>
+ Allows you to obtain the line number in the source file at which the method is called.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerFilePathAttribute">
+ <summary>
+ Allows you to obtain the full path of the source file that contains the caller.
+ This is the file path at the time of compile.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IteratorStateMachineAttribute">
+ <summary>Identities the iterator state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IteratorStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/System.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/System.Threading.Tasks.dll
new file mode 100644
index 0000000..ebbac4c
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/System.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/System.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/System.Threading.Tasks.xml
new file mode 100644
index 0000000..b47921e
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/System.Threading.Tasks.xml
@@ -0,0 +1,475 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore">
+ <summary>Holds state related to the builder's IAsyncStateMachine.</summary>
+ <remarks>This is a mutable struct. Be very delicate with it.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.m_stateMachine">
+ <summary>A reference to the heap-allocated state machine object associated with this builder.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.GetCompletionAction``2(``0@,``1@)">
+ <summary>
+ Gets the Action to use with an awaiter's OnCompleted or UnsafeOnCompleted method.
+ On first invocation, the supplied state machine will be boxed.
+ </summary>
+ <typeparam name="TMethodBuilder">Specifies the type of the method builder used.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine used.</typeparam>
+ <param name="builder">The builder.</param>
+ <param name="stateMachine">The state machine.</param>
+ <returns>An Action to provide to the awaiter.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner">
+ <summary>Provides the ability to invoke a state machine's MoveNext method under a supplied ExecutionContext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_context">
+ <summary>The context with which to run MoveNext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_stateMachine">
+ <summary>The state machine whose MoveNext method should be invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.#ctor(System.ExecutionContextLightup)">
+ <summary>Initializes the runner.</summary>
+ <param name="context">The context with which to run MoveNext.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run">
+ <summary>Invokes MoveNext under the provided context.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.s_invokeMoveNext">
+ <summary>Cached delegate used with ExecutionContext.Run.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(System.Object)">
+ <summary>Invokes the MoveNext method on the supplied IAsyncStateMachine.</summary>
+ <param name="stateMachine">The IAsyncStateMachine machine instance.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1">
+ <summary>Provides a base class used to cache tasks of a specific return type.</summary>
+ <typeparam name="TResult">Specifies the type of results the cached tasks return.</typeparam>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.Singleton">
+ <summary>
+ A singleton cache for this result type.
+ This may be null if there are no cached tasks for this TResult.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCompleted(`0)">
+ <summary>Creates a non-disposable task.</summary>
+ <param name="result">The result for the task.</param>
+ <returns>The cacheable task.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCache">
+ <summary>Creates a cache.</summary>
+ <returns>A task cache for this result type.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.FromResult(`0)">
+ <summary>Gets a cached task if one exists.</summary>
+ <param name="result">The result for which we want a cached task.</param>
+ <returns>A cached task if one exists; otherwise, null.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache">
+ <summary>Provides a cache for Boolean tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_true">
+ <summary>A true task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_false">
+ <summary>A false task.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.FromResult(System.Boolean)">
+ <summary>Gets a cached task for the Boolean result.</summary>
+ <param name="result">true or false</param>
+ <returns>A cached task for the Boolean result.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache">
+ <summary>Provides a cache for zero Int32 tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.INCLUSIVE_INT32_MIN">
+ <summary>The minimum value, inclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.EXCLUSIVE_INT32_MAX">
+ <summary>The maximum value, exclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.Int32Tasks">
+ <summary>The cache of Task{Int32}.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.CreateInt32Tasks">
+ <summary>Creates an array of cached tasks for the values in the range [INCLUSIVE_MIN,EXCLUSIVE_MAX).</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.FromResult(System.Int32)">
+ <summary>Gets a cached task for the zero Int32 result.</summary>
+ <param name="result">The integer value</param>
+ <returns>A cached task for the Int32 result or null if not cached.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncMethodBuilder">
+ <summary>Represents an asynchronous method builder.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.s_cachedCompleted">
+ <summary>A cached VoidTaskResult task used for builders that complete synchronously.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.m_builder">
+ <summary>The generic builder object to which this non-generic instance delegates.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetResult">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task"/> representing the builder's asynchronous operation.</returns>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task`1"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder{TResult} is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.s_defaultResultTask">
+ <summary>A cached task for default(TResult).</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_task">
+ <summary>The lazily-initialized task.</summary>
+ <remarks>Must be named m_task for debugger step-over to work correctly.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_taskCompletionSource">
+ <summary>The lazily-initialized task completion source.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(`0)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state with the specified result.
+ </summary>
+ <param name="result">The result to use to complete the task.</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(System.Threading.Tasks.TaskCompletionSource{`0})">
+ <summary>
+ Completes the builder by using either the supplied completed task, or by completing
+ the builder's previously accessed task using default(TResult).
+ </summary>
+ <param name="completedTask">A task already completed with the value default(TResult).</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ <remarks>
+ This should only be invoked from within an asynchronous method,
+ and only by the debugger.
+ </remarks>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.GetTaskForResult(`0)">
+ <summary>
+ Gets a task for the specified result. This will either
+ be a cached or new task, never null.
+ </summary>
+ <param name="result">The result for which we need a task.</param>
+ <returns>The completed task containing the result.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.CompletionSource">
+ <summary>Gets the lazily-initialized TaskCompletionSource.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task`1"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task`1"/> representing the builder's asynchronous operation.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return void.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_synchronizationContext">
+ <summary>The synchronization context associated with this operation.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_objectIdForDebugger">
+ <summary>An object used by the debugger to uniquely identify this builder. Lazily initialized.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.PreventUnobservedTaskExceptions">
+ <summary>Registers with UnobservedTaskException to suppress exception crashing.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.s_preventUnobservedTaskExceptionsInvoked">
+ <summary>Non-zero if PreventUnobservedTaskExceptions has already been invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#ctor(System.Threading.SynchronizationContext)">
+ <summary>Initializes the <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <param name="synchronizationContext">The synchronizationContext associated with this operation. This may be null.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetResult">
+ <summary>Completes the method builder successfully.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetException(System.Exception)">
+ <summary>Faults the method builder with an exception.</summary>
+ <param name="exception">The exception that is the cause of this fault.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.NotifySynchronizationContextOfCompletion">
+ <summary>Notifies the current synchronization context that the operation completed.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger and only in a single-threaded manner.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncStateMachine">
+ <summary>
+ Represents state machines generated for asynchronous methods.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.MoveNext">
+ <summary>Moves the state machine to its next state.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Configures the state machine with a heap-allocated replica.</summary>
+ <param name="stateMachine">The heap-allocated replica.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.ICriticalNotifyCompletion">
+ <summary>
+ Represents an awaiter used to schedule continuations when an await operation completes.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.INotifyCompletion">
+ <summary>
+ Represents an operation that will schedule continuations when the operation completes.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.INotifyCompletion.OnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.ICriticalNotifyCompletion.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <remarks>Unlike OnCompleted, UnsafeOnCompleted need not propagate ExecutionContext information.</remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.VoidTaskResult">
+ <summary>Used with Task(of void)</summary>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/ensureRedirect.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/ensureRedirect.xml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net40/ensureRedirect.xml
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net45/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net45/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/net45/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/System.Runtime.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/System.Runtime.dll
new file mode 100644
index 0000000..97ab730
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/System.Runtime.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/System.Runtime.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/System.Runtime.xml
new file mode 100644
index 0000000..53f5bef
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/System.Runtime.xml
@@ -0,0 +1,860 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Runtime</name>
+ </assembly>
+ <members>
+ <member name="T:System.Strings">
+ <summary>
+ A strongly-typed resource class, for looking up localized strings, etc.
+ </summary>
+ </member>
+ <member name="P:System.Strings.ResourceManager">
+ <summary>
+ Returns the cached ResourceManager instance used by this class.
+ </summary>
+ </member>
+ <member name="P:System.Strings.Culture">
+ <summary>
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+ </summary>
+ </member>
+ <member name="P:System.Strings.ArgumentException_TupleIncorrectType">
+ <summary>
+ Looks up a localized string similar to Argument must be of type {0}..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ArgumentException_TupleLastArgumentNotATuple">
+ <summary>
+ Looks up a localized string similar to The last element of an eight element tuple must be a Tuple..
+ </summary>
+ </member>
+ <member name="T:System.Collections.IStructuralEquatable">
+ <summary>
+ Defines methods to support the comparison of objects for structural equality.
+ </summary>
+ </member>
+ <member name="M:System.Collections.IStructuralEquatable.Equals(System.Object,System.Collections.IEqualityComparer)">
+ <summary>
+ Determines whether an object is structurally equal to the current instance.
+ </summary>
+ <param name="other">The object to compare with the current instance.</param>
+ <param name="comparer">An object that determines whether the current instance and other are equal. </param>
+ <returns>true if the two objects are equal; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Collections.IStructuralEquatable.GetHashCode(System.Collections.IEqualityComparer)">
+ <summary>
+ Returns a hash code for the current instance.
+ </summary>
+ <param name="comparer">An object that computes the hash code of the current object.</param>
+ <returns>The hash code for the current instance.</returns>
+ </member>
+ <member name="T:System.Collections.IStructuralComparable">
+ <summary>
+ Supports the structural comparison of collection objects.
+ </summary>
+ </member>
+ <member name="M:System.Collections.IStructuralComparable.CompareTo(System.Object,System.Collections.IComparer)">
+ <summary>
+ Determines whether the current collection object precedes, occurs in the same position as, or follows another object in the sort order.
+ </summary>
+ <param name="other">The object to compare with the current instance.</param>
+ <param name="comparer">An object that compares members of the current collection object with the corresponding members of other.</param>
+ <returns>An integer that indicates the relationship of the current collection object to other.</returns>
+ <exception cref="T:System.ArgumentException">
+ This instance and other are not the same type.
+ </exception>
+ </member>
+ <member name="T:System.Func`6">
+ <summary>
+ Encapsulates a method that has five parameters and returns a value of the type specified by the TResult parameter.
+ </summary>
+ <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
+ <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
+ <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
+ <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
+ <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
+ <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
+ <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
+ <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
+ <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
+ <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
+ <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
+ <returns>The return value of the method that this delegate encapsulates.</returns>
+ </member>
+ <member name="T:System.IProgress`1">
+ <summary>Defines a provider for progress updates.</summary>
+ <typeparam name="T">The type of progress update value.</typeparam>
+ </member>
+ <member name="M:System.IProgress`1.Report(`0)">
+ <summary>Reports a progress update.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncStateMachineAttribute">
+ <summary>Identities the async state machine type for this method.</summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.StateMachineAttribute">
+ <summary>Identities the state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.StateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.StateMachineAttribute.StateMachineType">
+ <summary>Gets the type that implements the state machine.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerMemberNameAttribute">
+ <summary>
+ Allows you to obtain the method or property name of the caller to the method.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerLineNumberAttribute">
+ <summary>
+ Allows you to obtain the line number in the source file at which the method is called.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerFilePathAttribute">
+ <summary>
+ Allows you to obtain the full path of the source file that contains the caller.
+ This is the file path at the time of compile.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IteratorStateMachineAttribute">
+ <summary>Identities the iterator state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IteratorStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="T:System.ITuple">
+ <summary>
+ Helper so we can call some tuple methods recursively without knowing the underlying types.
+ </summary>
+ </member>
+ <member name="T:System.Tuple">
+ <summary>
+ Provides static methods for creating tuple objects.
+ </summary>
+ </member>
+ <member name="M:System.Tuple.Create``1(``0)">
+ <summary>
+ Creates a new 1-tuple, or singleton.
+ </summary>
+ <typeparam name="T1">The type of the only component of the tuple.</typeparam>
+ <param name="item1">The value of the only component of the tuple.</param>
+ <returns>A tuple whose value is (item1).</returns>
+ </member>
+ <member name="M:System.Tuple.Create``2(``0,``1)">
+ <summary>
+ Creates a new 3-tuple, or pair.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <returns>An 2-tuple (pair) whose value is (item1, item2).</returns>
+ </member>
+ <member name="M:System.Tuple.Create``3(``0,``1,``2)">
+ <summary>
+ Creates a new 3-tuple, or triple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <returns>An 3-tuple (triple) whose value is (item1, item2, item3).</returns>
+ </member>
+ <member name="M:System.Tuple.Create``4(``0,``1,``2,``3)">
+ <summary>
+ Creates a new 4-tuple, or quadruple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ <returns>An 4-tuple (quadruple) whose value is (item1, item2, item3, item4).</returns>
+ </member>
+ <member name="M:System.Tuple.Create``5(``0,``1,``2,``3,``4)">
+ <summary>
+ Creates a new 5-tuple, or quintuple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ <typeparam name="T5">The type of the fifth component of the tuple.</typeparam>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ <param name="item5">The value of the fifth component of the tuple.</param>
+ <returns>An 5-tuple (quintuple) whose value is (item1, item2, item3, item4, item5).</returns>
+ </member>
+ <member name="M:System.Tuple.Create``6(``0,``1,``2,``3,``4,``5)">
+ <summary>
+ Creates a new 6-tuple, or sextuple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ <typeparam name="T5">The type of the fifth component of the tuple.</typeparam>
+ <typeparam name="T6">The type of the sixth component of the tuple.</typeparam>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ <param name="item5">The value of the fifth component of the tuple.</param>
+ <param name="item6">The value of the sixth component of the tuple.</param>
+ <returns>An 6-tuple (sextuple) whose value is (item1, item2, item3, item4, item5, item6).</returns>
+ </member>
+ <member name="M:System.Tuple.Create``7(``0,``1,``2,``3,``4,``5,``6)">
+ <summary>
+ Creates a new 7-tuple, or septuple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ <typeparam name="T5">The type of the fifth component of the tuple.</typeparam>
+ <typeparam name="T6">The type of the sixth component of the tuple.</typeparam>
+ <typeparam name="T7">The type of the seventh component of the tuple.</typeparam>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ <param name="item5">The value of the fifth component of the tuple.</param>
+ <param name="item6">The value of the sixth component of the tuple.</param>
+ <param name="item7">The value of the seventh component of the tuple.</param>
+ <returns>An 7-tuple (septuple) whose value is (item1, item2, item3, item4, item5, item6, item7).</returns>
+ </member>
+ <member name="M:System.Tuple.Create``8(``0,``1,``2,``3,``4,``5,``6,``7)">
+ <summary>
+ Creates a new 8-tuple, or octuple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ <typeparam name="T5">The type of the fifth component of the tuple.</typeparam>
+ <typeparam name="T6">The type of the sixth component of the tuple.</typeparam>
+ <typeparam name="T7">The type of the seventh component of the tuple.</typeparam>
+ <typeparam name="T8">The type of the eighth component of the tuple.</typeparam>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ <param name="item5">The value of the fifth component of the tuple.</param>
+ <param name="item6">The value of the sixth component of the tuple.</param>
+ <param name="item7">The value of the seventh component of the tuple.</param>
+ <param name="item8">The value of the eighth component of the tuple.</param>
+ <returns>An 8-tuple (octuple) whose value is (item1, item2, item3, item4, item5, item6, item7, item8).</returns>
+ </member>
+ <member name="T:System.Tuple`1">
+ <summary>
+ Represents a 1-tuple, or singleton.
+ </summary>
+ <typeparam name="T1">The type of the tuple's only component.</typeparam>
+ </member>
+ <member name="M:System.Tuple`1.#ctor(`0)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Tuple`1"/> class.
+ </summary>
+ <param name="item1">The value of the current tuple object's single component.</param>
+ </member>
+ <member name="M:System.Tuple`1.Equals(System.Object)">
+ <summary>
+ Returns a value that indicates whether the current tuple object is equal to a specified object.
+ </summary>
+ <param name="obj">The object to compare with this instance.</param>
+ <returns>true if the current instance is equal to the specified object; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Tuple`1.GetHashCode">
+ <summary>
+ Calculates the hash code for the current tuple object.
+ </summary>
+ <returns>A 32-bit signed integer hash code.</returns>
+ </member>
+ <member name="M:System.Tuple`1.ToString">
+ <summary>
+ Returns a string that represents the value of this tuple instance.
+ </summary>
+ <returns>The string representation of this tuple object.</returns>
+ </member>
+ <member name="P:System.Tuple`1.Item1">
+ <summary>
+ Gets the value of the tuple object's single component.
+ </summary>
+ <value>
+ The value of the current tuple object's single component.
+ </value>
+ </member>
+ <member name="T:System.Tuple`2">
+ <summary>
+ Represents an 2-tuple, or pair.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ </member>
+ <member name="M:System.Tuple`2.#ctor(`0,`1)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Tuple`2"/> class.
+ </summary>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ </member>
+ <member name="M:System.Tuple`2.Equals(System.Object)">
+ <summary>
+ Returns a value that indicates whether the current tuple object is equal to a specified object.
+ </summary>
+ <param name="obj">The object to compare with this instance.</param>
+ <returns>true if the current instance is equal to the specified object; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Tuple`2.GetHashCode">
+ <summary>
+ Calculates the hash code for the current tuple object.
+ </summary>
+ <returns>A 32-bit signed integer hash code.</returns>
+ </member>
+ <member name="M:System.Tuple`2.ToString">
+ <summary>
+ Returns a string that represents the value of this tuple instance.
+ </summary>
+ <returns>The string representation of this tuple object.</returns>
+ </member>
+ <member name="P:System.Tuple`2.Item1">
+ <summary>
+ Gets the value of the current tuple object's first component.
+ </summary>
+ <value>
+ The value of the current tuple object's first component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`2.Item2">
+ <summary>
+ Gets the value of the current tuple object's second component.
+ </summary>
+ <value>
+ The value of the current tuple object's second component.
+ </value>
+ </member>
+ <member name="T:System.Tuple`3">
+ <summary>
+ Represents an 3-tuple, or triple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ </member>
+ <member name="M:System.Tuple`3.#ctor(`0,`1,`2)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Tuple`3"/> class.
+ </summary>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ </member>
+ <member name="M:System.Tuple`3.Equals(System.Object)">
+ <summary>
+ Returns a value that indicates whether the current tuple object is equal to a specified object.
+ </summary>
+ <param name="obj">The object to compare with this instance.</param>
+ <returns>true if the current instance is equal to the specified object; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Tuple`3.GetHashCode">
+ <summary>
+ Calculates the hash code for the current tuple object.
+ </summary>
+ <returns>A 32-bit signed integer hash code.</returns>
+ </member>
+ <member name="M:System.Tuple`3.ToString">
+ <summary>
+ Returns a string that represents the value of this tuple instance.
+ </summary>
+ <returns>The string representation of this tuple object.</returns>
+ </member>
+ <member name="P:System.Tuple`3.Item1">
+ <summary>
+ Gets the value of the current tuple object's first component.
+ </summary>
+ <value>
+ The value of the current tuple object's first component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`3.Item2">
+ <summary>
+ Gets the value of the current tuple object's second component.
+ </summary>
+ <value>
+ The value of the current tuple object's second component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`3.Item3">
+ <summary>
+ Gets the value of the current tuple object's third component.
+ </summary>
+ <value>
+ The value of the current tuple object's third component.
+ </value>
+ </member>
+ <member name="T:System.Tuple`4">
+ <summary>
+ Represents an 4-tuple, or quadruple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ </member>
+ <member name="M:System.Tuple`4.#ctor(`0,`1,`2,`3)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Tuple`4"/> class.
+ </summary>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ </member>
+ <member name="M:System.Tuple`4.Equals(System.Object)">
+ <summary>
+ Returns a value that indicates whether the current tuple object is equal to a specified object.
+ </summary>
+ <param name="obj">The object to compare with this instance.</param>
+ <returns>true if the current instance is equal to the specified object; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Tuple`4.GetHashCode">
+ <summary>
+ Calculates the hash code for the current tuple object.
+ </summary>
+ <returns>A 32-bit signed integer hash code.</returns>
+ </member>
+ <member name="M:System.Tuple`4.ToString">
+ <summary>
+ Returns a string that represents the value of this tuple instance.
+ </summary>
+ <returns>The string representation of this tuple object.</returns>
+ </member>
+ <member name="P:System.Tuple`4.Item1">
+ <summary>
+ Gets the value of the current tuple object's first component.
+ </summary>
+ <value>
+ The value of the current tuple object's first component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`4.Item2">
+ <summary>
+ Gets the value of the current tuple object's second component.
+ </summary>
+ <value>
+ The value of the current tuple object's second component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`4.Item3">
+ <summary>
+ Gets the value of the current tuple object's third component.
+ </summary>
+ <value>
+ The value of the current tuple object's third component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`4.Item4">
+ <summary>
+ Gets the value of the current tuple object's fourth component.
+ </summary>
+ <value>
+ The value of the current tuple object's fourth component.
+ </value>
+ </member>
+ <member name="T:System.Tuple`5">
+ <summary>
+ Represents an 5-tuple, or quintuple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ <typeparam name="T5">The type of the fifth component of the tuple.</typeparam>
+ </member>
+ <member name="M:System.Tuple`5.#ctor(`0,`1,`2,`3,`4)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Tuple`5"/> class.
+ </summary>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ <param name="item5">The value of the fifth component of the tuple.</param>
+ </member>
+ <member name="M:System.Tuple`5.Equals(System.Object)">
+ <summary>
+ Returns a value that indicates whether the current tuple object is equal to a specified object.
+ </summary>
+ <param name="obj">The object to compare with this instance.</param>
+ <returns>true if the current instance is equal to the specified object; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Tuple`5.GetHashCode">
+ <summary>
+ Calculates the hash code for the current tuple object.
+ </summary>
+ <returns>A 32-bit signed integer hash code.</returns>
+ </member>
+ <member name="M:System.Tuple`5.ToString">
+ <summary>
+ Returns a string that represents the value of this tuple instance.
+ </summary>
+ <returns>The string representation of this tuple object.</returns>
+ </member>
+ <member name="P:System.Tuple`5.Item1">
+ <summary>
+ Gets the value of the current tuple object's first component.
+ </summary>
+ <value>
+ The value of the current tuple object's first component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`5.Item2">
+ <summary>
+ Gets the value of the current tuple object's second component.
+ </summary>
+ <value>
+ The value of the current tuple object's second component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`5.Item3">
+ <summary>
+ Gets the value of the current tuple object's third component.
+ </summary>
+ <value>
+ The value of the current tuple object's third component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`5.Item4">
+ <summary>
+ Gets the value of the current tuple object's fourth component.
+ </summary>
+ <value>
+ The value of the current tuple object's fourth component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`5.Item5">
+ <summary>
+ Gets the value of the current tuple object's fifth component.
+ </summary>
+ <value>
+ The value of the current tuple object's fifth component.
+ </value>
+ </member>
+ <member name="T:System.Tuple`6">
+ <summary>
+ Represents an 6-tuple, or sextuple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ <typeparam name="T5">The type of the fifth component of the tuple.</typeparam>
+ <typeparam name="T6">The type of the sixth component of the tuple.</typeparam>
+ </member>
+ <member name="M:System.Tuple`6.#ctor(`0,`1,`2,`3,`4,`5)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Tuple`6"/> class.
+ </summary>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ <param name="item5">The value of the fifth component of the tuple.</param>
+ <param name="item6">The value of the sixth component of the tuple.</param>
+ </member>
+ <member name="M:System.Tuple`6.Equals(System.Object)">
+ <summary>
+ Returns a value that indicates whether the current tuple object is equal to a specified object.
+ </summary>
+ <param name="obj">The object to compare with this instance.</param>
+ <returns>true if the current instance is equal to the specified object; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Tuple`6.GetHashCode">
+ <summary>
+ Calculates the hash code for the current tuple object.
+ </summary>
+ <returns>A 32-bit signed integer hash code.</returns>
+ </member>
+ <member name="M:System.Tuple`6.ToString">
+ <summary>
+ Returns a string that represents the value of this tuple instance.
+ </summary>
+ <returns>The string representation of this tuple object.</returns>
+ </member>
+ <member name="P:System.Tuple`6.Item1">
+ <summary>
+ Gets the value of the current tuple object's first component.
+ </summary>
+ <value>
+ The value of the current tuple object's first component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`6.Item2">
+ <summary>
+ Gets the value of the current tuple object's second component.
+ </summary>
+ <value>
+ The value of the current tuple object's second component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`6.Item3">
+ <summary>
+ Gets the value of the current tuple object's third component.
+ </summary>
+ <value>
+ The value of the current tuple object's third component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`6.Item4">
+ <summary>
+ Gets the value of the current tuple object's fourth component.
+ </summary>
+ <value>
+ The value of the current tuple object's fourth component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`6.Item5">
+ <summary>
+ Gets the value of the current tuple object's fifth component.
+ </summary>
+ <value>
+ The value of the current tuple object's fifth component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`6.Item6">
+ <summary>
+ Gets the value of the current tuple object's sixth component.
+ </summary>
+ <value>
+ The value of the current tuple object's sixth component.
+ </value>
+ </member>
+ <member name="T:System.Tuple`7">
+ <summary>
+ Represents an 7-tuple, or septuple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ <typeparam name="T5">The type of the fifth component of the tuple.</typeparam>
+ <typeparam name="T6">The type of the sixth component of the tuple.</typeparam>
+ <typeparam name="T7">The type of the seventh component of the tuple.</typeparam>
+ </member>
+ <member name="M:System.Tuple`7.#ctor(`0,`1,`2,`3,`4,`5,`6)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Tuple`7"/> class.
+ </summary>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ <param name="item5">The value of the fifth component of the tuple.</param>
+ <param name="item6">The value of the sixth component of the tuple.</param>
+ <param name="item7">The value of the seventh component of the tuple.</param>
+ </member>
+ <member name="M:System.Tuple`7.Equals(System.Object)">
+ <summary>
+ Returns a value that indicates whether the current tuple object is equal to a specified object.
+ </summary>
+ <param name="obj">The object to compare with this instance.</param>
+ <returns>true if the current instance is equal to the specified object; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Tuple`7.GetHashCode">
+ <summary>
+ Calculates the hash code for the current tuple object.
+ </summary>
+ <returns>A 32-bit signed integer hash code.</returns>
+ </member>
+ <member name="M:System.Tuple`7.ToString">
+ <summary>
+ Returns a string that represents the value of this tuple instance.
+ </summary>
+ <returns>The string representation of this tuple object.</returns>
+ </member>
+ <member name="P:System.Tuple`7.Item1">
+ <summary>
+ Gets the value of the current tuple object's first component.
+ </summary>
+ <value>
+ The value of the current tuple object's first component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`7.Item2">
+ <summary>
+ Gets the value of the current tuple object's second component.
+ </summary>
+ <value>
+ The value of the current tuple object's second component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`7.Item3">
+ <summary>
+ Gets the value of the current tuple object's third component.
+ </summary>
+ <value>
+ The value of the current tuple object's third component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`7.Item4">
+ <summary>
+ Gets the value of the current tuple object's fourth component.
+ </summary>
+ <value>
+ The value of the current tuple object's fourth component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`7.Item5">
+ <summary>
+ Gets the value of the current tuple object's fifth component.
+ </summary>
+ <value>
+ The value of the current tuple object's fifth component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`7.Item6">
+ <summary>
+ Gets the value of the current tuple object's sixth component.
+ </summary>
+ <value>
+ The value of the current tuple object's sixth component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`7.Item7">
+ <summary>
+ Gets the value of the current tuple object's seventh component.
+ </summary>
+ <value>
+ The value of the current tuple object's seventh component.
+ </value>
+ </member>
+ <member name="T:System.Tuple`8">
+ <summary>
+ Represents an n-tuple, where n is 8 or greater.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ <typeparam name="T5">The type of the fifth component of the tuple.</typeparam>
+ <typeparam name="T6">The type of the sixth component of the tuple.</typeparam>
+ <typeparam name="T7">The type of the seventh component of the tuple.</typeparam>
+ <typeparam name="TRest">Any generic Tuple object that defines the types of the tuple's remaining components.</typeparam>
+ </member>
+ <member name="M:System.Tuple`8.#ctor(`0,`1,`2,`3,`4,`5,`6,`7)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Tuple`8"/> class.
+ </summary>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ <param name="item5">The value of the fifth component of the tuple.</param>
+ <param name="item6">The value of the sixth component of the tuple.</param>
+ <param name="item7">The value of the seventh component of the tuple.</param>
+ <param name="rest">Any generic Tuple object that contains the values of the tuple's remaining components.</param>
+ <exception cref="T:System.ArgumentException">
+ rest is not a generic Tuple object.
+ </exception>
+ </member>
+ <member name="M:System.Tuple`8.Equals(System.Object)">
+ <summary>
+ Returns a value that indicates whether the current tuple object is equal to a specified object.
+ </summary>
+ <param name="obj">The object to compare with this instance.</param>
+ <returns>true if the current instance is equal to the specified object; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Tuple`8.GetHashCode">
+ <summary>
+ Calculates the hash code for the current tuple object.
+ </summary>
+ <returns>A 32-bit signed integer hash code.</returns>
+ </member>
+ <member name="M:System.Tuple`8.ToString">
+ <summary>
+ Returns a string that represents the value of this tuple instance.
+ </summary>
+ <returns>The string representation of this tuple object.</returns>
+ </member>
+ <member name="P:System.Tuple`8.Item1">
+ <summary>
+ Gets the value of the current tuple object's first component.
+ </summary>
+ <value>
+ The value of the current tuple object's first component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`8.Item2">
+ <summary>
+ Gets the value of the current tuple object's second component.
+ </summary>
+ <value>
+ The value of the current tuple object's second component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`8.Item3">
+ <summary>
+ Gets the value of the current tuple object's third component.
+ </summary>
+ <value>
+ The value of the current tuple object's third component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`8.Item4">
+ <summary>
+ Gets the value of the current tuple object's fourth component.
+ </summary>
+ <value>
+ The value of the current tuple object's fourth component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`8.Item5">
+ <summary>
+ Gets the value of the current tuple object's fifth component.
+ </summary>
+ <value>
+ The value of the current tuple object's fifth component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`8.Item6">
+ <summary>
+ Gets the value of the current tuple object's sixth component.
+ </summary>
+ <value>
+ The value of the current tuple object's sixth component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`8.Item7">
+ <summary>
+ Gets the value of the current tuple object's seventh component.
+ </summary>
+ <value>
+ The value of the current tuple object's seventh component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`8.Rest">
+ <summary>
+ Gets the current tuple object's remaining components.
+ </summary>
+ <value>
+ The value of the current tuple object's remaining components.
+ </value>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/System.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/System.Threading.Tasks.dll
new file mode 100644
index 0000000..74f5e2c
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/System.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/System.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/System.Threading.Tasks.xml
new file mode 100644
index 0000000..6c77012
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/System.Threading.Tasks.xml
@@ -0,0 +1,8969 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:System.AggregateException">
+ <summary>Represents one or more errors that occur during application execution.</summary>
+ <remarks>
+ <see cref="T:System.AggregateException"/> is used to consolidate multiple failures into a single, throwable
+ exception object.
+ </remarks>
+ </member>
+ <member name="M:System.AggregateException.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class.
+ </summary>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
+ a specified error message.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
+ message and a reference to the inner exception that is the cause of this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerException"/> argument
+ is null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
+ references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.Exception[])">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
+ references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
+ message and references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Exception[])">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
+ message and references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Collections.Generic.IList{System.Exception})">
+ <summary>
+ Allocates a new aggregate exception with the specified message and list of inner exceptions.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.GetBaseException">
+ <summary>
+ Returns the <see cref="T:System.AggregateException"/> that is the root cause of this exception.
+ </summary>
+ </member>
+ <member name="M:System.AggregateException.Handle(System.Func{System.Exception,System.Boolean})">
+ <summary>
+ Invokes a handler on each <see cref="T:System.Exception"/> contained by this <see cref="T:System.AggregateException"/>.
+ </summary>
+ <param name="predicate">The predicate to execute for each exception. The predicate accepts as an
+ argument the <see cref="T:System.Exception"/> to be processed and returns a Boolean to indicate
+ whether the exception was handled.</param>
+ <remarks>
+ Each invocation of the <paramref name="predicate"/> returns true or false to indicate whether the
+ <see cref="T:System.Exception"/> was handled. After all invocations, if any exceptions went
+ unhandled, all unhandled exceptions will be put into a new <see cref="T:System.AggregateException"/>
+ which will be thrown. Otherwise, the <see cref="M:System.AggregateException.Handle(System.Func{System.Exception,System.Boolean})"/> method simply returns. If any
+ invocations of the <paramref name="predicate"/> throws an exception, it will halt the processing
+ of any more exceptions and immediately propagate the thrown exception as-is.
+ </remarks>
+ <exception cref="T:System.AggregateException">An exception contained by this <see cref="T:System.AggregateException"/> was not handled.</exception>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="predicate"/> argument is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.Flatten">
+ <summary>
+ Flattens an <see cref="T:System.AggregateException"/> instances into a single, new instance.
+ </summary>
+ <returns>A new, flattened <see cref="T:System.AggregateException"/>.</returns>
+ <remarks>
+ If any inner exceptions are themselves instances of
+ <see cref="T:System.AggregateException"/>, this method will recursively flatten all of them. The
+ inner exceptions returned in the new <see cref="T:System.AggregateException"/>
+ will be the union of all of the the inner exceptions from exception tree rooted at the provided
+ <see cref="T:System.AggregateException"/> instance.
+ </remarks>
+ </member>
+ <member name="M:System.AggregateException.ToString">
+ <summary>
+ Creates and returns a string representation of the current <see cref="T:System.AggregateException"/>.
+ </summary>
+ <returns>A string representation of the current exception.</returns>
+ </member>
+ <member name="P:System.AggregateException.InnerExceptions">
+ <summary>
+ Gets a read-only collection of the <see cref="T:System.Exception"/> instances that caused the
+ current exception.
+ </summary>
+ </member>
+ <member name="T:System.Strings">
+ <summary>
+ A strongly-typed resource class, for looking up localized strings, etc.
+ </summary>
+ </member>
+ <member name="P:System.Strings.ResourceManager">
+ <summary>
+ Returns the cached ResourceManager instance used by this class.
+ </summary>
+ </member>
+ <member name="P:System.Strings.Culture">
+ <summary>
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+ </summary>
+ </member>
+ <member name="P:System.Strings.AggregateException_ctor_DefaultMessage">
+ <summary>
+ Looks up a localized string similar to One or more errors occurred..
+ </summary>
+ </member>
+ <member name="P:System.Strings.AggregateException_ctor_InnerExceptionNull">
+ <summary>
+ Looks up a localized string similar to An element of innerExceptions was null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.AggregateException_ToString">
+ <summary>
+ Looks up a localized string similar to {0}{1}---&gt; (Inner Exception #{2}) {3}{4}{5}.
+ </summary>
+ </member>
+ <member name="P:System.Strings.CancellationToken_CreateLinkedToken_TokensIsEmpty">
+ <summary>
+ Looks up a localized string similar to No tokens were supplied..
+ </summary>
+ </member>
+ <member name="P:System.Strings.CancellationToken_SourceDisposed">
+ <summary>
+ Looks up a localized string similar to The CancellationTokenSource associated with this CancellationToken has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.CancellationTokenSource_Disposed">
+ <summary>
+ Looks up a localized string similar to The CancellationTokenSource has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentCollection_SyncRoot_NotSupported">
+ <summary>
+ Looks up a localized string similar to The SyncRoot property may not be used for the synchronization of concurrent collections..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ArrayIncorrectType">
+ <summary>
+ Looks up a localized string similar to The array is multidimensional, or the type parameter for the set cannot be cast automatically to the type of the destination array..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ArrayNotLargeEnough">
+ <summary>
+ Looks up a localized string similar to The index is equal to or greater than the length of the array, or the number of elements in the dictionary is greater than the available space from index to the end of the destination array..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_CapacityMustNotBeNegative">
+ <summary>
+ Looks up a localized string similar to The capacity argument must be greater than or equal to zero..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ConcurrencyLevelMustBePositive">
+ <summary>
+ Looks up a localized string similar to The concurrencyLevel argument must be positive..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_IndexIsNegative">
+ <summary>
+ Looks up a localized string similar to The index argument is less than zero..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ItemKeyIsNull">
+ <summary>
+ Looks up a localized string similar to TKey is a reference type and item.Key is null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_KeyAlreadyExisted">
+ <summary>
+ Looks up a localized string similar to The key already existed in the dictionary..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_SourceContainsDuplicateKeys">
+ <summary>
+ Looks up a localized string similar to The source argument contains duplicate keys..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_TypeOfKeyIncorrect">
+ <summary>
+ Looks up a localized string similar to The key was of an incorrect type for this dictionary..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_TypeOfValueIncorrect">
+ <summary>
+ Looks up a localized string similar to The value was of an incorrect type for this dictionary..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Lazy_CreateValue_NoParameterlessCtorForT">
+ <summary>
+ Looks up a localized string similar to The lazily-initialized type does not have a public, parameterless constructor..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Lazy_StaticInit_InvalidOperation">
+ <summary>
+ Looks up a localized string similar to ValueFactory returned null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ManualResetEventSlim_ctor_SpinCountOutOfRange">
+ <summary>
+ Looks up a localized string similar to The spinCount argument must be in the range 0 to {0}, inclusive..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ManualResetEventSlim_ctor_TooManyWaiters">
+ <summary>
+ Looks up a localized string similar to There are too many threads currently waiting on the event. A maximum of {0} waiting threads are supported..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ManualResetEventSlim_Disposed">
+ <summary>
+ Looks up a localized string similar to The event has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.OperationCanceled">
+ <summary>
+ Looks up a localized string similar to The operation was canceled..
+ </summary>
+ </member>
+ <member name="P:System.Strings.SpinWait_SpinUntil_ArgumentNull">
+ <summary>
+ Looks up a localized string similar to The condition argument is null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.SpinWait_SpinUntil_TimeoutWrong">
+ <summary>
+ Looks up a localized string similar to The timeout must represent a value between -1 and Int32.MaxValue, inclusive..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ContinueWith_ESandLR">
+ <summary>
+ Looks up a localized string similar to The specified TaskContinuationOptions combined LongRunning and ExecuteSynchronously. Synchronous continuations should not be long running..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ContinueWith_NotOnAnything">
+ <summary>
+ Looks up a localized string similar to The specified TaskContinuationOptions excluded all continuation kinds..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ctor_LRandSR">
+ <summary>
+ Looks up a localized string similar to (Internal)An attempt was made to create a LongRunning SelfReplicating task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Delay_InvalidDelay">
+ <summary>
+ Looks up a localized string similar to The value needs to translate in milliseconds to -1 (signifying an infinite timeout), 0 or a positive integer less than or equal to Int32.MaxValue..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Delay_InvalidMillisecondsDelay">
+ <summary>
+ Looks up a localized string similar to The value needs to be either -1 (signifying an infinite timeout), 0 or a positive integer..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Dispose_NotCompleted">
+ <summary>
+ Looks up a localized string similar to A task may only be disposed if it is in a completion state (RanToCompletion, Faulted or Canceled)..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_LongRunning">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.LongRunning in calls to FromAsync..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_PreferFairness">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.PreferFairness in calls to FromAsync..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_SelfReplicating">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.SelfReplicating in calls to FromAsync..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_TaskManagerShutDown">
+ <summary>
+ Looks up a localized string similar to FromAsync was called with a TaskManager that had already shut down..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_MultiTaskContinuation_EmptyTaskList">
+ <summary>
+ Looks up a localized string similar to The tasks argument contains no tasks..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_MultiTaskContinuation_FireOptions">
+ <summary>
+ Looks up a localized string similar to It is invalid to exclude specific continuation kinds for continuations off of multiple tasks..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_MultiTaskContinuation_NullTask">
+ <summary>
+ Looks up a localized string similar to The tasks argument included a null value..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_AlreadyStarted">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a task that was already started..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_Continuation">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a continuation task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_Promise">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a task not bound to a delegate, such as the task returned from an asynchronous method..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_TaskCompleted">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a task that has already completed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_AlreadyStarted">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a task that was already started..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_ContinuationTask">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a continuation task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_NullAction">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a task with null action..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_Promise">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a promise-style task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_TaskCompleted">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a task that has completed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ThrowIfDisposed">
+ <summary>
+ Looks up a localized string similar to The task has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_WaitMulti_NullTask">
+ <summary>
+ Looks up a localized string similar to The tasks array included at least one null element..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskAwaiter_TaskNotCompleted">
+ <summary>
+ Looks up a localized string similar to The awaited task has not yet completed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskCanceledException_ctor_DefaultMessage">
+ <summary>
+ Looks up a localized string similar to A task was canceled..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskCompletionSourceT_TrySetException_NoExceptions">
+ <summary>
+ Looks up a localized string similar to The exceptions collection was empty..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskCompletionSourceT_TrySetException_NullException">
+ <summary>
+ Looks up a localized string similar to The exceptions collection included at least one null element..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskExceptionHolder_UnhandledException">
+ <summary>
+ Looks up a localized string similar to A Task&apos;s exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskExceptionHolder_UnknownExceptionType">
+ <summary>
+ Looks up a localized string similar to (Internal)Expected an Exception or an IEnumerable&lt;Exception&gt;.
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_ExecuteTask_TaskAlreadyExecuted">
+ <summary>
+ Looks up a localized string similar to ExecuteTask may not be called for a task which was already executed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_ExecuteTask_WrongTaskScheduler">
+ <summary>
+ Looks up a localized string similar to ExecuteTask may not be called for a task which was previously queued to a different TaskScheduler..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_FromCurrentSynchronizationContext_NoCurrent">
+ <summary>
+ Looks up a localized string similar to The current SynchronizationContext may not be used as a TaskScheduler..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_InconsistentStateAfterTryExecuteTaskInline">
+ <summary>
+ Looks up a localized string similar to The TryExecuteTaskInline call to the underlying scheduler succeeded, but the task body was not invoked..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskSchedulerException_ctor_DefaultMessage">
+ <summary>
+ Looks up a localized string similar to An exception was thrown by a TaskScheduler..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_ctor_SelfReplicating">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.SelfReplicating for a Task&lt;TResult&gt;..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_DebuggerNoResult">
+ <summary>
+ Looks up a localized string similar to {Not yet computed}.
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_SetException_HasAnInitializer">
+ <summary>
+ Looks up a localized string similar to A task&apos;s Exception may only be set directly if the task was created without a function..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_TransitionToFinal_AlreadyCompleted">
+ <summary>
+ Looks up a localized string similar to An attempt was made to transition a task to a final state when it had already completed..
+ </summary>
+ </member>
+ <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2">
+ <summary>
+ Represents a thread-safe collection of keys and values.
+ </summary>
+ <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
+ <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
+ <remarks>
+ All public and protected members of <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> are thread-safe and may be used
+ concurrently from multiple threads.
+ </remarks>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the default concurrency level, has the default initial capacity, and
+ uses the default comparer for the key type.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Int32)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the specified concurrency level and capacity, and uses the default
+ comparer for the key type.
+ </summary>
+ <param name="concurrencyLevel">The estimated number of threads that will update the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
+ <param name="capacity">The initial number of elements that the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ can contain.</param>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="concurrencyLevel"/> is
+ less than 1.</exception>
+ <exception cref="T:ArgumentOutOfRangeException"> <paramref name="capacity"/> is less than
+ 0.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/>, has the default concurrency
+ level, has the default initial capacity, and uses the default comparer for the key type.
+ </summary>
+ <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to
+ the new
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentException"><paramref name="collection"/> contains one or more
+ duplicate keys.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the specified concurrency level and capacity, and uses the specified
+ <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
+ implementation to use when comparing keys.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable"/>, has the default concurrency level, has the default
+ initial capacity, and uses the specified
+ <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to
+ the new
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
+ implementation to use when comparing keys.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is a null reference
+ (Nothing in Visual Basic). -or-
+ <paramref name="comparer"/> is a null reference (Nothing in Visual Basic).
+ </exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable"/>,
+ has the specified concurrency level, has the specified initial capacity, and uses the specified
+ <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="concurrencyLevel">The estimated number of threads that will update the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
+ <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to the new
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/> implementation to use
+ when comparing keys.</param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="collection"/> is a null reference (Nothing in Visual Basic).
+ -or-
+ <paramref name="comparer"/> is a null reference (Nothing in Visual Basic).
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="concurrencyLevel"/> is less than 1.
+ </exception>
+ <exception cref="T:System.ArgumentException"><paramref name="collection"/> contains one or more duplicate keys.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the specified concurrency level, has the specified initial capacity, and
+ uses the specified <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="concurrencyLevel">The estimated number of threads that will update the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
+ <param name="capacity">The initial number of elements that the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ can contain.</param>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
+ implementation to use when comparing keys.</param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="concurrencyLevel"/> is less than 1. -or-
+ <paramref name="capacity"/> is less than 0.
+ </exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryAdd(`0,`1)">
+ <summary>
+ Attempts to add the specified key and value to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <param name="key">The key of the element to add.</param>
+ <param name="value">The value of the element to add. The value can be a null reference (Nothing
+ in Visual Basic) for reference types.</param>
+ <returns>true if the key/value pair was added to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ successfully; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ contains too many elements.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ContainsKey(`0)">
+ <summary>
+ Determines whether the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> contains the specified
+ key.
+ </summary>
+ <param name="key">The key to locate in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <returns>true if the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> contains an element with
+ the specified key; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryRemove(`0,`1@)">
+ <summary>
+ Attempts to remove and return the the value with the specified key from the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <param name="key">The key of the element to remove and return.</param>
+ <param name="value">When this method returns, <paramref name="value"/> contains the object removed from the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> or the default value of <typeparamref name="TValue"/>
+ if the operation failed.</param>
+ <returns>true if an object was removed successfully; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryRemoveInternal(`0,`1@,System.Boolean,`1)">
+ <summary>
+ Removes the specified key from the dictionary if it exists and returns its associated value.
+ If matchValue flag is set, the key will be removed only if is associated with a particular
+ value.
+ </summary>
+ <param name="key">The key to search for and remove if it exists.</param>
+ <param name="value">The variable into which the removed value, if found, is stored.</param>
+ <param name="matchValue">Whether removal of the key is conditional on its value.</param>
+ <param name="oldValue">The conditional value to compare against if <paramref name="matchValue"/> is true</param>
+ <returns></returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryGetValue(`0,`1@)">
+ <summary>
+ Attempts to get the value associated with the specified key from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <param name="key">The key of the value to get.</param>
+ <param name="value">When this method returns, <paramref name="value"/> contains the object from
+ the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> with the spedified key or the default value of
+ <typeparamref name="TValue"/>, if the operation failed.</param>
+ <returns>true if the key was found in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>;
+ otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryUpdate(`0,`1,`1)">
+ <summary>
+ Compares the existing value for the specified key with a specified value, and if they’re equal,
+ updates the key with a third value.
+ </summary>
+ <param name="key">The key whose value is compared with <paramref name="comparisonValue"/> and
+ possibly replaced.</param>
+ <param name="newValue">The value that replaces the value of the element with <paramref
+ name="key"/> if the comparison results in equality.</param>
+ <param name="comparisonValue">The value that is compared to the value of the element with
+ <paramref name="key"/>.</param>
+ <returns>true if the value with <paramref name="key"/> was equal to <paramref
+ name="comparisonValue"/> and replaced with <paramref name="newValue"/>; otherwise,
+ false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null
+ reference.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.Clear">
+ <summary>
+ Removes all keys and values from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
+ <summary>
+ Copies the elements of the <see cref="T:System.Collections.Generic.ICollection"/> to an array of
+ type <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>, starting at the
+ specified array index.
+ </summary>
+ <param name="array">The one-dimensional array of type <see
+ cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ that is the destination of the <see
+ cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/> elements copied from the <see
+ cref="T:System.Collections.ICollection"/>. The array must have zero-based indexing.</param>
+ <param name="index">The zero-based index in <paramref name="array"/> at which copying
+ begins.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="index"/> is less than
+ 0.</exception>
+ <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than
+ the length of the <paramref name="array"/>. -or- The number of elements in the source <see
+ cref="T:System.Collections.ICollection"/>
+ is greater than the available space from <paramref name="index"/> to the end of the destination
+ <paramref name="array"/>.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ToArray">
+ <summary>
+ Copies the key and value pairs stored in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> to a
+ new array.
+ </summary>
+ <returns>A new array containing a snapshot of key and value pairs copied from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToPairs(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
+ <summary>
+ Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
+
+ Important: the caller must hold all locks in m_locks before calling CopyToPairs.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToEntries(System.Collections.DictionaryEntry[],System.Int32)">
+ <summary>
+ Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
+
+ Important: the caller must hold all locks in m_locks before calling CopyToEntries.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToObjects(System.Object[],System.Int32)">
+ <summary>
+ Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
+
+ Important: the caller must hold all locks in m_locks before calling CopyToObjects.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator">
+ <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</summary>
+ <returns>An enumerator for the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
+ <remarks>
+ The enumerator returned from the dictionary is safe to use concurrently with
+ reads and writes to the dictionary, however it does not represent a moment-in-time snapshot
+ of the dictionary. The contents exposed through the enumerator may contain modifications
+ made to the dictionary after <see cref="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator"/> was called.
+ </remarks>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryAddInternal(`0,`1,System.Boolean,System.Boolean,`1@)">
+ <summary>
+ Shared internal implementation for inserts and updates.
+ If key exists, we always return false; and if updateIfExists == true we force update with value;
+ If key doesn't exist, we always add value and return true;
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(`0,System.Func{`0,`1})">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ if the key does not already exist.
+ </summary>
+ <param name="key">The key of the element to add.</param>
+ <param name="valueFactory">The function used to generate a value for the key</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="valueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The value for the key. This will be either the existing value for the key if the
+ key is already in the dictionary, or the new value for the key as returned by valueFactory
+ if the key was not in the dictionary.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(`0,`1)">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ if the key does not already exist.
+ </summary>
+ <param name="key">The key of the element to add.</param>
+ <param name="value">the value to be added, if the key does not already exist</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The value for the key. This will be either the existing value for the key if the
+ key is already in the dictionary, or the new value if the key was not in the dictionary.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(`0,System.Func{`0,`1},System.Func{`0,`1,`1})">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key does not already
+ exist, or updates a key/value pair in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key
+ already exists.
+ </summary>
+ <param name="key">The key to be added or whose value should be updated</param>
+ <param name="addValueFactory">The function used to generate a value for an absent key</param>
+ <param name="updateValueFactory">The function used to generate a new value for an existing key
+ based on the key's existing value</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="addValueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="updateValueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The new value for the key. This will be either be the result of addValueFactory (if the key was
+ absent) or the result of updateValueFactory (if the key was present).</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(`0,`1,System.Func{`0,`1,`1})">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key does not already
+ exist, or updates a key/value pair in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key
+ already exists.
+ </summary>
+ <param name="key">The key to be added or whose value should be updated</param>
+ <param name="addValue">The value to be added for an absent key</param>
+ <param name="updateValueFactory">The function used to generate a new value for an existing key based on
+ the key's existing value</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="updateValueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The new value for the key. This will be either be the result of addValueFactory (if the key was
+ absent) or the result of updateValueFactory (if the key was present).</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Add(`0,`1)">
+ <summary>
+ Adds the specified key and value to the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </summary>
+ <param name="key">The object to use as the key of the element to add.</param>
+ <param name="value">The object to use as the value of the element to add.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <exception cref="T:System.ArgumentException">
+ An element with the same key already exists in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Remove(`0)">
+ <summary>
+ Removes the element with the specified key from the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </summary>
+ <param name="key">The key of the element to remove.</param>
+ <returns>true if the element is successfully remove; otherwise false. This method also returns
+ false if
+ <paramref name="key"/> was not found in the original <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Add(System.Collections.Generic.KeyValuePair{`0,`1})">
+ <summary>
+ Adds the specified value to the <see cref="T:System.Collections.Generic.ICollection{TValue}"/>
+ with the specified key.
+ </summary>
+ <param name="keyValuePair">The <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ structure representing the key and value to add to the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="keyValuePair"/> of <paramref
+ name="keyValuePair"/> is null.</exception>
+ <exception cref="T:System.OverflowException">The <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>
+ contains too many elements.</exception>
+ <exception cref="T:System.ArgumentException">An element with the same key already exists in the
+ <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/></exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
+ <summary>
+ Determines whether the <see cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/>
+ contains a specific key and value.
+ </summary>
+ <param name="keyValuePair">The <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ structure to locate in the <see
+ cref="T:System.Collections.Generic.ICollection{TValue}"/>.</param>
+ <returns>true if the <paramref name="keyValuePair"/> is found in the <see
+ cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/>; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
+ <summary>
+ Removes a key and value from the dictionary.
+ </summary>
+ <param name="keyValuePair">The <see
+ cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ structure representing the key and value to remove from the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</param>
+ <returns>true if the key and value represented by <paramref name="keyValuePair"/> is successfully
+ found and removed; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException">The Key property of <paramref
+ name="keyValuePair"/> is a null reference (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IEnumerable#GetEnumerator">
+ <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</summary>
+ <returns>An enumerator for the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
+ <remarks>
+ The enumerator returned from the dictionary is safe to use concurrently with
+ reads and writes to the dictionary, however it does not represent a moment-in-time snapshot
+ of the dictionary. The contents exposed through the enumerator may contain modifications
+ made to the dictionary after <see cref="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator"/> was called.
+ </remarks>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Add(System.Object,System.Object)">
+ <summary>
+ Adds the specified key and value to the dictionary.
+ </summary>
+ <param name="key">The object to use as the key.</param>
+ <param name="value">The object to use as the value.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <exception cref="T:System.ArgumentException">
+ <paramref name="key"/> is of a type that is not assignable to the key type <typeparamref
+ name="TKey"/> of the <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>. -or-
+ <paramref name="value"/> is of a type that is not assignable to <typeparamref name="TValue"/>,
+ the type of values in the <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ -or- A value with the same key already exists in the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ </exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Contains(System.Object)">
+ <summary>
+ Gets whether the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> contains an
+ element with the specified key.
+ </summary>
+ <param name="key">The key to locate in the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</param>
+ <returns>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> contains
+ an element with the specified key; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"> <paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#GetEnumerator">
+ <summary>Provides an <see cref="T:System.Collections.Generics.IDictionaryEnumerator"/> for the
+ <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</summary>
+ <returns>An <see cref="T:System.Collections.Generics.IDictionaryEnumerator"/> for the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Remove(System.Object)">
+ <summary>
+ Removes the element with the specified key from the <see
+ cref="T:System.Collections.IDictionary"/>.
+ </summary>
+ <param name="key">The key of the element to remove.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
+ <summary>
+ Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an array, starting
+ at the specified array index.
+ </summary>
+ <param name="array">The one-dimensional array that is the destination of the elements copied from
+ the <see cref="T:System.Collections.ICollection"/>. The array must have zero-based
+ indexing.</param>
+ <param name="index">The zero-based index in <paramref name="array"/> at which copying
+ begins.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="index"/> is less than
+ 0.</exception>
+ <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than
+ the length of the <paramref name="array"/>. -or- The number of elements in the source <see
+ cref="T:System.Collections.ICollection"/>
+ is greater than the available space from <paramref name="index"/> to the end of the destination
+ <paramref name="array"/>.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GrowTable(System.Collections.Concurrent.ConcurrentDictionary{`0,`1}.Node[])">
+ <summary>
+ Replaces the internal table with a larger one. To prevent multiple threads from resizing the
+ table as a result of races, the table of buckets that was deemed too small is passed in as
+ an argument to GrowTable(). GrowTable() obtains a lock, and then checks whether the bucket
+ table has been replaced in the meantime or not.
+ </summary>
+ <param name="buckets">Reference to the bucket table that was deemed too small.</param>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetBucketAndLockNo(System.Int32,System.Int32@,System.Int32@,System.Int32)">
+ <summary>
+ Computes the bucket and lock number for a particular key.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AcquireAllLocks(System.Int32@)">
+ <summary>
+ Acquires all locks for this hash table, and increments locksAcquired by the number
+ of locks that were successfully acquired. The locks are acquired in an increasing
+ order.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AcquireLocks(System.Int32,System.Int32,System.Int32@)">
+ <summary>
+ Acquires a contiguous range of locks for this hash table, and increments locksAcquired
+ by the number of locks that were successfully acquired. The locks are acquired in an
+ increasing order.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ReleaseLocks(System.Int32,System.Int32)">
+ <summary>
+ Releases a contiguous range of locks.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetKeys">
+ <summary>
+ Gets a collection containing the keys in the dictionary.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetValues">
+ <summary>
+ Gets a collection containing the values in the dictionary.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.Assert(System.Boolean)">
+ <summary>
+ A helper method for asserts.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.OnSerializing(System.Runtime.Serialization.StreamingContext)">
+ <summary>
+ Get the data array to be serialized
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.OnDeserialized(System.Runtime.Serialization.StreamingContext)">
+ <summary>
+ Construct the dictionary from a previously seiralized one
+ </summary>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Item(`0)">
+ <summary>
+ Gets or sets the value associated with the specified key.
+ </summary>
+ <param name="key">The key of the value to get or set.</param>
+ <value>The value associated with the specified key. If the specified key is not found, a get
+ operation throws a
+ <see cref="T:Sytem.Collections.Generic.KeyNotFoundException"/>, and a set operation creates a new
+ element with the specified key.</value>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and
+ <paramref name="key"/>
+ does not exist in the collection.</exception>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Count">
+ <summary>
+ Gets the number of key/value pairs contained in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <value>The number of key/value paris contained in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</value>
+ <remarks>Count has snapshot semantics and represents the number of items in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ at the moment when Count was accessed.</remarks>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.IsEmpty">
+ <summary>
+ Gets a value that indicates whether the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> is empty.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> is empty; otherwise,
+ false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Keys">
+ <summary>
+ Gets a collection containing the keys in the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.Generic.ICollection{TKey}"/> containing the keys in the
+ <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Values">
+ <summary>
+ Gets a collection containing the values in the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.Generic.ICollection{TValue}"/> containing the values in
+ the
+ <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#IsReadOnly">
+ <summary>
+ Gets a value indicating whether the dictionary is read-only.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/> is
+ read-only; otherwise, false. For <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>, this property always returns
+ false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#IsFixedSize">
+ <summary>
+ Gets a value indicating whether the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> has a fixed size.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> has a
+ fixed size; otherwise, false. For <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>, this property always
+ returns false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#IsReadOnly">
+ <summary>
+ Gets a value indicating whether the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> is read-only.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> is
+ read-only; otherwise, false. For <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>, this property always
+ returns false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Keys">
+ <summary>
+ Gets an <see cref="T:System.Collections.ICollection"/> containing the keys of the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.ICollection"/> containing the keys of the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Values">
+ <summary>
+ Gets an <see cref="T:System.Collections.ICollection"/> containing the values in the <see
+ cref="T:System.Collections.IDictionary"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.ICollection"/> containing the values in the <see
+ cref="T:System.Collections.IDictionary"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Item(System.Object)">
+ <summary>
+ Gets or sets the value associated with the specified key.
+ </summary>
+ <param name="key">The key of the value to get or set.</param>
+ <value>The value associated with the specified key, or a null reference (Nothing in Visual Basic)
+ if <paramref name="key"/> is not in the dictionary or <paramref name="key"/> is of a type that is
+ not assignable to the key type <typeparamref name="TKey"/> of the <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>.</value>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentException">
+ A value is being assigned, and <paramref name="key"/> is of a type that is not assignable to the
+ key type <typeparamref name="TKey"/> of the <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>. -or- A value is being
+ assigned, and <paramref name="key"/> is of a type that is not assignable to the value type
+ <typeparamref name="TValue"/> of the <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>
+ </exception>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#IsSynchronized">
+ <summary>
+ Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is
+ synchronized with the SyncRoot.
+ </summary>
+ <value>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized
+ (thread safe); otherwise, false. For <see
+ cref="T:System.Collections.Concurrent.ConcurrentDictionary{TKey,TValue}"/>, this property always
+ returns false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#SyncRoot">
+ <summary>
+ Gets an object that can be used to synchronize access to the <see
+ cref="T:System.Collections.ICollection"/>. This property is not supported.
+ </summary>
+ <exception cref="T:System.NotSupportedException">The SyncRoot property is not supported.</exception>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.DefaultConcurrencyLevel">
+ <summary>
+ The number of concurrent writes for which to optimize by default.
+ </summary>
+ </member>
+ <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2.Node">
+ <summary>
+ A node in a singly-linked list representing a particular hash table bucket.
+ </summary>
+ </member>
+ <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2.DictionaryEnumerator">
+ <summary>
+ A private class to represent enumeration over the dictionary that implements the
+ IDictionaryEnumerator interface.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncMethodBuilder">
+ <summary>Represents an asynchronous method builder.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.s_cachedCompleted">
+ <summary>A cached VoidTaskResult task used for builders that complete synchronously.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.m_builder">
+ <summary>The generic builder object to which this non-generic instance delegates.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetResult">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task"/> representing the builder's asynchronous operation.</returns>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore">
+ <summary>Holds state related to the builder's IAsyncStateMachine.</summary>
+ <remarks>This is a mutable struct. Be very delicate with it.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.m_stateMachine">
+ <summary>A reference to the heap-allocated state machine object associated with this builder.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.GetCompletionAction``2(``0@,``1@)">
+ <summary>
+ Gets the Action to use with an awaiter's OnCompleted or UnsafeOnCompleted method.
+ On first invocation, the supplied state machine will be boxed.
+ </summary>
+ <typeparam name="TMethodBuilder">Specifies the type of the method builder used.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine used.</typeparam>
+ <param name="builder">The builder.</param>
+ <param name="stateMachine">The state machine.</param>
+ <returns>An Action to provide to the awaiter.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner">
+ <summary>Provides the ability to invoke a state machine's MoveNext method under a supplied ExecutionContext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_context">
+ <summary>The context with which to run MoveNext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_stateMachine">
+ <summary>The state machine whose MoveNext method should be invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.#ctor(System.ExecutionContextLightup)">
+ <summary>Initializes the runner.</summary>
+ <param name="context">The context with which to run MoveNext.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run">
+ <summary>Invokes MoveNext under the provided context.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.s_invokeMoveNext">
+ <summary>Cached delegate used with ExecutionContext.Run.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(System.Object)">
+ <summary>Invokes the MoveNext method on the supplied IAsyncStateMachine.</summary>
+ <param name="stateMachine">The IAsyncStateMachine machine instance.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return void.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_synchronizationContext">
+ <summary>The synchronization context associated with this operation.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_objectIdForDebugger">
+ <summary>An object used by the debugger to uniquely identify this builder. Lazily initialized.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.PreventUnobservedTaskExceptions">
+ <summary>Registers with UnobservedTaskException to suppress exception crashing.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.s_preventUnobservedTaskExceptionsInvoked">
+ <summary>Non-zero if PreventUnobservedTaskExceptions has already been invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#ctor(System.Threading.SynchronizationContext)">
+ <summary>Initializes the <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <param name="synchronizationContext">The synchronizationContext associated with this operation. This may be null.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetResult">
+ <summary>Completes the method builder successfully.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetException(System.Exception)">
+ <summary>Faults the method builder with an exception.</summary>
+ <param name="exception">The exception that is the cause of this fault.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.NotifySynchronizationContextOfCompletion">
+ <summary>Notifies the current synchronization context that the operation completed.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger and only in a single-threaded manner.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task`1"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder{TResult} is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.s_defaultResultTask">
+ <summary>A cached task for default(TResult).</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_task">
+ <summary>The lazily-initialized task.</summary>
+ <remarks>Must be named m_task for debugger step-over to work correctly.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_taskCompletionSource">
+ <summary>The lazily-initialized task completion source.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(`0)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state with the specified result.
+ </summary>
+ <param name="result">The result to use to complete the task.</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(System.Threading.Tasks.TaskCompletionSource{`0})">
+ <summary>
+ Completes the builder by using either the supplied completed task, or by completing
+ the builder's previously accessed task using default(TResult).
+ </summary>
+ <param name="completedTask">A task already completed with the value default(TResult).</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ <remarks>
+ This should only be invoked from within an asynchronous method,
+ and only by the debugger.
+ </remarks>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.GetTaskForResult(`0)">
+ <summary>
+ Gets a task for the specified result. This will either
+ be a cached or new task, never null.
+ </summary>
+ <param name="result">The result for which we need a task.</param>
+ <returns>The completed task containing the result.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.CompletionSource">
+ <summary>Gets the lazily-initialized TaskCompletionSource.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task`1"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task`1"/> representing the builder's asynchronous operation.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1">
+ <summary>Provides a base class used to cache tasks of a specific return type.</summary>
+ <typeparam name="TResult">Specifies the type of results the cached tasks return.</typeparam>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.Singleton">
+ <summary>
+ A singleton cache for this result type.
+ This may be null if there are no cached tasks for this TResult.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCompleted(`0)">
+ <summary>Creates a non-disposable task.</summary>
+ <param name="result">The result for the task.</param>
+ <returns>The cacheable task.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCache">
+ <summary>Creates a cache.</summary>
+ <returns>A task cache for this result type.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.FromResult(`0)">
+ <summary>Gets a cached task if one exists.</summary>
+ <param name="result">The result for which we want a cached task.</param>
+ <returns>A cached task if one exists; otherwise, null.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache">
+ <summary>Provides a cache for Boolean tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_true">
+ <summary>A true task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_false">
+ <summary>A false task.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.FromResult(System.Boolean)">
+ <summary>Gets a cached task for the Boolean result.</summary>
+ <param name="result">true or false</param>
+ <returns>A cached task for the Boolean result.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache">
+ <summary>Provides a cache for zero Int32 tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.INCLUSIVE_INT32_MIN">
+ <summary>The minimum value, inclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.EXCLUSIVE_INT32_MAX">
+ <summary>The maximum value, exclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.Int32Tasks">
+ <summary>The cache of Task{Int32}.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.CreateInt32Tasks">
+ <summary>Creates an array of cached tasks for the values in the range [INCLUSIVE_MIN,EXCLUSIVE_MAX).</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.FromResult(System.Int32)">
+ <summary>Gets a cached task for the zero Int32 result.</summary>
+ <param name="result">The integer value</param>
+ <returns>A cached task for the Int32 result or null if not cached.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncStateMachine">
+ <summary>
+ Represents state machines generated for asynchronous methods.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.MoveNext">
+ <summary>Moves the state machine to its next state.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Configures the state machine with a heap-allocated replica.</summary>
+ <param name="stateMachine">The heap-allocated replica.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.ICriticalNotifyCompletion">
+ <summary>
+ Represents an awaiter used to schedule continuations when an await operation completes.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.INotifyCompletion">
+ <summary>
+ Represents an operation that will schedule continuations when the operation completes.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.INotifyCompletion.OnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.ICriticalNotifyCompletion.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <remarks>Unlike OnCompleted, UnsafeOnCompleted need not propagate ExecutionContext information.</remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.VoidTaskResult">
+ <summary>Used with Task(of void)</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.IThreadPoolWorkItem">
+ <summary>
+ An interface similar to the one added in .NET 4.0.
+ </summary>
+ </member>
+ <member name="T:System.OperationCanceledException">
+ <summary>The exception that is thrown in a thread upon cancellation of an operation that the thread was executing.</summary>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor">
+ <summary>Initializes the exception.</summary>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String,System.Exception)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.Threading.CancellationToken)">
+ <summary>Initializes the exception.</summary>
+ <param name="token">A cancellation token associated with the operation that was canceled.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String,System.Threading.CancellationToken)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="token">A cancellation token associated with the operation that was canceled.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String,System.Exception,System.Threading.CancellationToken)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ <param name="token">A cancellation token associated with the operation that was canceled.</param>
+ </member>
+ <member name="P:System.OperationCanceledException.CancellationToken">
+ <summary>Gets a token associated with the operation that was canceled.</summary>
+ </member>
+ <member name="T:System.Threading.StackCrawlMark">
+ <summary>
+ A dummy replacement for the .NET internal class StackCrawlMark.
+ </summary>
+ </member>
+ <member name="T:System.Threading.CancellationToken">
+ <summary>
+ Propogates notification that operations should be canceled.
+ </summary>
+ <remarks>
+ <para>
+ A <see cref="T:System.Threading.CancellationToken"/> may be created directly in an unchangeable canceled or non-canceled state
+ using the CancellationToken's constructors. However, to have a CancellationToken that can change
+ from a non-canceled to a canceled state,
+ <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> must be used.
+ CancellationTokenSource exposes the associated CancellationToken that may be canceled by the source through its
+ <see cref="P:System.Threading.CancellationTokenSource.Token">Token</see> property.
+ </para>
+ <para>
+ Once canceled, a token may not transition to a non-canceled state, and a token whose
+ <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> is false will never change to one that can be canceled.
+ </para>
+ <para>
+ All members of this struct are thread-safe and may be used concurrently from multiple threads.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationToken.#ctor(System.Threading.CancellationTokenSource)">
+ <summary>
+ Internal constructor only a CancellationTokenSource should create a CancellationToken
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationToken.#ctor(System.Boolean)">
+ <summary>
+ Initializes the <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <param name="canceled">
+ The canceled state for the token.
+ </param>
+ <remarks>
+ Tokens created with this constructor will remain in the canceled state specified
+ by the <paramref name="canceled"/> parameter. If <paramref name="canceled"/> is false,
+ both <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> and <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will be false.
+ If <paramref name="canceled"/> is true,
+ both <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> and <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will be true.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action)">
+ <summary>
+ Registers a delegate that will be called when this <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action,System.Boolean)">
+ <summary>
+ Registers a delegate that will be called when this
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <param name="useSynchronizationContext">A Boolean value that indicates whether to capture
+ the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see> and use it
+ when invoking the <paramref name="callback"/>.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action{System.Object},System.Object)">
+ <summary>
+ Registers a delegate that will be called when this
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <param name="state">The state to pass to the <paramref name="callback"/> when the delegate is invoked. This may be null.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action{System.Object},System.Object,System.Boolean)">
+ <summary>
+ Registers a delegate that will be called when this
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <param name="state">The state to pass to the <paramref name="callback"/> when the delegate is invoked. This may be null.</param>
+ <param name="useSynchronizationContext">A Boolean value that indicates whether to capture
+ the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see> and use it
+ when invoking the <paramref name="callback"/>.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Equals(System.Threading.CancellationToken)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
+ specified token.
+ </summary>
+ <param name="other">The other <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to which to compare this
+ instance.</param>
+ <returns>True if the instances are equal; otherwise, false. Two tokens are equal if they are associated
+ with the same <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> or if they were both constructed
+ from public CancellationToken constructors and their <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> values are equal.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Equals(System.Object)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
+ specified <see cref="T:System.Object"/>.
+ </summary>
+ <param name="other">The other object to which to compare this instance.</param>
+ <returns>True if <paramref name="other"/> is a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ and if the two instances are equal; otherwise, false. Two tokens are equal if they are associated
+ with the same <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> or if they were both constructed
+ from public CancellationToken constructors and their <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> values are equal.</returns>
+ <exception cref="T:System.ObjectDisposedException">An associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.GetHashCode">
+ <summary>
+ Serves as a hash function for a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <returns>A hash code for the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationToken.op_Equality(System.Threading.CancellationToken,System.Threading.CancellationToken)">
+ <summary>
+ Determines whether two <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances are equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are equal; otherwise, false.</returns>
+ <exception cref="T:System.ObjectDisposedException">An associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.op_Inequality(System.Threading.CancellationToken,System.Threading.CancellationToken)">
+ <summary>
+ Determines whether two <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances are not equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are not equal; otherwise, false.</returns>
+ <exception cref="T:System.ObjectDisposedException">An associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.ThrowIfCancellationRequested">
+ <summary>
+ Throws a <see cref="T:System.OperationCanceledException">OperationCanceledException</see> if
+ this token has had cancellation requested.
+ </summary>
+ <remarks>
+ This method provides functionality equivalent to:
+ <code>
+ if (token.IsCancellationRequested)
+ throw new OperationCanceledException(token);
+ </code>
+ </remarks>
+ <exception cref="T:System.OperationCanceledException">The token has had cancellation requested.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="P:System.Threading.CancellationToken.None">
+ <summary>
+ Returns an empty CancellationToken value.
+ </summary>
+ <remarks>
+ The <see cref="T:System.Threading.CancellationToken"/> value returned by this property will be non-cancelable by default.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationToken.IsCancellationRequested">
+ <summary>
+ Gets whether cancellation has been requested for this token.
+ </summary>
+ <value>Whether cancellation has been requested for this token.</value>
+ <remarks>
+ <para>
+ This property indicates whether cancellation has been requested for this token,
+ either through the token initially being construted in a canceled state, or through
+ calling <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see>
+ on the token's associated <see cref="T:System.Threading.CancellationTokenSource"/>.
+ </para>
+ <para>
+ If this property is true, it only guarantees that cancellation has been requested.
+ It does not guarantee that every registered handler
+ has finished executing, nor that cancellation requests have finished propagating
+ to all registered handlers. Additional synchronization may be required,
+ particularly in situations where related objects are being canceled concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationToken.CanBeCanceled">
+ <summary>
+ Gets whether this token is capable of being in the canceled state.
+ </summary>
+ <remarks>
+ If CanBeCanceled returns false, it is guaranteed that the token will never transition
+ into a canceled state, meaning that <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will never
+ return true.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationToken.WaitHandle">
+ <summary>
+ Gets a <see cref="T:System.Threading.WaitHandle"/> that is signaled when the token is canceled.</summary>
+ <remarks>
+ Accessing this property causes a <see cref="T:System.Threading.WaitHandle">WaitHandle</see>
+ to be instantiated. It is preferable to only use this property when necessary, and to then
+ dispose the associated <see cref="T:System.Threading.CancellationTokenSource"/> instance at the earliest opportunity (disposing
+ the source will dispose of this allocated handle). The handle should not be closed or disposed directly.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="T:System.Threading.CancellationTokenRegistration">
+ <summary>
+ Represents a callback delegate that has been registered with a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <remarks>
+ To unregister a callback, dispose the corresponding Registration instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.TryDeregister">
+ <summary>
+ Attempts to deregister the item. If it's already being run, this may fail.
+ Entails a full memory fence.
+ </summary>
+ <returns>True if the callback was found and deregistered, false otherwise.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.Dispose">
+ <summary>
+ Disposes of the registration and unregisters the target callback from the associated
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ If the target callback is currently executing this method will wait until it completes, except
+ in the degenerate cases where a callback method deregisters itself.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.op_Equality(System.Threading.CancellationTokenRegistration,System.Threading.CancellationTokenRegistration)">
+ <summary>
+ Determines whether two <see
+ cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see>
+ instances are equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are equal; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.op_Inequality(System.Threading.CancellationTokenRegistration,System.Threading.CancellationTokenRegistration)">
+ <summary>
+ Determines whether two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are not equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are not equal; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.Equals(System.Object)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instance is equal to the
+ specified <see cref="T:System.Object"/>.
+ </summary>
+ <param name="obj">The other object to which to compare this instance.</param>
+ <returns>True, if both this and <paramref name="obj"/> are equal. False, otherwise.
+ Two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are equal if
+ they both refer to the output of a single call to the same Register method of a
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.Equals(System.Threading.CancellationTokenRegistration)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
+ specified <see cref="T:System.Object"/>.
+ </summary>
+ <param name="other">The other <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> to which to compare this instance.</param>
+ <returns>True, if both this and <paramref name="other"/> are equal. False, otherwise.
+ Two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are equal if
+ they both refer to the output of a single call to the same Register method of a
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.GetHashCode">
+ <summary>
+ Serves as a hash function for a <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration.</see>.
+ </summary>
+ <returns>A hash code for the current <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instance.</returns>
+ </member>
+ <member name="T:System.Threading.CancellationTokenSource">
+ <summary>
+ Signals to a <see cref="T:System.Threading.CancellationToken"/> that it should be canceled.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.CancellationTokenSource"/> is used to instantiate a <see cref="T:System.Threading.CancellationToken"/>
+ (via the source's <see cref="P:System.Threading.CancellationTokenSource.Token">Token</see> property)
+ that can be handed to operations that wish to be notified of cancellation or that can be used to
+ register asynchronous operations for cancellation. That token may have cancellation requested by
+ calling to the source's <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see>
+ method.
+ </para>
+ <para>
+ All members of this class, except <see cref="M:System.Threading.CancellationTokenSource.Dispose">Dispose</see>, are thread-safe and may be used
+ concurrently from multiple threads.
+ </para>
+ </remarks>
+ </member>
+ <member name="F:System.Threading.CancellationTokenSource.m_threadIDExecutingCallbacks">
+ The ID of the thread currently executing the main body of CTS.Cancel()
+ this helps us to know if a call to ctr.Dispose() is running 'within' a cancellation callback.
+ This is updated as we move between the main thread calling cts.Cancel() and any syncContexts that are used to
+ actually run the callbacks.
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.#ctor">
+ <summary>
+ Initializes the <see cref="T:System.Threading.CancellationTokenSource"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.Cancel">
+ <summary>
+ Communicates a request for cancellation.
+ </summary>
+ <remarks>
+ <para>
+ The associated <see cref="T:System.Threading.CancellationToken"/> will be
+ notified of the cancellation and will transition to a state where
+ <see cref="P:System.Threading.CancellationToken.IsCancellationRequested">IsCancellationRequested</see> returns true.
+ Any callbacks or cancelable operations
+ registered with the <see cref="T:System.Threading.CancellationToken"/> will be executed.
+ </para>
+ <para>
+ Cancelable operations and callbacks registered with the token should not throw exceptions.
+ However, this overload of Cancel will aggregate any exceptions thrown into a <see cref="T:System.AggregateException"/>,
+ such that one callback throwing an exception will not prevent other registered callbacks from being executed.
+ </para>
+ <para>
+ The <see cref="T:System.Threading.ExecutionContext"/> that was captured when each callback was registered
+ will be reestablished when the callback is invoked.
+ </para>
+ </remarks>
+ <exception cref="T:System.AggregateException">An aggregate exception containing all the exceptions thrown
+ by the registered callbacks on the associated <see cref="T:System.Threading.CancellationToken"/>.</exception>
+ <exception cref="T:System.ObjectDisposedException">This <see cref="T:System.Threading.CancellationTokenSource"/> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.Cancel(System.Boolean)">
+ <summary>
+ Communicates a request for cancellation.
+ </summary>
+ <remarks>
+ <para>
+ The associated <see cref="T:System.Threading.CancellationToken"/> will be
+ notified of the cancellation and will transition to a state where
+ <see cref="P:System.Threading.CancellationToken.IsCancellationRequested">IsCancellationRequested</see> returns true.
+ Any callbacks or cancelable operations
+ registered with the <see cref="T:System.Threading.CancellationToken"/> will be executed.
+ </para>
+ <para>
+ Cancelable operations and callbacks registered with the token should not throw exceptions.
+ If <paramref name="throwOnFirstException"/> is true, an exception will immediately propagate out of the
+ call to Cancel, preventing the remaining callbacks and cancelable operations from being processed.
+ If <paramref name="throwOnFirstException"/> is false, this overload will aggregate any
+ exceptions thrown into a <see cref="T:System.AggregateException"/>,
+ such that one callback throwing an exception will not prevent other registered callbacks from being executed.
+ </para>
+ <para>
+ The <see cref="T:System.Threading.ExecutionContext"/> that was captured when each callback was registered
+ will be reestablished when the callback is invoked.
+ </para>
+ </remarks>
+ <param name="throwOnFirstException">Specifies whether exceptions should immediately propagate.</param>
+ <exception cref="T:System.AggregateException">An aggregate exception containing all the exceptions thrown
+ by the registered callbacks on the associated <see cref="T:System.Threading.CancellationToken"/>.</exception>
+ <exception cref="T:System.ObjectDisposedException">This <see cref="T:System.Threading.CancellationTokenSource"/> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.Dispose">
+ <summary>
+ Releases the resources used by this <see cref="T:System.Threading.CancellationTokenSource" />.
+ </summary>
+ <remarks>
+ This method is not thread-safe for any other concurrent calls.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.ThrowIfDisposed">
+ <summary>
+ Throws an exception if the source has been disposed.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.InternalGetStaticSource(System.Boolean)">
+ <summary>
+ InternalGetStaticSource()
+ </summary>
+ <param name="set">Whether the source should be set.</param>
+ <returns>A static source to be shared among multiple tokens.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.InternalRegister(System.Action{System.Object},System.Object,System.Threading.SynchronizationContext)">
+ <summary>
+ Registers a callback object. If cancellation has already occurred, the
+ callback will have been run by the time this method returns.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.NotifyCancellation(System.Boolean)">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(System.Boolean)">
+ <summary>
+ Invoke the Canceled event.
+ </summary>
+ <remarks>
+ The handlers are invoked synchronously in LIFO order.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.CreateLinkedTokenSource(System.Threading.CancellationToken,System.Threading.CancellationToken)">
+ <summary>
+ Creates a <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that will be in the canceled state
+ when any of the source tokens are in the canceled state.
+ </summary>
+ <param name="token1">The first <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to observe.</param>
+ <param name="token2">The second <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to observe.</param>
+ <returns>A <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that is linked
+ to the source tokens.</returns>
+ <exception cref="T:System.ObjectDisposedException">A <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with
+ one of the source tokens has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.CreateLinkedTokenSource(System.Threading.CancellationToken[])">
+ <summary>
+ Creates a <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that will be in the canceled state
+ when any of the source tokens are in the canceled state.
+ </summary>
+ <param name="tokens">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances to observe.</param>
+ <returns>A <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that is linked
+ to the source tokens.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="tokens"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">A <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with
+ one of the source tokens has been disposed.</exception>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.IsCancellationRequested">
+ <summary>
+ Gets whether cancellation has been requested for this <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see>.
+ </summary>
+ <value>Whether cancellation has been requested for this <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see>.</value>
+ <remarks>
+ <para>
+ This property indicates whether cancellation has been requested for this token source, such as
+ due to a call to its
+ <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see> method.
+ </para>
+ <para>
+ If this property returns true, it only guarantees that cancellation has been requested. It does not
+ guarantee that every handler registered with the corresponding token has finished executing, nor
+ that cancellation requests have finished propagating to all registered handlers. Additional
+ synchronization may be required, particularly in situations where related objects are being
+ canceled concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.IsCancellationCompleted">
+ <summary>
+ A simple helper to determine whether cancellation has finished.
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.IsDisposed">
+ <summary>
+ A simple helper to determine whether disposal has occured.
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.ThreadIDExecutingCallbacks">
+ <summary>
+ The ID of the thread that is running callbacks.
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.Token">
+ <summary>
+ Gets the <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ associated with this <see cref="T:System.Threading.CancellationTokenSource"/>.
+ </summary>
+ <value>The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ associated with this <see cref="T:System.Threading.CancellationTokenSource"/>.</value>
+ <exception cref="T:System.ObjectDisposedException">The token source has been
+ disposed.</exception>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.CanBeCanceled">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.WaitHandle">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.ExecutingCallback">
+ <summary>
+ The currently executing callback
+ </summary>
+ </member>
+ <member name="T:System.Threading.CancellationCallbackInfo">
+ <summary>
+ A helper class for collating the various bits of information required to execute
+ cancellation callbacks.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationCallbackInfo.ExecuteCallback">
+ <summary>
+ InternalExecuteCallbackSynchronously_GeneralPath
+ This will be called on the target synchronization context, however, we still need to restore the required execution context
+ </summary>
+ </member>
+ <member name="T:System.Threading.SparselyPopulatedArray`1">
+ <summary>
+ A sparsely populated array. Elements can be sparse and some null, but this allows for
+ lock-free additions and growth, and also for constant time removal (by nulling out).
+ </summary>
+ <typeparam name="T">The kind of elements contained within.</typeparam>
+ </member>
+ <member name="M:System.Threading.SparselyPopulatedArray`1.#ctor(System.Int32)">
+ <summary>
+ Allocates a new array with the given initial size.
+ </summary>
+ <param name="initialSize">How many array slots to pre-allocate.</param>
+ </member>
+ <member name="M:System.Threading.SparselyPopulatedArray`1.Add(`0)">
+ <summary>
+ Adds an element in the first available slot, beginning the search from the tail-to-head.
+ If no slots are available, the array is grown. The method doesn't return until successful.
+ </summary>
+ <param name="element">The element to add.</param>
+ <returns>Information about where the add happened, to enable O(1) deregistration.</returns>
+ </member>
+ <member name="P:System.Threading.SparselyPopulatedArray`1.Tail">
+ <summary>
+ The tail of the doubly linked list.
+ </summary>
+ </member>
+ <member name="T:System.Threading.SparselyPopulatedArrayAddInfo`1">
+ <summary>
+ A struct to hold a link to the exact spot in an array an element was inserted, enabling
+ constant time removal later on.
+ </summary>
+ </member>
+ <member name="T:System.Threading.SparselyPopulatedArrayFragment`1">
+ <summary>
+ A fragment of a sparsely populated array, doubly linked.
+ </summary>
+ <typeparam name="T">The kind of elements contained within.</typeparam>
+ </member>
+ <member name="T:System.Threading.LazyInitializer">
+ <summary>
+ Provides lazy initialization routines.
+ </summary>
+ <remarks>
+ These routines avoid needing to allocate a dedicated, lazy-initialization instance, instead using
+ references to ensure targets have been initialized as they are accessed.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@)">
+ <summary>
+ Initializes a target reference type with the type's default constructor if the target has not
+ already been initialized.
+ </summary>
+ <typeparam name="T">The refence type of the reference to be initialized.</typeparam>
+ <param name="target">A reference of type <typeparamref name="T"/> to initialize if it has not
+ already been initialized.</param>
+ <returns>The initialized reference of type <typeparamref name="T"/>.</returns>
+ <exception cref="T:System.MissingMemberException">Type <typeparamref name="T"/> does not have a default
+ constructor.</exception>
+ <exception cref="T:System.MemberAccessException">
+ Permissions to access the constructor of type <typeparamref name="T"/> were missing.
+ </exception>
+ <remarks>
+ <para>
+ This method may only be used on reference types. To ensure initialization of value
+ types, see other overloads of EnsureInitialized.
+ </para>
+ <para>
+ This method may be used concurrently by multiple threads to initialize <paramref name="target"/>.
+ In the event that multiple threads access this method concurrently, multiple instances of <typeparamref name="T"/>
+ may be created, but only one will be stored into <paramref name="target"/>. In such an occurrence, this method will not dispose of the
+ objects that were not stored. If such objects must be disposed, it is up to the caller to determine
+ if an object was not used and to then dispose of the object appropriately.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Func{``0})">
+ <summary>
+ Initializes a target reference type using the specified function if it has not already been
+ initialized.
+ </summary>
+ <typeparam name="T">The reference type of the reference to be initialized.</typeparam>
+ <param name="target">The reference of type <typeparamref name="T"/> to initialize if it has not
+ already been initialized.</param>
+ <param name="valueFactory">The <see cref="T:System.Func{T}"/> invoked to initialize the
+ reference.</param>
+ <returns>The initialized reference of type <typeparamref name="T"/>.</returns>
+ <exception cref="T:System.MissingMemberException">Type <typeparamref name="T"/> does not have a
+ default constructor.</exception>
+ <exception cref="T:System.InvalidOperationException"><paramref name="valueFactory"/> returned
+ null.</exception>
+ <remarks>
+ <para>
+ This method may only be used on reference types, and <paramref name="valueFactory"/> may
+ not return a null reference (Nothing in Visual Basic). To ensure initialization of value types or
+ to allow null reference types, see other overloads of EnsureInitialized.
+ </para>
+ <para>
+ This method may be used concurrently by multiple threads to initialize <paramref name="target"/>.
+ In the event that multiple threads access this method concurrently, multiple instances of <typeparamref name="T"/>
+ may be created, but only one will be stored into <paramref name="target"/>. In such an occurrence, this method will not dispose of the
+ objects that were not stored. If such objects must be disposed, it is up to the caller to determine
+ if an object was not used and to then dispose of the object appropriately.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitializedCore``1(``0@,System.Func{``0})">
+ <summary>
+ Initialize the target using the given delegate (slow path).
+ </summary>
+ <typeparam name="T">The reference type of the reference to be initialized.</typeparam>
+ <param name="target">The variable that need to be initialized</param>
+ <param name="valueFactory">The delegate that will be executed to initialize the target</param>
+ <returns>The initialized variable</returns>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Boolean@,System.Object@)">
+ <summary>
+ Initializes a target reference or value type with its default constructor if it has not already
+ been initialized.
+ </summary>
+ <typeparam name="T">The type of the reference to be initialized.</typeparam>
+ <param name="target">A reference or value of type <typeparamref name="T"/> to initialize if it
+ has not already been initialized.</param>
+ <param name="initialized">A reference to a boolean that determines whether the target has already
+ been initialized.</param>
+ <param name="syncLock">A reference to an object used as the mutually exclusive lock for initializing
+ <paramref name="target"/>.</param>
+ <returns>The initialized value of type <typeparamref name="T"/>.</returns>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Boolean@,System.Object@,System.Func{``0})">
+ <summary>
+ Initializes a target reference or value type with a specified function if it has not already been
+ initialized.
+ </summary>
+ <typeparam name="T">The type of the reference to be initialized.</typeparam>
+ <param name="target">A reference or value of type <typeparamref name="T"/> to initialize if it
+ has not already been initialized.</param>
+ <param name="initialized">A reference to a boolean that determines whether the target has already
+ been initialized.</param>
+ <param name="syncLock">A reference to an object used as the mutually exclusive lock for initializing
+ <paramref name="target"/>.</param>
+ <param name="valueFactory">The <see cref="T:System.Func{T}"/> invoked to initialize the
+ reference or value.</param>
+ <returns>The initialized value of type <typeparamref name="T"/>.</returns>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitializedCore``1(``0@,System.Boolean@,System.Object@,System.Func{``0})">
+ <summary>
+ Ensure the target is initialized and return the value (slow path). This overload permits nulls
+ and also works for value type targets. Uses the supplied function to create the value.
+ </summary>
+ <typeparam name="T">The type of target.</typeparam>
+ <param name="target">A reference to the target to be initialized.</param>
+ <param name="initialized">A reference to a location tracking whether the target has been initialized.</param>
+ <param name="syncLock">A reference to a location containing a mutual exclusive lock.</param>
+ <param name="valueFactory">
+ The <see cref="T:System.Func{T}"/> to invoke in order to produce the lazily-initialized value.
+ </param>
+ <returns>The initialized object.</returns>
+ </member>
+ <member name="T:System.Threading.ManualResetEventSlim">
+ <summary>
+ Provides a slimmed down version of <see cref="T:System.Threading.ManualResetEvent"/>.
+ </summary>
+ <remarks>
+ All public and protected members of <see cref="T:System.Threading.ManualResetEventSlim"/> are thread-safe and may be used
+ concurrently from multiple threads, with the exception of Dispose, which
+ must only be used when all other operations on the <see cref="T:System.Threading.ManualResetEventSlim"/> have
+ completed, and Reset, which should only be used when no other threads are
+ accessing the event.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
+ class with an initial state of nonsignaled.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.#ctor(System.Boolean)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
+ class with a Boolen value indicating whether to set the intial state to signaled.
+ </summary>
+ <param name="initialState">true to set the initial state signaled; false to set the initial state
+ to nonsignaled.</param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.#ctor(System.Boolean,System.Int32)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
+ class with a Boolen value indicating whether to set the intial state to signaled and a specified
+ spin count.
+ </summary>
+ <param name="initialState">true to set the initial state to signaled; false to set the initial state
+ to nonsignaled.</param>
+ <param name="spinCount">The number of spin waits that will occur before falling back to a true
+ wait.</param>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="spinCount"/> is less than
+ 0 or greater than the maximum allowed value.</exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Initialize(System.Boolean,System.Int32)">
+ <summary>
+ Initializes the internal state of the event.
+ </summary>
+ <param name="initialState">Whether the event is set initially or not.</param>
+ <param name="spinCount">The spin count that decides when the event will block.</param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.EnsureLockObjectCreated">
+ <summary>
+ Helper to ensure the lock object is created before first use.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.LazyInitializeEvent">
+ <summary>
+ This method lazily initializes the event object. It uses CAS to guarantee that
+ many threads racing to call this at once don't result in more than one event
+ being stored and used. The event will be signaled or unsignaled depending on
+ the state of the thin-event itself, with synchronization taken into account.
+ </summary>
+ <returns>True if a new event was created and stored, false otherwise.</returns>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Set">
+ <summary>
+ Sets the state of the event to signaled, which allows one or more threads waiting on the event to
+ proceed.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Set(System.Boolean)">
+ <summary>
+ Private helper to actually perform the Set.
+ </summary>
+ <param name="duringCancellation">Indicates whether we are calling Set() during cancellation.</param>
+ <exception cref="T:System.OperationCanceledException">The object has been canceled.</exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Reset">
+ <summary>
+ Sets the state of the event to nonsignaled, which causes threads to block.
+ </summary>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Reset"/> is not
+ thread-safe and may not be used concurrently with other members of this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ <remarks>
+ 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.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Threading.CancellationToken)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> receives a signal,
+ while observing a <see cref="T:System.Threading.CancellationToken"/>.
+ </summary>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
+ observe.</param>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ <exception cref="T:System.OperationCanceledExcepton"><paramref name="cancellationToken"/> was
+ canceled.</exception>
+ <remarks>
+ 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.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.TimeSpan)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ <see cref="T:System.TimeSpan"/> to measure the time interval.
+ </summary>
+ <param name="timeout">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>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
+ number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
+ than <see cref="F:System.Int32.MaxValue"/>.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.TimeSpan,System.Threading.CancellationToken)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ <see cref="T:System.TimeSpan"/> to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
+ </summary>
+ <param name="timeout">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">The <see cref="T:System.Threading.CancellationToken"/> to
+ observe.</param>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
+ number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
+ than <see cref="F:System.Int32.MaxValue"/>.</exception>
+ <exception cref="T:System.Threading.OperationCanceledException"><paramref name="cancellationToken"/> was canceled.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Int32)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ 32-bit signed integer to measure the time interval.
+ </summary>
+ <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
+ negative number other than -1, which represents an infinite time-out.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ 32-bit signed integer to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
+ </summary>
+ <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
+ observe.</param>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
+ negative number other than -1, which represents an infinite time-out.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ <exception cref="T:System.Threading.OperationCanceledException"><paramref name="cancellationToken"/> was canceled.</exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Dispose">
+ <summary>
+ Releases all resources used by the current instance of <see cref="T:System.Threading.ManualResetEventSlim"/>.
+ </summary>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Dispose"/> is not
+ thread-safe and may not be used concurrently with other members of this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Dispose(System.Boolean)">
+ <summary>
+ When overridden in a derived class, releases the unmanaged resources used by the
+ <see cref="T:System.Threading.ManualResetEventSlim"/>, and optionally releases the managed resources.
+ </summary>
+ <param name="disposing">true to release both managed and unmanaged resources;
+ false to release only unmanaged resources.</param>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Dispose(System.Boolean)"/> is not
+ thread-safe and may not be used concurrently with other members of this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.ThrowIfDisposed">
+ <summary>
+ Throw ObjectDisposedException if the MRES is disposed
+ </summary>
+ </member>
+ <member name="F:System.Threading.ManualResetEventSlim.s_cancellationTokenCallback">
+ <summary>
+ Private helper method to wake up waiters when a cancellationToken gets canceled.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.UpdateStateAtomically(System.Int32,System.Int32)">
+ <summary>
+ Private helper method for updating parts of a bit-string state value.
+ Mainly called from the IsSet and Waiters properties setters
+ </summary>
+ <remarks>
+ Note: the parameter types must be int as CompareExchange cannot take a Uint
+ </remarks>
+ <param name="newBits">The new value</param>
+ <param name="updateBitsMask">The mask used to set the bits</param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.ExtractStatePortionAndShiftRight(System.Int32,System.Int32,System.Int32)">
+ <summary>
+ Private helper method - performs Mask and shift, particular helpful to extract a field from a packed word.
+ eg ExtractStatePortionAndShiftRight(0x12345678, 0xFF000000, 24) => 0x12, ie extracting the top 8-bits as a simple integer
+
+ ?? is there a common place to put this rather than being private to MRES?
+ </summary>
+ <param name="state"></param>
+ <param name="mask"></param>
+ <param name="rightBitShiftCount"></param>
+ <returns></returns>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.ExtractStatePortion(System.Int32,System.Int32)">
+ <summary>
+ Performs a Mask operation, but does not perform the shift.
+ This is acceptable for boolean values for which the shift is unnecessary
+ eg (val &amp; Mask) != 0 is an appropriate way to extract a boolean rather than using
+ ((val &amp; Mask) &gt;&gt; shiftAmount) == 1
+
+ ?? is there a common place to put this rather than being private to MRES?
+ </summary>
+ <param name="state"></param>
+ <param name="mask"></param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.UpdateTimeOut(System.Int64,System.Int32)">
+ <summary>
+ Helper function to measure and update the wait time
+ </summary>
+ <param name="startTimeTicks"> The first time (in Ticks) observed when the wait started.</param>
+ <param name="originalWaitMillisecondsTimeout">The orginal wait timeoutout in milliseconds.</param>
+ <returns>The new wait time in milliseconds, -1 if the time expired, -2 if overflow in counters
+ has occurred.</returns>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.WaitHandle">
+ <summary>
+ Gets the underlying <see cref="T:System.Threading.WaitHandle"/> object for this <see cref="T:System.Threading.ManualResetEventSlim"/>.
+ </summary>
+ <value>The underlying <see cref="T:System.Threading.WaitHandle"/> event object fore this <see cref="T:System.Threading.ManualResetEventSlim"/>.</value>
+ <remarks>
+ Accessing this property forces initialization of an underlying event object if one hasn't
+ already been created. To simply wait on this <see cref="T:System.Threading.ManualResetEventSlim"/>,
+ the public Wait methods should be preferred.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.IsSet">
+ <summary>
+ Gets whether the event is set.
+ </summary>
+ <value>true if the event has is set; otherwise, false.</value>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.SpinCount">
+ <summary>
+ Gets the number of spin waits that will be occur before falling back to a true wait.
+ </summary>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.Waiters">
+ <summary>
+ How many threads are waiting.
+ </summary>
+ </member>
+ <member name="T:System.Threading.SpinWait">
+ <summary>
+ Provides support for spin-based waiting.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.SpinWait"/> encapsulates common spinning logic. On single-processor machines, yields are
+ always used instead of busy waits, and on computers with Intel™ processors employing Hyper-Threading™
+ technology, it helps to prevent hardware thread starvation. SpinWait encapsulates a good mixture of
+ spinning and true yielding.
+ </para>
+ <para>
+ <see cref="T:System.Threading.SpinWait"/> is a value type, which means that low-level code can utilize SpinWait without
+ fear of unnecessary allocation overheads. SpinWait is not generally useful for ordinary applications.
+ In most cases, you should use the synchronization classes provided by the .NET Framework, such as
+ <see cref="T:System.Threading.Monitor"/>. For most purposes where spin waiting is required, however,
+ the <see cref="T:System.Threading.SpinWait"/> type should be preferred over the System.Threading.Thread.SpinWait method.
+ </para>
+ <para>
+ While SpinWait is designed to be used in concurrent applications, it is not designed to be
+ used from multiple threads concurrently. SpinWait's members are not thread-safe. If multiple
+ threads must spin, each should use its own instance of SpinWait.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinOnce">
+ <summary>
+ Performs a single spin.
+ </summary>
+ <remarks>
+ This is typically called in a loop, and may change in behavior based on the number of times a
+ <see cref="M:System.Threading.SpinWait.SpinOnce"/> has been called thus far on this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.SpinWait.Reset">
+ <summary>
+ Resets the spin counter.
+ </summary>
+ <remarks>
+ This makes <see cref="M:System.Threading.SpinWait.SpinOnce"/> and <see cref="P:System.Threading.SpinWait.NextSpinWillYield"/> behave as though no calls
+ to <see cref="M:System.Threading.SpinWait.SpinOnce"/> had been issued on this instance. If a <see cref="T:System.Threading.SpinWait"/> instance
+ is reused many times, it may be useful to reset it to avoid yielding too soon.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean})">
+ <summary>
+ Spins until the specified condition is satisfied.
+ </summary>
+ <param name="condition">A delegate to be executed over and over until it returns true.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.TimeSpan)">
+ <summary>
+ Spins until the specified condition is satisfied or until the specified timeout is expired.
+ </summary>
+ <param name="condition">A delegate to be executed over and over until it returns true.</param>
+ <param name="timeout">
+ A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait,
+ or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
+ <returns>True if the condition is satisfied within the timeout; otherwise, false</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative number
+ other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.</exception>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.Int32)">
+ <summary>
+ Spins until the specified condition is satisfied or until the specified timeout is expired.
+ </summary>
+ <param name="condition">A delegate to be executed over and over until it returns true.</param>
+ <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
+ <returns>True if the condition is satisfied within the timeout; otherwise, false</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
+ negative number other than -1, which represents an infinite time-out.</exception>
+ </member>
+ <member name="P:System.Threading.SpinWait.Count">
+ <summary>
+ Gets the number of times <see cref="M:System.Threading.SpinWait.SpinOnce"/> has been called on this instance.
+ </summary>
+ </member>
+ <member name="P:System.Threading.SpinWait.NextSpinWillYield">
+ <summary>
+ Gets whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"/> will yield the processor, triggering a
+ forced context switch.
+ </summary>
+ <value>Whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"/> will yield the processor, triggering a
+ forced context switch.</value>
+ <remarks>
+ On a single-CPU machine, <see cref="M:System.Threading.SpinWait.SpinOnce"/> always yields the processor. On machines with
+ multiple CPUs, <see cref="M:System.Threading.SpinWait.SpinOnce"/> may yield after an unspecified number of calls.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.PlatformHelper">
+ <summary>
+ A helper class to get the number of preocessors, it updates the numbers of processors every sampling interval
+ </summary>
+ </member>
+ <member name="P:System.Threading.PlatformHelper.ProcessorCount">
+ <summary>
+ Gets the number of available processors
+ </summary>
+ </member>
+ <member name="P:System.Threading.PlatformHelper.IsSingleProcessor">
+ <summary>
+ Gets whether the current machine has only a single processor.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.Task`1">
+ <summary>
+ Represents an asynchronous operation that produces a result at some time in the future.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by this <see cref="T:System.Threading.Tasks.Task`1"/>.
+ </typeparam>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.Tasks.Task`1"/> instances may be created in a variety of ways. The most common approach is by
+ using the task's <see cref="P:System.Threading.Tasks.Task`1.Factory"/> property to retrieve a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance that can be used to create tasks for several
+ purposes. For example, to create a <see cref="T:System.Threading.Tasks.Task`1"/> that runs a function, the factory's StartNew
+ method may be used:
+ <code>
+ // C#
+ var t = Task&lt;int&gt;.Factory.StartNew(() =&gt; GenerateResult());
+ - or -
+ var t = Task.Factory.StartNew(() =&gt; GenerateResult());
+
+ ' Visual Basic
+ Dim t = Task&lt;int&gt;.Factory.StartNew(Function() GenerateResult())
+ - or -
+ Dim t = Task.Factory.StartNew(Function() GenerateResult())
+ </code>
+ </para>
+ <para>
+ The <see cref="T:System.Threading.Tasks.Task`1"/> class also provides constructors that initialize the task but that do not
+ schedule it for execution. For performance reasons, the StartNew method should be the
+ preferred mechanism for creating and scheduling computational tasks, but for scenarios where creation
+ and scheduling must be separated, the constructors may be used, and the task's
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see>
+ method may then be used to schedule the task for execution at a later time.
+ </para>
+ <para>
+ All members of <see cref="T:System.Threading.Tasks.Task`1"/>, except for
+ <see cref="M:System.Threading.Tasks.Task.Dispose">Dispose</see>, are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.Task">
+ <summary>
+ Represents an asynchronous operation.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.Tasks.Task"/> instances may be created in a variety of ways. The most common approach is by
+ using the Task type's <see cref="P:System.Threading.Tasks.Task.Factory"/> property to retrieve a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance that can be used to create tasks for several
+ purposes. For example, to create a <see cref="T:System.Threading.Tasks.Task"/> that runs an action, the factory's StartNew
+ method may be used:
+ <code>
+ // C#
+ var t = Task.Factory.StartNew(() =&gt; DoAction());
+
+ ' Visual Basic
+ Dim t = Task.Factory.StartNew(Function() DoAction())
+ </code>
+ </para>
+ <para>
+ The <see cref="T:System.Threading.Tasks.Task"/> class also provides constructors that initialize the Task but that do not
+ schedule it for execution. For performance reasons, TaskFactory's StartNew method should be the
+ preferred mechanism for creating and scheduling computational tasks, but for scenarios where creation
+ and scheduling must be separated, the constructors may be used, and the task's <see cref="M:System.Threading.Tasks.Task.Start"/>
+ method may then be used to schedule the task for execution at a later time.
+ </para>
+ <para>
+ All members of <see cref="T:System.Threading.Tasks.Task"/>, except for <see cref="M:System.Threading.Tasks.Task.Dispose"/>, are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ <para>
+ For operations that return values, the <see cref="T:System.Threading.Tasks.Task`1"/> class
+ should be used.
+ </para>
+ <para>
+ For developers implementing custom debuggers, several internal and private members of Task may be
+ useful (these may change from release to release). The Int32 m_taskId field serves as the backing
+ store for the <see cref="P:System.Threading.Tasks.Task.Id"/> property, however accessing this field directly from a debugger may be
+ more efficient than accessing the same value through the property's getter method (the
+ s_taskIdCounter Int32 counter is used to retrieve the next available ID for a Task). Similarly, the
+ Int32 m_stateFlags field stores information about the current lifecycle stage of the Task,
+ information also accessible through the <see cref="P:System.Threading.Tasks.Task.Status"/> property. The m_action System.Object
+ field stores a reference to the Task's delegate, and the m_stateObject System.Object field stores the
+ async state passed to the Task by the developer. Finally, for debuggers that parse stack frames, the
+ InternalWait method serves a potential marker for when a Task is entering a wait operation.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#cctor">
+ <summary>
+ A type initializer that runs with the appropriate permissions.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the Task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the Task.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new Task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and creation options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and creation options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and state.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Object,System.Object,System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ An internal constructor used by the factory methods on task and its descendent(s).
+ This variant does not capture the ExecutionContext; it is up to the caller to do that.
+ </summary>
+ <param name="action">An action to execute.</param>
+ <param name="state">Optional state to pass to the action.</param>
+ <param name="parent">Parent of Task.</param>
+ <param name="cancellationToken">A CancellationToken for the task.</param>
+ <param name="scheduler">A task scheduler under which the task will run.</param>
+ <param name="creationOptions">Options to control its execution.</param>
+ <param name="internalOptions">Internal options to control its execution</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.TaskConstructorCore(System.Object,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Common logic used by the following internal ctors:
+ Task()
+ Task(object action, object state, Task parent, TaskCreationOptions options, TaskScheduler taskScheduler)
+
+ ASSUMES THAT m_creatingTask IS ALREADY SET.
+
+ </summary>
+ <param name="action">Action for task to execute.</param>
+ <param name="state">Object to which to pass to action (may be null)</param>
+ <param name="scheduler">Task scheduler on which to run thread (only used by continuation tasks).</param>
+ <param name="cancellationToken">A CancellationToken for the Task.</param>
+ <param name="creationOptions">Options to customize behavior of Task.</param>
+ <param name="internalOptions">Internal options to customize behavior of Task.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.DeregisterCancellationCallback">
+ <summary>
+ Checks if we registered a CT callback during construction, and deregisters it.
+ This should be called when we know the registration isn't useful anymore. Specifically from Finish() if the task has completed
+ successfully or with an exception.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.PossiblyCaptureContext(System.Threading.StackCrawlMark@)">
+ <summary>
+ Captures the ExecutionContext so long as flow isn't suppressed.
+ </summary>
+ <param name="stackMark">A stack crawl mark pointing to the frame of the caller.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddNewChild">
+ <summary>
+ Internal function that will be called by a new child task to add itself to
+ the children list of the parent (this).
+
+ Since a child task can only be created from the thread executing the action delegate
+ of this task, reentrancy is neither required nor supported. This should not be called from
+ anywhere other than the task construction/initialization codepaths.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Start">
+ <summary>
+ Starts the <see cref="T:System.Threading.Tasks.Task"/>, scheduling it for execution to the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </summary>
+ <remarks>
+ A task may only be started and run only once. Any attempts to schedule a task a second time
+ will result in an exception.
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Start(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Starts the <see cref="T:System.Threading.Tasks.Task"/>, scheduling it for execution to the specified <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </summary>
+ <remarks>
+ A task may only be started and run only once. Any attempts to schedule a task a second time will
+ result in an exception.
+ </remarks>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> with which to associate
+ and execute this task.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.RunSynchronously">
+ <summary>
+ Runs the <see cref="T:System.Threading.Tasks.Task"/> synchronously on the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </summary>
+ <remarks>
+ <para>
+ A task may only be started and run only once. Any attempts to schedule a task a second time will
+ result in an exception.
+ </para>
+ <para>
+ Tasks executed with <see cref="M:System.Threading.Tasks.Task.RunSynchronously"/> will be associated with the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </para>
+ <para>
+ If the target scheduler does not support running this Task on the current thread, the Task will
+ be scheduled for execution on the scheduler, and the current thread will block until the
+ Task has completed execution.
+ </para>
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.RunSynchronously(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Runs the <see cref="T:System.Threading.Tasks.Task"/> synchronously on the <see cref="T:System.Threading.Tasks.TaskScheduler">scheduler</see> provided.
+ </summary>
+ <remarks>
+ <para>
+ A task may only be started and run only once. Any attempts to schedule a task a second time will
+ result in an exception.
+ </para>
+ <para>
+ If the target scheduler does not support running this Task on the current thread, the Task will
+ be scheduled for execution on the scheduler, and the current thread will block until the
+ Task has completed execution.
+ </para>
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="scheduler"/> parameter
+ is null.</exception>
+ <param name="scheduler">The scheduler on which to attempt to run this task inline.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ThrowIfDisposed">
+ <summary>
+ Throws an exception if the task has been disposed, and hence can no longer be accessed.
+ </summary>
+ <exception cref="T:System.ObjectDisposedException">The task has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.SetCompleted">
+ <summary>
+ Sets the internal completion event.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Dispose">
+ <summary>
+ Disposes the <see cref="T:System.Threading.Tasks.Task"/>, releasing all of its unmanaged resources.
+ </summary>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.Tasks.Task"/>, this method is not thread-safe.
+ Also, <see cref="M:System.Threading.Tasks.Task.Dispose"/> may only be called on a <see cref="T:System.Threading.Tasks.Task"/> that is in one of
+ the final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The exception that is thrown if the <see cref="T:System.Threading.Tasks.Task"/> is not in
+ one of the final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Dispose(System.Boolean)">
+ <summary>
+ Disposes the <see cref="T:System.Threading.Tasks.Task"/>, releasing all of its unmanaged resources.
+ </summary>
+ <param name="disposing">
+ A Boolean value that indicates whether this method is being called due to a call to <see cref="M:System.Threading.Tasks.Task.Dispose"/>.
+ </param>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.Tasks.Task"/>, this method is not thread-safe.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ScheduleAndStart(System.Boolean)">
+ <summary>
+ Schedules the task for execution.
+ </summary>
+ <param name="needsProtection">If true, TASK_STATE_STARTED bit is turned on in
+ an atomic fashion, making sure that TASK_STATE_CANCELED does not get set
+ underneath us. If false, TASK_STATE_STARTED bit is OR-ed right in. This
+ allows us to streamline things a bit for StartNew(), where competing cancellations
+ are not a problem.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddException(System.Object)">
+ <summary>
+ Adds an exception to the list of exceptions this task has thrown.
+ </summary>
+ <param name="exceptionObject">An object representing either an Exception or a collection of Exceptions.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.GetExceptions(System.Boolean)">
+ <summary>
+ Returns a list of exceptions by aggregating the holder's contents. Or null if
+ no exceptions have been thrown.
+ </summary>
+ <param name="includeTaskCanceledExceptions">Whether to include a TCE if cancelled.</param>
+ <returns>An aggregate exception, or null if no exceptions have been caught.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ThrowIfExceptional(System.Boolean)">
+ <summary>
+ Throws an aggregate exception if the task contains exceptions.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.UpdateExceptionObservedStatus">
+ <summary>
+ Checks whether this is an attached task, and whether we are being called by the parent task.
+ And sets the TASK_STATE_EXCEPTIONOBSERVEDBYPARENT status flag based on that.
+
+ This is meant to be used internally when throwing an exception, and when WaitAll is gathering
+ exceptions for tasks it waited on. If this flag gets set, the implicit wait on children
+ will skip exceptions to prevent duplication.
+
+ This should only be called when this task has completed with an exception
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Finish(System.Boolean)">
+ <summary>
+ Signals completion of this particular task.
+
+ The bUserDelegateExecuted parameter indicates whether this Finish() call comes following the
+ full execution of the user delegate.
+
+ If bUserDelegateExecuted is false, it mean user delegate wasn't invoked at all (either due to
+ a cancellation request, or because this task is a promise style Task). In this case, the steps
+ involving child tasks (i.e. WaitForChildren) will be skipped.
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishStageTwo">
+ <summary>
+ FinishStageTwo is to be executed as soon as we known there are no more children to complete.
+ It can happen i) either on the thread that originally executed this task (if no children were spawned, or they all completed by the time this task's delegate quit)
+ ii) or on the thread that executed the last child.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishStageThree">
+ <summary>
+ Final stage of the task completion code path. Notifies the parent (if any) that another of its childre are done, and runs continuations.
+ This function is only separated out from FinishStageTwo because these two operations are also needed to be called from CancellationCleanupLogic()
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ProcessChildCompletion(System.Threading.Tasks.Task)">
+ <summary>
+ This is called by children of this task when they are completed.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddExceptionsFromChildren">
+ <summary>
+ This is to be called just before the task does its final state transition.
+ It traverses the list of exceptional children, and appends their aggregate exceptions into this one's exception list
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishThreadAbortedTask(System.Boolean,System.Boolean)">
+ <summary>
+ Special purpose Finish() entry point to be used when the task delegate throws a ThreadAbortedException
+ This makes a note in the state flags so that we avoid any costly synchronous operations in the finish codepath
+ such as inlined continuations
+ </summary>
+ <param name="bTAEAddedToExceptionHolder">
+ Indicates whether the ThreadAbortException was added to this task's exception holder.
+ This should always be true except for the case of non-root self replicating task copies.
+ </param>
+ <param name="delegateRan">Whether the delegate was executed.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Execute">
+ <summary>
+ Executes the task. This method will only be called once, and handles bookeeping associated with
+ self-replicating tasks, in addition to performing necessary exception marshaling.
+ </summary>
+ <exception cref="T:System.ObjectDisposedException">The task has already been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.System#Threading#Tasks#IThreadPoolWorkItem#ExecuteWorkItem">
+ <summary>
+ IThreadPoolWorkItem override, which is the entry function for this task when the TP scheduler decides to run it.
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ExecuteEntry(System.Boolean)">
+ <summary>
+ Outermost entry function to execute this task. Handles all aspects of executing a task on the caller thread.
+ Currently this is called by IThreadPoolWorkItem.ExecuteWorkItem(), and TaskManager.TryExecuteInline.
+
+ </summary>
+ <param name="bPreventDoubleExecution"> Performs atomic updates to prevent double execution. Should only be set to true
+ in codepaths servicing user provided TaskSchedulers. The ConcRT or ThreadPool schedulers don't need this. </param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InnerInvoke">
+ <summary>
+ The actual code which invokes the body of the task. This can be overriden in derived types.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task)">
+ <summary>
+ Alternate InnerInvoke prototype to be called from ExecuteSelfReplicating() so that
+ the Parallel Debugger can discover the actual task being invoked.
+ Details: Here, InnerInvoke is actually being called on the rootTask object while we are actually executing the
+ childTask. And the debugger needs to discover the childTask, so we pass that down as an argument.
+ The NoOptimization and NoInlining flags ensure that the childTask pointer is retained, and that this
+ function appears on the callstack.
+ </summary>
+ <param name="childTask"></param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.HandleException(System.Exception)">
+ <summary>
+ Performs whatever handling is necessary for an unhandled exception. Normally
+ this just entails adding the exception to the holder object.
+ </summary>
+ <param name="unhandledException">The exception that went unhandled.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during
+ the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.TimeSpan)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="timeout">
+ 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>
+ <returns>
+ true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise, false.
+ </returns>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="timeout"/> is a negative number other than -1 milliseconds, which represents an
+ infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.Threading.CancellationToken)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the task to complete.
+ </param>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.Int32)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.</param>
+ <returns>true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise,
+ false.
+ </returns>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the task to complete.
+ </param>
+ <returns>
+ true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise, false.
+ </returns>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InternalWait(System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ The core wait function, which is only accesible internally. It's meant to be used in places in TPL code where
+ the current context is known or cached.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InternalCancel(System.Boolean)">
+ <summary>
+ Cancels the <see cref="T:System.Threading.Tasks.Task"/>.
+ </summary>
+ <param name="bCancelNonExecutingOnly"> Indiactes whether we should only cancel non-invoked tasks.
+ For the default scheduler this option will only be serviced through TryDequeue.
+ For custom schedulers we also attempt an atomic state transition.</param>
+ <returns>true if the task was successfully canceled; otherwise, false.</returns>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.SetCancellationAcknowledged">
+ <summary>
+ Sets the task's cancellation acknowledged flag.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishContinuations">
+ <summary>
+ Runs all of the continuations, as appropriate.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWithIsRightKind(System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Helper function to determine whether the current task is in the state desired by the
+ continuation kind under evaluation. Three possibilities exist: the task failed with
+ an unhandled exception (OnFailed), the task was canceled before running (OnAborted),
+ or the task completed successfully (OnCompletedSuccessfully). Note that the last
+ one includes completing due to cancellation.
+ </summary>
+ <param name="options">The continuation options under evaluation.</param>
+ <returns>True if the continuation should be run given the task's current state.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken"> The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
+ instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
+ are not met, the continuation task will be canceled instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
+ instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
+ are not met, the continuation task will be canceled instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.CreationOptionsFromContinuationOptions(System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskCreationOptions@,System.Threading.Tasks.InternalTaskOptions@)">
+ <summary>
+ Converts TaskContinuationOptions to TaskCreationOptions, and also does
+ some validity checking along the way.
+ </summary>
+ <param name="continuationOptions">Incoming TaskContinuationOptions</param>
+ <param name="creationOptions">Outgoing TaskCreationOptions</param>
+ <param name="internalOptions">Outgoing InternalTaskOptions</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Registers the continuation and possibly runs it (if the task is already finished).
+ </summary>
+ <param name="continuationTask">The continuation task itself.</param>
+ <param name="scheduler">TaskScheduler with which to associate continuation task.</param>
+ <param name="options">Restrictions on when the continuation becomes active.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[])">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.TimeSpan)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="timeout">
+ 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>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="timeout"/> is a negative number other than -1 milliseconds, which represents an
+ infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Int32)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.</param>
+ <param name="tasks">An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Threading.CancellationToken)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the tasks to complete.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the tasks to complete.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAllSTAAnd64Aware(System.Threading.WaitHandle[],System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for a set of handles in a STA-aware way. In other words, it will wait for each
+ of the events individually if we're on a STA thread, because MsgWaitForMultipleObjectsEx
+ can't do a true wait-all due to its hidden message queue event. This is not atomic,
+ of course, but we only wait on one-way (MRE) events anyway so this is OK.
+ </summary>
+ <param name="waitHandles">An array of wait handles to wait on.</param>
+ <param name="millisecondsTimeout">The timeout to use during waits.</param>
+ <param name="cancellationToken">The cancellationToken that enables a wait to be canceled.</param>
+ <returns>True if all waits succeeded, false if a timeout occurred.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FastWaitAll(System.Threading.Tasks.Task[])">
+ <summary>
+ Internal WaitAll implementation which is meant to be used with small number of tasks,
+ optimized for Parallel.Invoke and other structured primitives.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddExceptionsForCompletedTask(System.Collections.Generic.List{System.Exception}@,System.Threading.Tasks.Task)">
+ <summary>
+ This internal function is only meant to be called by WaitAll()
+ If the completed task is canceled or it has other exceptions, here we will add those
+ into the passed in exception list (which will be lazily initialized here).
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[])">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <returns>The index of the completed task in the <paramref name="tasks"/> array argument.</returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.TimeSpan)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="timeout">
+ 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>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
+ timeout occurred.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="timeout"/> is a negative number other than -1 milliseconds, which represents an
+ infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Threading.CancellationToken)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for a task to complete.
+ </param>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Int32)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
+ timeout occurred.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for a task to complete.
+ </param>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
+ timeout occurred.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Id">
+ <summary>
+ Gets a unique ID for this <see cref="T:System.Threading.Tasks.Task">Task</see> instance.
+ </summary>
+ <remarks>
+ Task IDs are assigned on-demand and do not necessarily represent the order in the which Task
+ instances were created.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CurrentId">
+ <summary>
+ Returns the unique ID of the currently executing <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.InternalCurrent">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.Task">Task</see> instance currently executing, or
+ null if none exists.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Exception">
+ <summary>
+ Gets the <see cref="T:System.AggregateException">Exception</see> that caused the <see cref="T:System.Threading.Tasks.Task">Task</see> to end prematurely. If the <see cref="T:System.Threading.Tasks.Task">Task</see> completed successfully or has not yet thrown any
+ exceptions, this will return null.
+ </summary>
+ <remarks>
+ Tasks that throw unhandled exceptions store the resulting exception and propagate it wrapped in a
+ <see cref="T:System.AggregateException"/> in calls to <see cref="M:System.Threading.Tasks.Task.Wait">Wait</see>
+ or in accesses to the <see cref="P:System.Threading.Tasks.Task.Exception"/> property. Any exceptions not observed by the time
+ the Task instance is garbage collected will be propagated on the finalizer thread.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task">Task</see>
+ has been disposed.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Status">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> of this Task.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCanceled">
+ <summary>
+ Gets whether this <see cref="T:System.Threading.Tasks.Task">Task</see> instance has completed
+ execution due to being canceled.
+ </summary>
+ <remarks>
+ A <see cref="T:System.Threading.Tasks.Task">Task</see> will complete in Canceled state either if its <see cref="P:System.Threading.Tasks.Task.CancellationToken">CancellationToken</see>
+ was marked for cancellation before the task started executing, or if the task acknowledged the cancellation request on
+ its already signaled CancellationToken by throwing an
+ <see cref="T:System.OperationCanceledException">OperationCanceledException2</see> that bears the same
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCancellationRequested">
+ <summary>
+ Returns true if this task has a cancellation token and it was signaled.
+ To be used internally in execute entry codepaths.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CancellationToken">
+ <summary>
+ This internal property provides access to the CancellationToken that was set on the task
+ when it was constructed.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCancellationAcknowledged">
+ <summary>
+ Gets whether this <see cref="T:System.Threading.Tasks.Task"/> threw an OperationCanceledException2 while its CancellationToken was signaled.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCompleted">
+ <summary>
+ Gets whether this <see cref="T:System.Threading.Tasks.Task">Task</see> has completed.
+ </summary>
+ <remarks>
+ <see cref="P:System.Threading.Tasks.Task.IsCompleted"/> will return true when the Task is in one of the three
+ final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsDisposed">
+ <summary>
+ Checks whether this task has been disposed.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CreationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used
+ to create this task.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.System#IAsyncResult#AsyncWaitHandle">
+ <summary>
+ Gets a <see cref="T:System.Threading.WaitHandle"/> that can be used to wait for the task to
+ complete.
+ </summary>
+ <remarks>
+ Using the wait functionality provided by <see cref="M:System.Threading.Tasks.Task.Wait"/>
+ should be preferred over using <see cref="P:System.IAsyncResult.AsyncWaitHandle"/> for similar
+ functionality.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.AsyncState">
+ <summary>
+ Gets the state object supplied when the <see cref="T:System.Threading.Tasks.Task">Task</see> was created,
+ or null if none was supplied.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.System#IAsyncResult#CompletedSynchronously">
+ <summary>
+ Gets an indication of whether the asynchronous operation completed synchronously.
+ </summary>
+ <value>true if the asynchronous operation completed synchronously; otherwise, false.</value>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.ExecutingTaskScheduler">
+ <summary>
+ Provides access to the TaskScheduler responsible for executing this Task.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Factory">
+ <summary>
+ Provides access to factory methods for creating <see cref="T:System.Threading.Tasks.Task"/> and <see cref="T:System.Threading.Tasks.Task`1"/> instances.
+ </summary>
+ <remarks>
+ The factory returned from <see cref="P:System.Threading.Tasks.Task.Factory"/> is a default instance
+ of <see cref="T:System.Threading.Tasks.TaskFactory"/>, as would result from using
+ the default constructor on TaskFactory.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CompletedEvent">
+ <summary>
+ Provides an event that can be used to wait for completion.
+ Only called by Wait*(), which means that we really do need to instantiate a completion event.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsSelfReplicatingRoot">
+ <summary>
+ Determines whether this is the root task of a self replicating group.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsChildReplica">
+ <summary>
+ Determines whether the task is a replica itself.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.ExceptionRecorded">
+ <summary>
+ The property formerly known as IsFaulted.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsFaulted">
+ <summary>
+ Gets whether the <see cref="T:System.Threading.Tasks.Task"/> completed due to an unhandled exception.
+ </summary>
+ <remarks>
+ If <see cref="P:System.Threading.Tasks.Task.IsFaulted"/> is true, the Task's <see cref="P:System.Threading.Tasks.Task.Status"/> will be equal to
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">TaskStatus.Faulted</see>, and its
+ <see cref="P:System.Threading.Tasks.Task.Exception"/> property will be non-null.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsExceptionObservedByParent">
+ <summary>
+ Checks whether the TASK_STATE_EXCEPTIONOBSERVEDBYPARENT status flag is set,
+ This will only be used by the implicit wait to prevent double throws
+
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsDelegateInvoked">
+ <summary>
+ Checks whether the body was ever invoked. Used by task scheduler code to verify custom schedulers actually ran the task.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.Task.TaskContinuation">
+ <summary>
+ A structure to hold continuation information.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.TaskContinuation.#ctor(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Constructs a new continuation structure.
+ </summary>
+ <param name="task">The task to be activated.</param>
+ <param name="options">The continuation options.</param>
+ <param name="scheduler">The scheduler to use for the continuation.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.TaskContinuation.Run(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>
+ Invokes the continuation for the target completion task.
+ </summary>
+ <param name="completedTask">The completed task.</param>
+ <param name="bCanInlineContinuationTask">Whether the continuation can be inlined.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0})">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to this task.</param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and creation options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and creation options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and state.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the function.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to the new task.</param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the function.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the function.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a new future object.
+ </summary>
+ <param name="parent">The parent task for this future.</param>
+ <param name="valueSelector">A function that yields the future value.</param>
+ <param name="scheduler">The task scheduler which will be used to execute the future.</param>
+ <param name="cancellationToken">The CancellationToken for the task.</param>
+ <param name="creationOptions">Options to control the future's behavior.</param>
+ <param name="internalOptions">Internal options to control the future's behavior.</param>
+ <exception cref="T:ArgumentOutOfRangeException">The <paramref name="creationOptions"/> argument specifies
+ a SelfReplicating <see cref="T:System.Threading.Tasks.Task`1"/>, which is illegal."/&gt;.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a new future object.
+ </summary>
+ <param name="parent">The parent task for this future.</param>
+ <param name="state">An object containing data to be used by the action; may be null.</param>
+ <param name="valueSelector">A function that yields the future value.</param>
+ <param name="cancellationToken">The CancellationToken for the task.</param>
+ <param name="scheduler">The task scheduler which will be used to execute the future.</param>
+ <param name="creationOptions">Options to control the future's behavior.</param>
+ <param name="internalOptions">Internal options to control the future's behavior.</param>
+ <exception cref="T:ArgumentOutOfRangeException">The <paramref name="creationOptions"/> argument specifies
+ a SelfReplicating <see cref="T:System.Threading.Tasks.Task`1"/>, which is illegal."/&gt;.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.InvokeFuture(System.Object)">
+ <summary>
+ Evaluates the value selector of the Task which is passed in as an object and stores the result.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
+ instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
+ are not met, the continuation task will be canceled instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
+ task has completed, whether it completes due to running to completion successfully, faulting due
+ to an unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
+ task has completed, whether it completes due to running to completion successfully, faulting due
+ to an unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ <para>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
+ task has completed, whether it completes due to running to completion successfully, faulting due
+ to an unhandled exception, or exiting out early due to being canceled.
+ </para>
+ <para>
+ The <paramref name="continuationFunction"/>, when executed, should return a <see cref="T:System.Threading.Tasks.Task`1"/>. This task's completion state will be transferred to the task returned
+ from the ContinueWith call.
+ </para>
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be passed as
+ an argument this completed task.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ <para>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </para>
+ <para>
+ The <paramref name="continuationFunction"/>, when executed, should return a <see cref="T:System.Threading.Tasks.Task`1"/>.
+ This task's completion state will be transferred to the task returned from the
+ ContinueWith call.
+ </para>
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task`1.Result">
+ <summary>
+ Gets the result value of this <see cref="T:System.Threading.Tasks.Task`1"/>.
+ </summary>
+ <remarks>
+ The get accessor for this property ensures that the asynchronous operation is complete before
+ returning. Once the result of the computation is available, it is stored and will be returned
+ immediately on later calls to <see cref="P:System.Threading.Tasks.Task`1.Result"/>.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task`1.Factory">
+ <summary>
+ Provides access to factory methods for creating <see cref="T:System.Threading.Tasks.Task`1"/> instances.
+ </summary>
+ <remarks>
+ The factory returned from <see cref="P:System.Threading.Tasks.Task`1.Factory"/> is a default instance
+ of <see cref="T:System.Threading.Tasks.TaskFactory`1"/>, as would result from using
+ the default constructor on the factory type.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskFactory`1">
+ <summary>
+ Provides support for creating and scheduling
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task{TResult}</see> objects.
+ </summary>
+ <typeparam name="TResult">The type of the results that are available though
+ the <see cref="T:System.Threading.Tasks.Task{TResult}">Task{TResult}</see> objects that are associated with
+ the methods in this class.</typeparam>
+ <remarks>
+ <para>
+ There are many common patterns for which tasks are relevant. The <see cref="T:System.Threading.Tasks.TaskFactory`1"/>
+ class encodes some of these patterns into methods that pick up default settings, which are
+ configurable through its constructors.
+ </para>
+ <para>
+ A default instance of <see cref="T:System.Threading.Tasks.TaskFactory`1"/> is available through the
+ <see cref="P:System.Threading.Tasks.Task`1.Factory">Task{TResult}.Factory</see> property.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the default configuration.
+ </summary>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.CancellationToken)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the default configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
+ </summary>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any tasks created with this TaskFactory{TResult}. A null value
+ indicates that the current TaskScheduler should be used.
+ </param>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to <paramref name="scheduler"/>, unless it's null, in which case the property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
+ </summary>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory{TResult}.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory{TResult}.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argument specifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory{TResult}.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory{TResult}.
+ </param>
+ <param name="scheduler">
+ The default <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any Tasks created with this TaskFactory{TResult}. A null value
+ indicates that TaskScheduler.Current should be used.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argumentspecifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to
+ <paramref name="scheduler"/>, unless it's null, in which case the property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0})">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0})">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref name="asyncResult"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the task that executes the end method.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,``2,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref
+ name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.CancellationToken">
+ <summary>
+ Gets the default <see cref="T:System.Threading.CancellationToken">CancellationToken</see> of this
+ TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to all
+ tasks created by this factory unless another CancellationToken value is explicitly specified
+ during the call to the factory methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.Scheduler">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> of this
+ TaskFactory{TResult}.
+ </summary>
+ <remarks>
+ This property returns the default scheduler for this factory. It will be used to schedule all
+ tasks unless another scheduler is explicitly specified during calls to this factory's methods.
+ If null, <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>
+ will be used.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.CreationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions
+ </see> value of this TaskFactory{TResult}.
+ </summary>
+ <remarks>
+ This property returns the default creation options for this factory. They will be used to create all
+ tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.ContinuationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskContinuationOptions
+ </see> value of this TaskFactory{TResult}.
+ </summary>
+ <remarks>
+ This property returns the default continuation options for this factory. They will be used to create
+ all continuation tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskStatus">
+ <summary>
+ Represents the current stage in the lifecycle of a <see cref="T:System.Threading.Tasks.Task"/>.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Created">
+ <summary>
+ The task has been initialized but has not yet been scheduled.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.WaitingForActivation">
+ <summary>
+ The task is waiting to be activated and scheduled internally by the .NET Framework infrastructure.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.WaitingToRun">
+ <summary>
+ The task has been scheduled for execution but has not yet begun executing.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Running">
+ <summary>
+ The task is running but has not yet completed.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.WaitingForChildrenToComplete">
+ <summary>
+ The task has finished executing and is implicitly waiting for
+ attached child tasks to complete.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.RanToCompletion">
+ <summary>
+ The task completed execution successfully.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Canceled">
+ <summary>
+ The task acknowledged cancellation by throwing an OperationCanceledException2 with its own CancellationToken
+ while the token was in signaled state, or the task's CancellationToken was already signaled before the
+ task started executing.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Faulted">
+ <summary>
+ The task completed due to an unhandled exception.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskCreationOptions">
+ <summary>
+ Specifies flags that control optional behavior for the creation and execution of tasks.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.None">
+ <summary>
+ Specifies that the default behavior should be used.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.PreferFairness">
+ <summary>
+ A hint to a <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> to schedule a
+ task in as fair a manner as possible, meaning that tasks scheduled sooner will be more likely to
+ be run sooner, and tasks scheduled later will be more likely to be run later.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.LongRunning">
+ <summary>
+ Specifies that a task will be a long-running, course-grained operation. It provides a hint to the
+ <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> that oversubscription may be
+ warranted.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.AttachedToParent">
+ <summary>
+ Specifies that a task is attached to a parent in the task hierarchy.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.InternalTaskOptions">
+ <summary>
+ Task creation flags which are only used internally.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.InternalTaskOptions.None">
+ <summary> Specifies "No internal task options" </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.InternalTaskOptions.InternalOptionsMask">
+ <summary>Used to filter out internal vs. public task creation options.</summary>
+ </member>
+ <member name="F:System.Threading.Tasks.InternalTaskOptions.QueuedByRuntime">
+ <summary>Specifies that the task will be queued by the runtime before handing it over to the user.
+ This flag will be used to skip the cancellationtoken registration step, which is only meant for unstarted tasks.</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskContinuationOptions">
+ <summary>
+ Specifies flags that control optional behavior for the creation and execution of continuation tasks.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.None">
+ <summary>
+ Default = "Continue on any, no task options, run asynchronously"
+ Specifies that the default behavior should be used. Continuations, by default, will
+ be scheduled when the antecedent task completes, regardless of the task's final <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see>.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.PreferFairness">
+ <summary>
+ A hint to a <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> to schedule a
+ task in as fair a manner as possible, meaning that tasks scheduled sooner will be more likely to
+ be run sooner, and tasks scheduled later will be more likely to be run later.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.LongRunning">
+ <summary>
+ Specifies that a task will be a long-running, course-grained operation. It provides
+ a hint to the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> that
+ oversubscription may be warranted.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.AttachedToParent">
+ <summary>
+ Specifies that a task is attached to a parent in the task hierarchy.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnRanToCompletion">
+ <summary>
+ Specifies that the continuation task should not be scheduled if its antecedent ran to completion.
+ This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnFaulted">
+ <summary>
+ Specifies that the continuation task should not be scheduled if its antecedent threw an unhandled
+ exception. This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnCanceled">
+ <summary>
+ Specifies that the continuation task should not be scheduled if its antecedent was canceled. This
+ option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnRanToCompletion">
+ <summary>
+ Specifies that the continuation task should be scheduled only if its antecedent ran to
+ completion. This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnFaulted">
+ <summary>
+ Specifies that the continuation task should be scheduled only if its antecedent threw an
+ unhandled exception. This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">
+ <summary>
+ Specifies that the continuation task should be scheduled only if its antecedent was canceled.
+ This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">
+ <summary>
+ Specifies that the continuation task should be executed synchronously. With this option
+ specified, the continuation will be run on the same thread that causes the antecedent task to
+ transition into its final state. If the antecedent is already complete when the continuation is
+ created, the continuation will run on the thread creating the continuation. Only very
+ short-running continuations should be executed synchronously.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskCanceledException">
+ <summary>
+ Represents an exception used to communicate task cancellation.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> class.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
+ class with a specified error message.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.String,System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
+ class with a specified error message and a reference to the inner exception that is the cause of
+ this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.Threading.Tasks.Task)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> class
+ with a reference to the <see cref="T:System.Threading.Tasks.Task"/> that has been canceled.
+ </summary>
+ <param name="task">A task that has been canceled.</param>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskCanceledException.Task">
+ <summary>
+ Gets the task associated with this exception.
+ </summary>
+ <remarks>
+ It is permissible for no Task to be associated with a
+ <see cref="T:System.Threading.Tasks.TaskCanceledException"/>, in which case
+ this property will return null.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskCompletionSource`1">
+ <summary>
+ Represents the producer side of a <see cref="T:System.Threading.Tasks.Task{TResult}"/> unbound to a
+ delegate, providing access to the consumer side through the <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> property.
+ </summary>
+ <remarks>
+ <para>
+ It is often the case that a <see cref="T:System.Threading.Tasks.Task{TResult}"/> is desired to
+ represent another asynchronous operation.
+ <see cref="T:System.Threading.Tasks.TaskCompletionSource`1">TaskCompletionSource</see> is provided for this purpose. It enables
+ the creation of a task that can be handed out to consumers, and those consumers can use the members
+ of the task as they would any other. However, unlike most tasks, the state of a task created by a
+ TaskCompletionSource is controlled explicitly by the methods on TaskCompletionSource. This enables the
+ completion of the external asynchronous operation to be propagated to the underlying Task. The
+ separation also ensures that consumers are not able to transition the state without access to the
+ corresponding TaskCompletionSource.
+ </para>
+ <para>
+ All members of <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/> are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ </remarks>
+ <typeparam name="TResult">The type of the result value assocatied with this <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.</typeparam>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>
+ with the specified options.
+ </summary>
+ <remarks>
+ The <see cref="T:System.Threading.Tasks.Task{TResult}"/> created
+ by this instance and accessible through its <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> property
+ will be instantiated using the specified <paramref name="creationOptions"/>.
+ </remarks>
+ <param name="creationOptions">The options to use when creating the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> represent options invalid for use
+ with a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>
+ with the specified state.
+ </summary>
+ <param name="state">The state to use as the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>'s AsyncState.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/> with
+ the specified state and options.
+ </summary>
+ <param name="creationOptions">The options to use when creating the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">The state to use as the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>'s AsyncState.</param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> represent options invalid for use
+ with a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetException(System.Exception)">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exception">The exception to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetException(System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exceptions">The collection of exceptions to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exceptions"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">There are one or more null elements in <paramref name="exceptions"/>.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="exceptions"/> collection is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Exception)">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exception">The exception to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exceptions">The collection of exceptions to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exceptions"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">There are one or more null elements in <paramref name="exceptions"/>.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetResult(`0)">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>
+ state.
+ </summary>
+ <param name="result">The result value to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetResult(`0)">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>
+ state.
+ </summary>
+ <param name="result">The result value to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetCanceled">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>
+ state.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetCanceled">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>
+ state.
+ </summary>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskCompletionSource`1.Task">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.Task{TResult}"/> created
+ by this <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </summary>
+ <remarks>
+ This property enables a consumer access to the <see cref="T:System.Threading.Tasks.Task{TResult}"/> that is controlled by this instance.
+ The <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetResult(`0)"/>, <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Exception)"/>,
+ <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Collections.Generic.IEnumerable{System.Exception})"/>, and <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetCanceled"/>
+ methods (and their "Try" variants) on this instance all result in the relevant state
+ transitions on this underlying Task.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskExceptionHolder">
+ <summary>
+ An exception holder manages a list of exceptions for one particular task.
+ It offers the ability to aggregate, but more importantly, also offers intrinsic
+ support for propagating unhandled exceptions that are never observed. It does
+ this by aggregating and throwing if the holder is ever GC'd without the holder's
+ contents ever having been requested (e.g. by a Task.Wait, Task.get_Exception, etc).
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.#ctor(System.Threading.Tasks.Task)">
+ <summary>
+ Creates a new holder; it will be registered for finalization.
+ </summary>
+ <param name="task">The task this holder belongs to.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.Finalize">
+ <summary>
+ A finalizer that repropagates unhandled exceptions.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.Add(System.Object)">
+ <summary>
+ Add an exception to the internal list. This will ensure the holder is
+ in the proper state (handled/unhandled) depending on the list's contents.
+ </summary>
+ <param name="exceptionObject">An exception object (either an Exception or an
+ IEnumerable{Exception}) to add to the list.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.MarkAsUnhandled">
+ <summary>
+ A private helper method that ensures the holder is considered
+ unhandled, i.e. it is registered for finalization.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.MarkAsHandled(System.Boolean)">
+ <summary>
+ A private helper method that ensures the holder is considered
+ handled, i.e. it is not registered for finalization.
+ </summary>
+ <param name="calledFromFinalizer">Whether this is called from the finalizer thread.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.CreateExceptionObject(System.Boolean,System.Exception)">
+ <summary>
+ Allocates a new aggregate exception and adds the contents of the list to
+ it. By calling this method, the holder assumes exceptions to have been
+ "observed", such that the finalization check will be subsequently skipped.
+ </summary>
+ <param name="calledFromFinalizer">Whether this is being called from a finalizer.</param>
+ <param name="includeThisException">An extra exception to be included (optionally).</param>
+ <returns>The aggregate exception to throw.</returns>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskExtensions">
+ <summary>
+ Provides a set of static (Shared in Visual Basic) methods for working with specific kinds of
+ <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExtensions.Unwrap(System.Threading.Tasks.Task{System.Threading.Tasks.Task})">
+ <summary>
+ Creates a proxy <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation of a Task{Task}.
+ </summary>
+ <remarks>
+ It is often useful to be able to return a Task from a <see cref="T:System.Threading.Tasks.Task`1">
+ Task{TResult}</see>, where the inner Task represents work done as part of the outer Task{TResult}. However,
+ doing so results in a Task{Task}, which, if not dealt with carefully, could produce unexpected behavior. Unwrap
+ solves this problem by creating a proxy Task that represents the entire asynchronous operation of such a Task{Task}.
+ </remarks>
+ <param name="task">The Task{Task} to unwrap.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown if the
+ <paramref name="task"/> argument is null.</exception>
+ <returns>A Task that represents the asynchronous operation of the provided Task{Task}.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExtensions.Unwrap``1(System.Threading.Tasks.Task{System.Threading.Tasks.Task{``0}})">
+ <summary>
+ Creates a proxy <see cref="T:System.Threading.Tasks.Task`1">Task{TResult}</see> that represents the
+ asynchronous operation of a Task{Task{TResult}}.
+ </summary>
+ <remarks>
+ It is often useful to be able to return a Task{TResult} from a Task{TResult}, where the inner Task{TResult}
+ represents work done as part of the outer Task{TResult}. However, doing so results in a Task{Task{TResult}},
+ which, if not dealt with carefully, could produce unexpected behavior. Unwrap solves this problem by
+ creating a proxy Task{TResult} that represents the entire asynchronous operation of such a Task{Task{TResult}}.
+ </remarks>
+ <param name="task">The Task{Task{TResult}} to unwrap.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown if the
+ <paramref name="task"/> argument is null.</exception>
+ <returns>A Task{TResult} that represents the asynchronous operation of the provided Task{Task{TResult}}.</returns> /// <summary>Unwraps a Task that returns another Task.</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskFactory">
+ <summary>
+ Provides support for creating and scheduling
+ <see cref="T:System.Threading.Tasks.Task">Tasks</see>.
+ </summary>
+ <remarks>
+ <para>
+ There are many common patterns for which tasks are relevant. The <see cref="T:System.Threading.Tasks.TaskFactory"/>
+ class encodes some of these patterns into methods that pick up default settings, which are
+ configurable through its constructors.
+ </para>
+ <para>
+ A default instance of <see cref="T:System.Threading.Tasks.TaskFactory"/> is available through the
+ <see cref="P:System.Threading.Tasks.Task.Factory">Task.Factory</see> property.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the default configuration.
+ </summary>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.CancellationToken)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any tasks created with this TaskFactory. A null value
+ indicates that the current TaskScheduler should be used.
+ </param>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to <paramref name="scheduler"/>, unless it's null, in which case the property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argument specifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory.
+ </param>
+ <param name="scheduler">
+ The default <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any Tasks created with this TaskFactory. A null value
+ indicates that TaskScheduler.Current should be used.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argumentspecifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to
+ <paramref name="scheduler"/>, unless it's null, in which case the property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors
+ and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution. However,
+ unless creation and scheduling must be separated, StartNew is the recommended
+ approach for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors
+ and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution. However,
+ unless creation and scheduling must be separated, StartNew is the recommended
+ approach for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0})">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult})">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
+ when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The action delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
+ operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
+ when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The action delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
+ operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
+ when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The action delegate that processes the completed <paramref name="asyncResult"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the task that executes the end method.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
+ operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,``2,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0})">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref name="asyncResult"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the task that executes the end method.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``0},System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``1},``0,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``1},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``2},``0,``1,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``2},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``4(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``3},``0,``1,``2,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``4(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``3},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.CheckFromAsyncOptions(System.Threading.Tasks.TaskCreationOptions,System.Boolean)">
+ <summary>
+ Check validity of options passed to FromAsync method
+ </summary>
+ <param name="creationOptions">The options to be validated.</param>
+ <param name="hasBeginMethod">determines type of FromAsync method that called this method</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref
+ name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.CancellationToken">
+ <summary>
+ Gets the default <see cref="T:System.Threading.CancellationToken">CancellationToken</see> of this
+ TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to all
+ tasks created by this factory unless another CancellationToken value is explicitly specified
+ during the call to the factory methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.Scheduler">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> of this
+ TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default scheduler for this factory. It will be used to schedule all
+ tasks unless another scheduler is explicitly specified during calls to this factory's methods.
+ If null, <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>
+ will be used.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.CreationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions
+ </see> value of this TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default creation options for this factory. They will be used to create all
+ tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.ContinuationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskContinuationOptions
+ </see> value of this TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default continuation options for this factory. They will be used to create
+ all continuation tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskScheduler">
+ <summary>
+ Represents an abstract scheduler for tasks.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> acts as the extension point for all
+ pluggable scheduling logic. This includes mechanisms such as how to schedule a task for execution, and
+ how scheduled tasks should be exposed to debuggers.
+ </para>
+ <para>
+ All members of the abstract <see cref="T:System.Threading.Tasks.TaskScheduler"/> type are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)">
+ <summary>
+ Queues a <see cref="T:System.Threading.Tasks.Task">Task</see> to the scheduler.
+ </summary>
+ <remarks>
+ <para>
+ A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ implements this method to accept tasks being scheduled on the scheduler.
+ A typical implementation would store the task in an internal data structure, which would
+ be serviced by threads that would execute those tasks at some time in the future.
+ </para>
+ <para>
+ This method is only meant to be called by the .NET Framework and
+ should not be called directly by the derived class. This is necessary
+ for maintaining the consistency of the system.
+ </para>
+ </remarks>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be queued.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>
+ Determines whether the provided <see cref="T:System.Threading.Tasks.Task">Task</see>
+ can be executed synchronously in this call, and if it can, executes it.
+ </summary>
+ <remarks>
+ <para>
+ A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> implements this function to
+ support inline execution of a task on a thread that initiates a wait on that task object. Inline
+ execution is optional, and the request may be rejected by returning false. However, better
+ scalability typically results the more tasks that can be inlined, and in fact a scheduler that
+ inlines too little may be prone to deadlocks. A proper implementation should ensure that a
+ request executing under the policies guaranteed by the scheduler can successfully inline. For
+ example, if a scheduler uses a dedicated thread to execute tasks, any inlining requests from that
+ thread should succeed.
+ </para>
+ <para>
+ If a scheduler decides to perform the inline execution, it should do so by calling to the base
+ TaskScheduler's
+ <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)">TryExecuteTask</see> method with the provided task object, propagating
+ the return value. It may also be appropriate for the scheduler to remove an inlined task from its
+ internal data structures if it decides to honor the inlining request. Note, however, that under
+ some circumstances a scheduler may be asked to inline a task that was not previously provided to
+ it with the <see cref="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)"/> method.
+ </para>
+ <para>
+ The derived scheduler is responsible for making sure that the calling thread is suitable for
+ executing the given task as far as its own scheduling and execution policies are concerned.
+ </para>
+ </remarks>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be
+ executed.</param>
+ <param name="taskWasPreviouslyQueued">A Boolean denoting whether or not task has previously been
+ queued. If this parameter is True, then the task may have been previously queued (scheduled); if
+ False, then the task is known not to have been queued, and this call is being made in order to
+ execute the task inline without queueing it.</param>
+ <returns>A Boolean value indicating whether the task was executed inline.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is
+ null.</exception>
+ <exception cref="T:System.InvalidOperationException">The <paramref name="task"/> was already
+ executed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasks">
+ <summary>
+ Generates an enumerable of <see cref="T:System.Threading.Tasks.Task">Task</see> instances
+ currently queued to the scheduler waiting to be executed.
+ </summary>
+ <remarks>
+ <para>
+ A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler"/> implements this method in order to support
+ integration with debuggers. This method will only be invoked by the .NET Framework when the
+ debugger requests access to the data. The enumerable returned will be traversed by debugging
+ utilities to access the tasks currently queued to this scheduler, enabling the debugger to
+ provide a representation of this information in the user interface.
+ </para>
+ <para>
+ It is important to note that, when this method is called, all other threads in the process will
+ be frozen. Therefore, it's important to avoid synchronization with other threads that may lead to
+ blocking. If synchronization is necessary, the method should prefer to throw a <see cref="T:System.NotSupportedException"/>
+ than to block, which could cause a debugger to experience delays. Additionally, this method and
+ the enumerable returned must not modify any globally visible state.
+ </para>
+ <para>
+ The returned enumerable should never be null. If there are currently no queued tasks, an empty
+ enumerable should be returned instead.
+ </para>
+ <para>
+ For developers implementing a custom debugger, this method shouldn't be called directly, but
+ rather this functionality should be accessed through the internal wrapper method
+ GetScheduledTasksForDebugger:
+ <c>internal Task[] GetScheduledTasksForDebugger()</c>. This method returns an array of tasks,
+ rather than an enumerable. In order to retrieve a list of active schedulers, a debugger may use
+ another internal method: <c>internal static TaskScheduler[] GetTaskSchedulersForDebugger()</c>.
+ This static method returns an array of all active TaskScheduler instances.
+ GetScheduledTasksForDebugger then may be used on each of these scheduler instances to retrieve
+ the list of scheduled tasks for each.
+ </para>
+ </remarks>
+ <returns>An enumerable that allows traversal of tasks currently queued to this scheduler.
+ </returns>
+ <exception cref="T:System.NotSupportedException">
+ This scheduler is unable to generate a list of queued tasks at this time.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetThreadStatics">
+ <summary>
+ Retrieves some thread static state that can be cached and passed to multiple
+ TryRunInline calls, avoiding superflous TLS fetches.
+ </summary>
+ <returns>A bag of TLS state (or null if none exists).</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task,System.Boolean,System.Object)">
+ <summary>
+ Attempts to execute the target task synchronously.
+ </summary>
+ <param name="task">The task to run.</param>
+ <param name="taskWasPreviouslyQueued">True if the task may have been previously queued,
+ false if the task was absolutely not previously queued.</param>
+ <param name="threadStatics">The state retrieved from GetThreadStatics</param>
+ <returns>True if it ran, false otherwise.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryDequeue(System.Threading.Tasks.Task)">
+ <summary>
+ Attempts to dequeue a <see cref="T:System.Threading.Tasks.Task">Task</see> that was previously queued to
+ this scheduler.
+ </summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be dequeued.</param>
+ <returns>A Boolean denoting whether the <paramref name="task"/> argument was successfully dequeued.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.NotifyWorkItemProgress">
+ <summary>
+ Notifies the scheduler that a work item has made progress.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.#ctor">
+ <summary>
+ Initializes the <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.Finalize">
+ <summary>
+ Frees all resources associated with this scheduler.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.FromCurrentSynchronizationContext">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskScheduler"/>
+ associated with the current <see cref="T:System.Threading.SynchronizationContext"/>.
+ </summary>
+ <remarks>
+ All <see cref="T:System.Threading.Tasks.Task">Task</see> instances queued to
+ the returned scheduler will be executed through a call to the
+ <see cref="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)">Post</see> method
+ on that context.
+ </remarks>
+ <returns>
+ A <see cref="T:System.Threading.Tasks.TaskScheduler"/> associated with
+ the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see>, as
+ determined by <see cref="P:System.Threading.SynchronizationContext.Current">SynchronizationContext.Current</see>.
+ </returns>
+ <exception cref="T:System.InvalidOperationException">
+ The current SynchronizationContext may not be used as a TaskScheduler.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)">
+ <summary>
+ Attempts to execute the provided <see cref="T:System.Threading.Tasks.Task">Task</see>
+ on this scheduler.
+ </summary>
+ <remarks>
+ <para>
+ Scheduler implementations are provided with <see cref="T:System.Threading.Tasks.Task">Task</see>
+ instances to be executed through either the <see cref="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)"/> method or the
+ <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)"/> method. When the scheduler deems it appropriate to run the
+ provided task, <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)"/> should be used to do so. TryExecuteTask handles all
+ aspects of executing a task, including action invocation, exception handling, state management,
+ and lifecycle control.
+ </para>
+ <para>
+ <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)"/> must only be used for tasks provided to this scheduler by the .NET
+ Framework infrastructure. It should not be used to execute arbitrary tasks obtained through
+ custom mechanisms.
+ </para>
+ </remarks>
+ <param name="task">
+ A <see cref="T:System.Threading.Tasks.Task">Task</see> object to be executed.</param>
+ <exception cref="T:System.InvalidOperationException">
+ The <paramref name="task"/> is not associated with this scheduler.
+ </exception>
+ <returns>A Boolean that is true if <paramref name="task"/> was successfully executed, false if it
+ was not. A common reason for execution failure is that the task had previously been executed or
+ is in the process of being executed by another thread.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasksForDebugger">
+ <summary>
+ Provides an array of all queued <see cref="T:System.Threading.Tasks.Task">Task</see> instances
+ for the debugger.
+ </summary>
+ <remarks>
+ The returned array is populated through a call to <see cref="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasks"/>.
+ Note that this function is only meant to be invoked by a debugger remotely.
+ It should not be called by any other codepaths.
+ </remarks>
+ <returns>An array of <see cref="T:System.Threading.Tasks.Task">Task</see> instances.</returns>
+ <exception cref="T:System.NotSupportedException">
+ This scheduler is unable to generate a list of queued tasks at this time.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetTaskSchedulersForDebugger">
+ <summary>
+ Provides an array of all active <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ instances for the debugger.
+ </summary>
+ <remarks>
+ This function is only meant to be invoked by a debugger remotely.
+ It should not be called by any other codepaths.
+ </remarks>
+ <returns>An array of <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> instances.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.RegisterTaskScheduler(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Registers a new TaskScheduler instance in the global collection of schedulers.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.UnregisterTaskScheduler(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Removes a TaskScheduler instance from the global collection of schedulers.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.MaximumConcurrencyLevel">
+ <summary>
+ Indicates the maximum concurrency level this
+ <see cref="T:System.Threading.Tasks.TaskScheduler"/> is able to support.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.RequiresAtomicStartTransition">
+ <summary>
+ Indicates whether this is a custom scheduler, in which case the safe code paths will be taken upon task entry
+ using a CAS to transition from queued state to executing.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.Default">
+ <summary>
+ Gets the default <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> instance.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.Current">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ associated with the currently executing task.
+ </summary>
+ <remarks>
+ When not called from within a task, <see cref="P:System.Threading.Tasks.TaskScheduler.Current"/> will return the <see cref="P:System.Threading.Tasks.TaskScheduler.Default"/> scheduler.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.Id">
+ <summary>
+ Gets the unique ID for this <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
+ </summary>
+ </member>
+ <member name="E:System.Threading.Tasks.TaskScheduler.UnobservedTaskException">
+ <summary>
+ Occurs when a faulted <see cref="T:System.Threading.Tasks.Task"/>'s unobserved exception is about to trigger exception escalation
+ policy, which, by default, would terminate the process.
+ </summary>
+ <remarks>
+ This AppDomain-wide event provides a mechanism to prevent exception
+ escalation policy (which, by default, terminates the process) from triggering.
+ Each handler is passed a <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/>
+ instance, which may be used to examine the exception and to mark it as observed.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskScheduler.SystemThreadingTasks_TaskSchedulerDebugView">
+ <summary>
+ Nested class that provides debugger view for TaskScheduler
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.ThreadPoolTaskScheduler">
+ <summary>Default thread pool scheduler.</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.SynchronizationContextTaskScheduler">
+ <summary>
+ A TaskScheduler implementation that executes all tasks queued to it through a call to
+ <see cref="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)"/> on the <see cref="T:System.Threading.SynchronizationContext"/>
+ that its associated with. The default constructor for this class binds to the current <see cref="T:System.Threading.SynchronizationContext"/>
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.#ctor">
+ <summary>
+ Constructs a SynchronizationContextTaskScheduler associated with <see cref="T:System.Threading.SynchronizationContext.Current"/>
+ </summary>
+ <exception cref="T:System.InvalidOperationException">This constructor expects <see cref="T:System.Threading.SynchronizationContext.Current"/> to be set.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
+ <summary>
+ Implemetation of <see cref="T:System.Threading.Tasks.TaskScheduler.QueueTask"/> for this scheduler class.
+
+ Simply posts the tasks to be executed on the associated <see cref="T:System.Threading.SynchronizationContext"/>.
+ </summary>
+ <param name="task"></param>
+ </member>
+ <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>
+ Implementation of <see cref="T:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline"/> for this scheduler class.
+
+ The task will be executed inline only if the call happens within
+ the associated <see cref="T:System.Threading.SynchronizationContext"/>.
+ </summary>
+ <param name="task"></param>
+ <param name="taskWasPreviouslyQueued"></param>
+ </member>
+ <member name="P:System.Threading.Tasks.SynchronizationContextTaskScheduler.MaximumConcurrencyLevel">
+ <summary>
+ Implementes the <see cref="T:System.Threading.Tasks.TaskScheduler.MaximumConcurrencyLevel"/> property for
+ this scheduler class.
+
+ By default it returns 1, because a <see cref="T:System.Threading.SynchronizationContext"/> based
+ scheduler only supports execution on a single thread.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs">
+ <summary>
+ Provides data for the event that is raised when a faulted <see cref="T:System.Threading.Tasks.Task"/>'s
+ exception goes unobserved.
+ </summary>
+ <remarks>
+ The Exception property is used to examine the exception without marking it
+ as observed, whereas the <see cref="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.SetObserved"/> method is used to mark the exception
+ as observed. Marking the exception as observed prevents it from triggering exception escalation policy
+ which, by default, terminates the process.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.#ctor(System.AggregateException)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/> class
+ with the unobserved exception.
+ </summary>
+ <param name="exception">The Exception that has gone unobserved.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.SetObserved">
+ <summary>
+ Marks the <see cref="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Exception"/> as "observed," thus preventing it
+ from triggering exception escalation policy which, by default, terminates the process.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Observed">
+ <summary>
+ Gets whether this exception has been marked as "observed."
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Exception">
+ <summary>
+ The Exception that went unobserved.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskSchedulerException">
+ <summary>
+ Represents an exception used to communicate an invalid operation by a
+ <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/> class.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
+ class with a specified error message.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
+ class using the default error message and a reference to the inner exception that is the cause of
+ this exception.
+ </summary>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.String,System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
+ class with a specified error message and a reference to the inner exception that is the cause of
+ this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/ensureRedirect.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/ensureRedirect.xml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp71/ensureRedirect.xml
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/System.Runtime.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/System.Runtime.dll
new file mode 100644
index 0000000..fa831ad
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/System.Runtime.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/System.Runtime.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/System.Runtime.xml
new file mode 100644
index 0000000..93cb00d
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/System.Runtime.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Runtime</name>
+ </assembly>
+ <members>
+ <member name="T:System.IProgress`1">
+ <summary>Defines a provider for progress updates.</summary>
+ <typeparam name="T">The type of progress update value.</typeparam>
+ </member>
+ <member name="M:System.IProgress`1.Report(`0)">
+ <summary>Reports a progress update.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncStateMachineAttribute">
+ <summary>Identities the async state machine type for this method.</summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.StateMachineAttribute">
+ <summary>Identities the state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.StateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.StateMachineAttribute.StateMachineType">
+ <summary>Gets the type that implements the state machine.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerMemberNameAttribute">
+ <summary>
+ Allows you to obtain the method or property name of the caller to the method.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerLineNumberAttribute">
+ <summary>
+ Allows you to obtain the line number in the source file at which the method is called.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerFilePathAttribute">
+ <summary>
+ Allows you to obtain the full path of the source file that contains the caller.
+ This is the file path at the time of compile.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IteratorStateMachineAttribute">
+ <summary>Identities the iterator state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IteratorStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/System.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/System.Threading.Tasks.dll
new file mode 100644
index 0000000..74f5e2c
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/System.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/System.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/System.Threading.Tasks.xml
new file mode 100644
index 0000000..6c77012
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/System.Threading.Tasks.xml
@@ -0,0 +1,8969 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:System.AggregateException">
+ <summary>Represents one or more errors that occur during application execution.</summary>
+ <remarks>
+ <see cref="T:System.AggregateException"/> is used to consolidate multiple failures into a single, throwable
+ exception object.
+ </remarks>
+ </member>
+ <member name="M:System.AggregateException.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class.
+ </summary>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
+ a specified error message.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
+ message and a reference to the inner exception that is the cause of this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerException"/> argument
+ is null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
+ references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.Exception[])">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
+ references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
+ message and references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Exception[])">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
+ message and references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Collections.Generic.IList{System.Exception})">
+ <summary>
+ Allocates a new aggregate exception with the specified message and list of inner exceptions.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.GetBaseException">
+ <summary>
+ Returns the <see cref="T:System.AggregateException"/> that is the root cause of this exception.
+ </summary>
+ </member>
+ <member name="M:System.AggregateException.Handle(System.Func{System.Exception,System.Boolean})">
+ <summary>
+ Invokes a handler on each <see cref="T:System.Exception"/> contained by this <see cref="T:System.AggregateException"/>.
+ </summary>
+ <param name="predicate">The predicate to execute for each exception. The predicate accepts as an
+ argument the <see cref="T:System.Exception"/> to be processed and returns a Boolean to indicate
+ whether the exception was handled.</param>
+ <remarks>
+ Each invocation of the <paramref name="predicate"/> returns true or false to indicate whether the
+ <see cref="T:System.Exception"/> was handled. After all invocations, if any exceptions went
+ unhandled, all unhandled exceptions will be put into a new <see cref="T:System.AggregateException"/>
+ which will be thrown. Otherwise, the <see cref="M:System.AggregateException.Handle(System.Func{System.Exception,System.Boolean})"/> method simply returns. If any
+ invocations of the <paramref name="predicate"/> throws an exception, it will halt the processing
+ of any more exceptions and immediately propagate the thrown exception as-is.
+ </remarks>
+ <exception cref="T:System.AggregateException">An exception contained by this <see cref="T:System.AggregateException"/> was not handled.</exception>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="predicate"/> argument is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.Flatten">
+ <summary>
+ Flattens an <see cref="T:System.AggregateException"/> instances into a single, new instance.
+ </summary>
+ <returns>A new, flattened <see cref="T:System.AggregateException"/>.</returns>
+ <remarks>
+ If any inner exceptions are themselves instances of
+ <see cref="T:System.AggregateException"/>, this method will recursively flatten all of them. The
+ inner exceptions returned in the new <see cref="T:System.AggregateException"/>
+ will be the union of all of the the inner exceptions from exception tree rooted at the provided
+ <see cref="T:System.AggregateException"/> instance.
+ </remarks>
+ </member>
+ <member name="M:System.AggregateException.ToString">
+ <summary>
+ Creates and returns a string representation of the current <see cref="T:System.AggregateException"/>.
+ </summary>
+ <returns>A string representation of the current exception.</returns>
+ </member>
+ <member name="P:System.AggregateException.InnerExceptions">
+ <summary>
+ Gets a read-only collection of the <see cref="T:System.Exception"/> instances that caused the
+ current exception.
+ </summary>
+ </member>
+ <member name="T:System.Strings">
+ <summary>
+ A strongly-typed resource class, for looking up localized strings, etc.
+ </summary>
+ </member>
+ <member name="P:System.Strings.ResourceManager">
+ <summary>
+ Returns the cached ResourceManager instance used by this class.
+ </summary>
+ </member>
+ <member name="P:System.Strings.Culture">
+ <summary>
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+ </summary>
+ </member>
+ <member name="P:System.Strings.AggregateException_ctor_DefaultMessage">
+ <summary>
+ Looks up a localized string similar to One or more errors occurred..
+ </summary>
+ </member>
+ <member name="P:System.Strings.AggregateException_ctor_InnerExceptionNull">
+ <summary>
+ Looks up a localized string similar to An element of innerExceptions was null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.AggregateException_ToString">
+ <summary>
+ Looks up a localized string similar to {0}{1}---&gt; (Inner Exception #{2}) {3}{4}{5}.
+ </summary>
+ </member>
+ <member name="P:System.Strings.CancellationToken_CreateLinkedToken_TokensIsEmpty">
+ <summary>
+ Looks up a localized string similar to No tokens were supplied..
+ </summary>
+ </member>
+ <member name="P:System.Strings.CancellationToken_SourceDisposed">
+ <summary>
+ Looks up a localized string similar to The CancellationTokenSource associated with this CancellationToken has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.CancellationTokenSource_Disposed">
+ <summary>
+ Looks up a localized string similar to The CancellationTokenSource has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentCollection_SyncRoot_NotSupported">
+ <summary>
+ Looks up a localized string similar to The SyncRoot property may not be used for the synchronization of concurrent collections..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ArrayIncorrectType">
+ <summary>
+ Looks up a localized string similar to The array is multidimensional, or the type parameter for the set cannot be cast automatically to the type of the destination array..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ArrayNotLargeEnough">
+ <summary>
+ Looks up a localized string similar to The index is equal to or greater than the length of the array, or the number of elements in the dictionary is greater than the available space from index to the end of the destination array..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_CapacityMustNotBeNegative">
+ <summary>
+ Looks up a localized string similar to The capacity argument must be greater than or equal to zero..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ConcurrencyLevelMustBePositive">
+ <summary>
+ Looks up a localized string similar to The concurrencyLevel argument must be positive..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_IndexIsNegative">
+ <summary>
+ Looks up a localized string similar to The index argument is less than zero..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ItemKeyIsNull">
+ <summary>
+ Looks up a localized string similar to TKey is a reference type and item.Key is null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_KeyAlreadyExisted">
+ <summary>
+ Looks up a localized string similar to The key already existed in the dictionary..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_SourceContainsDuplicateKeys">
+ <summary>
+ Looks up a localized string similar to The source argument contains duplicate keys..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_TypeOfKeyIncorrect">
+ <summary>
+ Looks up a localized string similar to The key was of an incorrect type for this dictionary..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_TypeOfValueIncorrect">
+ <summary>
+ Looks up a localized string similar to The value was of an incorrect type for this dictionary..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Lazy_CreateValue_NoParameterlessCtorForT">
+ <summary>
+ Looks up a localized string similar to The lazily-initialized type does not have a public, parameterless constructor..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Lazy_StaticInit_InvalidOperation">
+ <summary>
+ Looks up a localized string similar to ValueFactory returned null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ManualResetEventSlim_ctor_SpinCountOutOfRange">
+ <summary>
+ Looks up a localized string similar to The spinCount argument must be in the range 0 to {0}, inclusive..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ManualResetEventSlim_ctor_TooManyWaiters">
+ <summary>
+ Looks up a localized string similar to There are too many threads currently waiting on the event. A maximum of {0} waiting threads are supported..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ManualResetEventSlim_Disposed">
+ <summary>
+ Looks up a localized string similar to The event has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.OperationCanceled">
+ <summary>
+ Looks up a localized string similar to The operation was canceled..
+ </summary>
+ </member>
+ <member name="P:System.Strings.SpinWait_SpinUntil_ArgumentNull">
+ <summary>
+ Looks up a localized string similar to The condition argument is null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.SpinWait_SpinUntil_TimeoutWrong">
+ <summary>
+ Looks up a localized string similar to The timeout must represent a value between -1 and Int32.MaxValue, inclusive..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ContinueWith_ESandLR">
+ <summary>
+ Looks up a localized string similar to The specified TaskContinuationOptions combined LongRunning and ExecuteSynchronously. Synchronous continuations should not be long running..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ContinueWith_NotOnAnything">
+ <summary>
+ Looks up a localized string similar to The specified TaskContinuationOptions excluded all continuation kinds..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ctor_LRandSR">
+ <summary>
+ Looks up a localized string similar to (Internal)An attempt was made to create a LongRunning SelfReplicating task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Delay_InvalidDelay">
+ <summary>
+ Looks up a localized string similar to The value needs to translate in milliseconds to -1 (signifying an infinite timeout), 0 or a positive integer less than or equal to Int32.MaxValue..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Delay_InvalidMillisecondsDelay">
+ <summary>
+ Looks up a localized string similar to The value needs to be either -1 (signifying an infinite timeout), 0 or a positive integer..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Dispose_NotCompleted">
+ <summary>
+ Looks up a localized string similar to A task may only be disposed if it is in a completion state (RanToCompletion, Faulted or Canceled)..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_LongRunning">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.LongRunning in calls to FromAsync..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_PreferFairness">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.PreferFairness in calls to FromAsync..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_SelfReplicating">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.SelfReplicating in calls to FromAsync..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_TaskManagerShutDown">
+ <summary>
+ Looks up a localized string similar to FromAsync was called with a TaskManager that had already shut down..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_MultiTaskContinuation_EmptyTaskList">
+ <summary>
+ Looks up a localized string similar to The tasks argument contains no tasks..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_MultiTaskContinuation_FireOptions">
+ <summary>
+ Looks up a localized string similar to It is invalid to exclude specific continuation kinds for continuations off of multiple tasks..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_MultiTaskContinuation_NullTask">
+ <summary>
+ Looks up a localized string similar to The tasks argument included a null value..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_AlreadyStarted">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a task that was already started..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_Continuation">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a continuation task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_Promise">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a task not bound to a delegate, such as the task returned from an asynchronous method..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_TaskCompleted">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a task that has already completed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_AlreadyStarted">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a task that was already started..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_ContinuationTask">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a continuation task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_NullAction">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a task with null action..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_Promise">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a promise-style task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_TaskCompleted">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a task that has completed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ThrowIfDisposed">
+ <summary>
+ Looks up a localized string similar to The task has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_WaitMulti_NullTask">
+ <summary>
+ Looks up a localized string similar to The tasks array included at least one null element..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskAwaiter_TaskNotCompleted">
+ <summary>
+ Looks up a localized string similar to The awaited task has not yet completed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskCanceledException_ctor_DefaultMessage">
+ <summary>
+ Looks up a localized string similar to A task was canceled..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskCompletionSourceT_TrySetException_NoExceptions">
+ <summary>
+ Looks up a localized string similar to The exceptions collection was empty..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskCompletionSourceT_TrySetException_NullException">
+ <summary>
+ Looks up a localized string similar to The exceptions collection included at least one null element..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskExceptionHolder_UnhandledException">
+ <summary>
+ Looks up a localized string similar to A Task&apos;s exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskExceptionHolder_UnknownExceptionType">
+ <summary>
+ Looks up a localized string similar to (Internal)Expected an Exception or an IEnumerable&lt;Exception&gt;.
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_ExecuteTask_TaskAlreadyExecuted">
+ <summary>
+ Looks up a localized string similar to ExecuteTask may not be called for a task which was already executed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_ExecuteTask_WrongTaskScheduler">
+ <summary>
+ Looks up a localized string similar to ExecuteTask may not be called for a task which was previously queued to a different TaskScheduler..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_FromCurrentSynchronizationContext_NoCurrent">
+ <summary>
+ Looks up a localized string similar to The current SynchronizationContext may not be used as a TaskScheduler..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_InconsistentStateAfterTryExecuteTaskInline">
+ <summary>
+ Looks up a localized string similar to The TryExecuteTaskInline call to the underlying scheduler succeeded, but the task body was not invoked..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskSchedulerException_ctor_DefaultMessage">
+ <summary>
+ Looks up a localized string similar to An exception was thrown by a TaskScheduler..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_ctor_SelfReplicating">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.SelfReplicating for a Task&lt;TResult&gt;..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_DebuggerNoResult">
+ <summary>
+ Looks up a localized string similar to {Not yet computed}.
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_SetException_HasAnInitializer">
+ <summary>
+ Looks up a localized string similar to A task&apos;s Exception may only be set directly if the task was created without a function..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_TransitionToFinal_AlreadyCompleted">
+ <summary>
+ Looks up a localized string similar to An attempt was made to transition a task to a final state when it had already completed..
+ </summary>
+ </member>
+ <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2">
+ <summary>
+ Represents a thread-safe collection of keys and values.
+ </summary>
+ <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
+ <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
+ <remarks>
+ All public and protected members of <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> are thread-safe and may be used
+ concurrently from multiple threads.
+ </remarks>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the default concurrency level, has the default initial capacity, and
+ uses the default comparer for the key type.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Int32)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the specified concurrency level and capacity, and uses the default
+ comparer for the key type.
+ </summary>
+ <param name="concurrencyLevel">The estimated number of threads that will update the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
+ <param name="capacity">The initial number of elements that the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ can contain.</param>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="concurrencyLevel"/> is
+ less than 1.</exception>
+ <exception cref="T:ArgumentOutOfRangeException"> <paramref name="capacity"/> is less than
+ 0.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/>, has the default concurrency
+ level, has the default initial capacity, and uses the default comparer for the key type.
+ </summary>
+ <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to
+ the new
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentException"><paramref name="collection"/> contains one or more
+ duplicate keys.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the specified concurrency level and capacity, and uses the specified
+ <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
+ implementation to use when comparing keys.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable"/>, has the default concurrency level, has the default
+ initial capacity, and uses the specified
+ <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to
+ the new
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
+ implementation to use when comparing keys.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is a null reference
+ (Nothing in Visual Basic). -or-
+ <paramref name="comparer"/> is a null reference (Nothing in Visual Basic).
+ </exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable"/>,
+ has the specified concurrency level, has the specified initial capacity, and uses the specified
+ <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="concurrencyLevel">The estimated number of threads that will update the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
+ <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to the new
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/> implementation to use
+ when comparing keys.</param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="collection"/> is a null reference (Nothing in Visual Basic).
+ -or-
+ <paramref name="comparer"/> is a null reference (Nothing in Visual Basic).
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="concurrencyLevel"/> is less than 1.
+ </exception>
+ <exception cref="T:System.ArgumentException"><paramref name="collection"/> contains one or more duplicate keys.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the specified concurrency level, has the specified initial capacity, and
+ uses the specified <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="concurrencyLevel">The estimated number of threads that will update the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
+ <param name="capacity">The initial number of elements that the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ can contain.</param>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
+ implementation to use when comparing keys.</param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="concurrencyLevel"/> is less than 1. -or-
+ <paramref name="capacity"/> is less than 0.
+ </exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryAdd(`0,`1)">
+ <summary>
+ Attempts to add the specified key and value to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <param name="key">The key of the element to add.</param>
+ <param name="value">The value of the element to add. The value can be a null reference (Nothing
+ in Visual Basic) for reference types.</param>
+ <returns>true if the key/value pair was added to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ successfully; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ contains too many elements.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ContainsKey(`0)">
+ <summary>
+ Determines whether the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> contains the specified
+ key.
+ </summary>
+ <param name="key">The key to locate in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <returns>true if the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> contains an element with
+ the specified key; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryRemove(`0,`1@)">
+ <summary>
+ Attempts to remove and return the the value with the specified key from the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <param name="key">The key of the element to remove and return.</param>
+ <param name="value">When this method returns, <paramref name="value"/> contains the object removed from the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> or the default value of <typeparamref name="TValue"/>
+ if the operation failed.</param>
+ <returns>true if an object was removed successfully; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryRemoveInternal(`0,`1@,System.Boolean,`1)">
+ <summary>
+ Removes the specified key from the dictionary if it exists and returns its associated value.
+ If matchValue flag is set, the key will be removed only if is associated with a particular
+ value.
+ </summary>
+ <param name="key">The key to search for and remove if it exists.</param>
+ <param name="value">The variable into which the removed value, if found, is stored.</param>
+ <param name="matchValue">Whether removal of the key is conditional on its value.</param>
+ <param name="oldValue">The conditional value to compare against if <paramref name="matchValue"/> is true</param>
+ <returns></returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryGetValue(`0,`1@)">
+ <summary>
+ Attempts to get the value associated with the specified key from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <param name="key">The key of the value to get.</param>
+ <param name="value">When this method returns, <paramref name="value"/> contains the object from
+ the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> with the spedified key or the default value of
+ <typeparamref name="TValue"/>, if the operation failed.</param>
+ <returns>true if the key was found in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>;
+ otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryUpdate(`0,`1,`1)">
+ <summary>
+ Compares the existing value for the specified key with a specified value, and if they’re equal,
+ updates the key with a third value.
+ </summary>
+ <param name="key">The key whose value is compared with <paramref name="comparisonValue"/> and
+ possibly replaced.</param>
+ <param name="newValue">The value that replaces the value of the element with <paramref
+ name="key"/> if the comparison results in equality.</param>
+ <param name="comparisonValue">The value that is compared to the value of the element with
+ <paramref name="key"/>.</param>
+ <returns>true if the value with <paramref name="key"/> was equal to <paramref
+ name="comparisonValue"/> and replaced with <paramref name="newValue"/>; otherwise,
+ false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null
+ reference.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.Clear">
+ <summary>
+ Removes all keys and values from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
+ <summary>
+ Copies the elements of the <see cref="T:System.Collections.Generic.ICollection"/> to an array of
+ type <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>, starting at the
+ specified array index.
+ </summary>
+ <param name="array">The one-dimensional array of type <see
+ cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ that is the destination of the <see
+ cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/> elements copied from the <see
+ cref="T:System.Collections.ICollection"/>. The array must have zero-based indexing.</param>
+ <param name="index">The zero-based index in <paramref name="array"/> at which copying
+ begins.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="index"/> is less than
+ 0.</exception>
+ <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than
+ the length of the <paramref name="array"/>. -or- The number of elements in the source <see
+ cref="T:System.Collections.ICollection"/>
+ is greater than the available space from <paramref name="index"/> to the end of the destination
+ <paramref name="array"/>.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ToArray">
+ <summary>
+ Copies the key and value pairs stored in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> to a
+ new array.
+ </summary>
+ <returns>A new array containing a snapshot of key and value pairs copied from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToPairs(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
+ <summary>
+ Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
+
+ Important: the caller must hold all locks in m_locks before calling CopyToPairs.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToEntries(System.Collections.DictionaryEntry[],System.Int32)">
+ <summary>
+ Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
+
+ Important: the caller must hold all locks in m_locks before calling CopyToEntries.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToObjects(System.Object[],System.Int32)">
+ <summary>
+ Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
+
+ Important: the caller must hold all locks in m_locks before calling CopyToObjects.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator">
+ <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</summary>
+ <returns>An enumerator for the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
+ <remarks>
+ The enumerator returned from the dictionary is safe to use concurrently with
+ reads and writes to the dictionary, however it does not represent a moment-in-time snapshot
+ of the dictionary. The contents exposed through the enumerator may contain modifications
+ made to the dictionary after <see cref="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator"/> was called.
+ </remarks>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryAddInternal(`0,`1,System.Boolean,System.Boolean,`1@)">
+ <summary>
+ Shared internal implementation for inserts and updates.
+ If key exists, we always return false; and if updateIfExists == true we force update with value;
+ If key doesn't exist, we always add value and return true;
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(`0,System.Func{`0,`1})">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ if the key does not already exist.
+ </summary>
+ <param name="key">The key of the element to add.</param>
+ <param name="valueFactory">The function used to generate a value for the key</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="valueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The value for the key. This will be either the existing value for the key if the
+ key is already in the dictionary, or the new value for the key as returned by valueFactory
+ if the key was not in the dictionary.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(`0,`1)">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ if the key does not already exist.
+ </summary>
+ <param name="key">The key of the element to add.</param>
+ <param name="value">the value to be added, if the key does not already exist</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The value for the key. This will be either the existing value for the key if the
+ key is already in the dictionary, or the new value if the key was not in the dictionary.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(`0,System.Func{`0,`1},System.Func{`0,`1,`1})">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key does not already
+ exist, or updates a key/value pair in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key
+ already exists.
+ </summary>
+ <param name="key">The key to be added or whose value should be updated</param>
+ <param name="addValueFactory">The function used to generate a value for an absent key</param>
+ <param name="updateValueFactory">The function used to generate a new value for an existing key
+ based on the key's existing value</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="addValueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="updateValueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The new value for the key. This will be either be the result of addValueFactory (if the key was
+ absent) or the result of updateValueFactory (if the key was present).</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(`0,`1,System.Func{`0,`1,`1})">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key does not already
+ exist, or updates a key/value pair in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key
+ already exists.
+ </summary>
+ <param name="key">The key to be added or whose value should be updated</param>
+ <param name="addValue">The value to be added for an absent key</param>
+ <param name="updateValueFactory">The function used to generate a new value for an existing key based on
+ the key's existing value</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="updateValueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The new value for the key. This will be either be the result of addValueFactory (if the key was
+ absent) or the result of updateValueFactory (if the key was present).</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Add(`0,`1)">
+ <summary>
+ Adds the specified key and value to the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </summary>
+ <param name="key">The object to use as the key of the element to add.</param>
+ <param name="value">The object to use as the value of the element to add.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <exception cref="T:System.ArgumentException">
+ An element with the same key already exists in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Remove(`0)">
+ <summary>
+ Removes the element with the specified key from the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </summary>
+ <param name="key">The key of the element to remove.</param>
+ <returns>true if the element is successfully remove; otherwise false. This method also returns
+ false if
+ <paramref name="key"/> was not found in the original <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Add(System.Collections.Generic.KeyValuePair{`0,`1})">
+ <summary>
+ Adds the specified value to the <see cref="T:System.Collections.Generic.ICollection{TValue}"/>
+ with the specified key.
+ </summary>
+ <param name="keyValuePair">The <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ structure representing the key and value to add to the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="keyValuePair"/> of <paramref
+ name="keyValuePair"/> is null.</exception>
+ <exception cref="T:System.OverflowException">The <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>
+ contains too many elements.</exception>
+ <exception cref="T:System.ArgumentException">An element with the same key already exists in the
+ <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/></exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
+ <summary>
+ Determines whether the <see cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/>
+ contains a specific key and value.
+ </summary>
+ <param name="keyValuePair">The <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ structure to locate in the <see
+ cref="T:System.Collections.Generic.ICollection{TValue}"/>.</param>
+ <returns>true if the <paramref name="keyValuePair"/> is found in the <see
+ cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/>; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
+ <summary>
+ Removes a key and value from the dictionary.
+ </summary>
+ <param name="keyValuePair">The <see
+ cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ structure representing the key and value to remove from the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</param>
+ <returns>true if the key and value represented by <paramref name="keyValuePair"/> is successfully
+ found and removed; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException">The Key property of <paramref
+ name="keyValuePair"/> is a null reference (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IEnumerable#GetEnumerator">
+ <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</summary>
+ <returns>An enumerator for the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
+ <remarks>
+ The enumerator returned from the dictionary is safe to use concurrently with
+ reads and writes to the dictionary, however it does not represent a moment-in-time snapshot
+ of the dictionary. The contents exposed through the enumerator may contain modifications
+ made to the dictionary after <see cref="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator"/> was called.
+ </remarks>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Add(System.Object,System.Object)">
+ <summary>
+ Adds the specified key and value to the dictionary.
+ </summary>
+ <param name="key">The object to use as the key.</param>
+ <param name="value">The object to use as the value.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <exception cref="T:System.ArgumentException">
+ <paramref name="key"/> is of a type that is not assignable to the key type <typeparamref
+ name="TKey"/> of the <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>. -or-
+ <paramref name="value"/> is of a type that is not assignable to <typeparamref name="TValue"/>,
+ the type of values in the <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ -or- A value with the same key already exists in the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ </exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Contains(System.Object)">
+ <summary>
+ Gets whether the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> contains an
+ element with the specified key.
+ </summary>
+ <param name="key">The key to locate in the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</param>
+ <returns>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> contains
+ an element with the specified key; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"> <paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#GetEnumerator">
+ <summary>Provides an <see cref="T:System.Collections.Generics.IDictionaryEnumerator"/> for the
+ <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</summary>
+ <returns>An <see cref="T:System.Collections.Generics.IDictionaryEnumerator"/> for the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Remove(System.Object)">
+ <summary>
+ Removes the element with the specified key from the <see
+ cref="T:System.Collections.IDictionary"/>.
+ </summary>
+ <param name="key">The key of the element to remove.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
+ <summary>
+ Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an array, starting
+ at the specified array index.
+ </summary>
+ <param name="array">The one-dimensional array that is the destination of the elements copied from
+ the <see cref="T:System.Collections.ICollection"/>. The array must have zero-based
+ indexing.</param>
+ <param name="index">The zero-based index in <paramref name="array"/> at which copying
+ begins.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="index"/> is less than
+ 0.</exception>
+ <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than
+ the length of the <paramref name="array"/>. -or- The number of elements in the source <see
+ cref="T:System.Collections.ICollection"/>
+ is greater than the available space from <paramref name="index"/> to the end of the destination
+ <paramref name="array"/>.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GrowTable(System.Collections.Concurrent.ConcurrentDictionary{`0,`1}.Node[])">
+ <summary>
+ Replaces the internal table with a larger one. To prevent multiple threads from resizing the
+ table as a result of races, the table of buckets that was deemed too small is passed in as
+ an argument to GrowTable(). GrowTable() obtains a lock, and then checks whether the bucket
+ table has been replaced in the meantime or not.
+ </summary>
+ <param name="buckets">Reference to the bucket table that was deemed too small.</param>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetBucketAndLockNo(System.Int32,System.Int32@,System.Int32@,System.Int32)">
+ <summary>
+ Computes the bucket and lock number for a particular key.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AcquireAllLocks(System.Int32@)">
+ <summary>
+ Acquires all locks for this hash table, and increments locksAcquired by the number
+ of locks that were successfully acquired. The locks are acquired in an increasing
+ order.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AcquireLocks(System.Int32,System.Int32,System.Int32@)">
+ <summary>
+ Acquires a contiguous range of locks for this hash table, and increments locksAcquired
+ by the number of locks that were successfully acquired. The locks are acquired in an
+ increasing order.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ReleaseLocks(System.Int32,System.Int32)">
+ <summary>
+ Releases a contiguous range of locks.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetKeys">
+ <summary>
+ Gets a collection containing the keys in the dictionary.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetValues">
+ <summary>
+ Gets a collection containing the values in the dictionary.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.Assert(System.Boolean)">
+ <summary>
+ A helper method for asserts.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.OnSerializing(System.Runtime.Serialization.StreamingContext)">
+ <summary>
+ Get the data array to be serialized
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.OnDeserialized(System.Runtime.Serialization.StreamingContext)">
+ <summary>
+ Construct the dictionary from a previously seiralized one
+ </summary>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Item(`0)">
+ <summary>
+ Gets or sets the value associated with the specified key.
+ </summary>
+ <param name="key">The key of the value to get or set.</param>
+ <value>The value associated with the specified key. If the specified key is not found, a get
+ operation throws a
+ <see cref="T:Sytem.Collections.Generic.KeyNotFoundException"/>, and a set operation creates a new
+ element with the specified key.</value>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and
+ <paramref name="key"/>
+ does not exist in the collection.</exception>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Count">
+ <summary>
+ Gets the number of key/value pairs contained in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <value>The number of key/value paris contained in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</value>
+ <remarks>Count has snapshot semantics and represents the number of items in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ at the moment when Count was accessed.</remarks>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.IsEmpty">
+ <summary>
+ Gets a value that indicates whether the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> is empty.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> is empty; otherwise,
+ false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Keys">
+ <summary>
+ Gets a collection containing the keys in the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.Generic.ICollection{TKey}"/> containing the keys in the
+ <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Values">
+ <summary>
+ Gets a collection containing the values in the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.Generic.ICollection{TValue}"/> containing the values in
+ the
+ <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#IsReadOnly">
+ <summary>
+ Gets a value indicating whether the dictionary is read-only.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/> is
+ read-only; otherwise, false. For <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>, this property always returns
+ false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#IsFixedSize">
+ <summary>
+ Gets a value indicating whether the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> has a fixed size.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> has a
+ fixed size; otherwise, false. For <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>, this property always
+ returns false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#IsReadOnly">
+ <summary>
+ Gets a value indicating whether the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> is read-only.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> is
+ read-only; otherwise, false. For <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>, this property always
+ returns false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Keys">
+ <summary>
+ Gets an <see cref="T:System.Collections.ICollection"/> containing the keys of the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.ICollection"/> containing the keys of the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Values">
+ <summary>
+ Gets an <see cref="T:System.Collections.ICollection"/> containing the values in the <see
+ cref="T:System.Collections.IDictionary"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.ICollection"/> containing the values in the <see
+ cref="T:System.Collections.IDictionary"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Item(System.Object)">
+ <summary>
+ Gets or sets the value associated with the specified key.
+ </summary>
+ <param name="key">The key of the value to get or set.</param>
+ <value>The value associated with the specified key, or a null reference (Nothing in Visual Basic)
+ if <paramref name="key"/> is not in the dictionary or <paramref name="key"/> is of a type that is
+ not assignable to the key type <typeparamref name="TKey"/> of the <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>.</value>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentException">
+ A value is being assigned, and <paramref name="key"/> is of a type that is not assignable to the
+ key type <typeparamref name="TKey"/> of the <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>. -or- A value is being
+ assigned, and <paramref name="key"/> is of a type that is not assignable to the value type
+ <typeparamref name="TValue"/> of the <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>
+ </exception>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#IsSynchronized">
+ <summary>
+ Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is
+ synchronized with the SyncRoot.
+ </summary>
+ <value>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized
+ (thread safe); otherwise, false. For <see
+ cref="T:System.Collections.Concurrent.ConcurrentDictionary{TKey,TValue}"/>, this property always
+ returns false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#SyncRoot">
+ <summary>
+ Gets an object that can be used to synchronize access to the <see
+ cref="T:System.Collections.ICollection"/>. This property is not supported.
+ </summary>
+ <exception cref="T:System.NotSupportedException">The SyncRoot property is not supported.</exception>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.DefaultConcurrencyLevel">
+ <summary>
+ The number of concurrent writes for which to optimize by default.
+ </summary>
+ </member>
+ <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2.Node">
+ <summary>
+ A node in a singly-linked list representing a particular hash table bucket.
+ </summary>
+ </member>
+ <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2.DictionaryEnumerator">
+ <summary>
+ A private class to represent enumeration over the dictionary that implements the
+ IDictionaryEnumerator interface.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncMethodBuilder">
+ <summary>Represents an asynchronous method builder.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.s_cachedCompleted">
+ <summary>A cached VoidTaskResult task used for builders that complete synchronously.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.m_builder">
+ <summary>The generic builder object to which this non-generic instance delegates.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetResult">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task"/> representing the builder's asynchronous operation.</returns>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore">
+ <summary>Holds state related to the builder's IAsyncStateMachine.</summary>
+ <remarks>This is a mutable struct. Be very delicate with it.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.m_stateMachine">
+ <summary>A reference to the heap-allocated state machine object associated with this builder.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.GetCompletionAction``2(``0@,``1@)">
+ <summary>
+ Gets the Action to use with an awaiter's OnCompleted or UnsafeOnCompleted method.
+ On first invocation, the supplied state machine will be boxed.
+ </summary>
+ <typeparam name="TMethodBuilder">Specifies the type of the method builder used.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine used.</typeparam>
+ <param name="builder">The builder.</param>
+ <param name="stateMachine">The state machine.</param>
+ <returns>An Action to provide to the awaiter.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner">
+ <summary>Provides the ability to invoke a state machine's MoveNext method under a supplied ExecutionContext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_context">
+ <summary>The context with which to run MoveNext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_stateMachine">
+ <summary>The state machine whose MoveNext method should be invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.#ctor(System.ExecutionContextLightup)">
+ <summary>Initializes the runner.</summary>
+ <param name="context">The context with which to run MoveNext.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run">
+ <summary>Invokes MoveNext under the provided context.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.s_invokeMoveNext">
+ <summary>Cached delegate used with ExecutionContext.Run.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(System.Object)">
+ <summary>Invokes the MoveNext method on the supplied IAsyncStateMachine.</summary>
+ <param name="stateMachine">The IAsyncStateMachine machine instance.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return void.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_synchronizationContext">
+ <summary>The synchronization context associated with this operation.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_objectIdForDebugger">
+ <summary>An object used by the debugger to uniquely identify this builder. Lazily initialized.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.PreventUnobservedTaskExceptions">
+ <summary>Registers with UnobservedTaskException to suppress exception crashing.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.s_preventUnobservedTaskExceptionsInvoked">
+ <summary>Non-zero if PreventUnobservedTaskExceptions has already been invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#ctor(System.Threading.SynchronizationContext)">
+ <summary>Initializes the <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <param name="synchronizationContext">The synchronizationContext associated with this operation. This may be null.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetResult">
+ <summary>Completes the method builder successfully.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetException(System.Exception)">
+ <summary>Faults the method builder with an exception.</summary>
+ <param name="exception">The exception that is the cause of this fault.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.NotifySynchronizationContextOfCompletion">
+ <summary>Notifies the current synchronization context that the operation completed.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger and only in a single-threaded manner.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task`1"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder{TResult} is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.s_defaultResultTask">
+ <summary>A cached task for default(TResult).</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_task">
+ <summary>The lazily-initialized task.</summary>
+ <remarks>Must be named m_task for debugger step-over to work correctly.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_taskCompletionSource">
+ <summary>The lazily-initialized task completion source.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(`0)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state with the specified result.
+ </summary>
+ <param name="result">The result to use to complete the task.</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(System.Threading.Tasks.TaskCompletionSource{`0})">
+ <summary>
+ Completes the builder by using either the supplied completed task, or by completing
+ the builder's previously accessed task using default(TResult).
+ </summary>
+ <param name="completedTask">A task already completed with the value default(TResult).</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ <remarks>
+ This should only be invoked from within an asynchronous method,
+ and only by the debugger.
+ </remarks>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.GetTaskForResult(`0)">
+ <summary>
+ Gets a task for the specified result. This will either
+ be a cached or new task, never null.
+ </summary>
+ <param name="result">The result for which we need a task.</param>
+ <returns>The completed task containing the result.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.CompletionSource">
+ <summary>Gets the lazily-initialized TaskCompletionSource.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task`1"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task`1"/> representing the builder's asynchronous operation.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1">
+ <summary>Provides a base class used to cache tasks of a specific return type.</summary>
+ <typeparam name="TResult">Specifies the type of results the cached tasks return.</typeparam>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.Singleton">
+ <summary>
+ A singleton cache for this result type.
+ This may be null if there are no cached tasks for this TResult.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCompleted(`0)">
+ <summary>Creates a non-disposable task.</summary>
+ <param name="result">The result for the task.</param>
+ <returns>The cacheable task.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCache">
+ <summary>Creates a cache.</summary>
+ <returns>A task cache for this result type.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.FromResult(`0)">
+ <summary>Gets a cached task if one exists.</summary>
+ <param name="result">The result for which we want a cached task.</param>
+ <returns>A cached task if one exists; otherwise, null.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache">
+ <summary>Provides a cache for Boolean tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_true">
+ <summary>A true task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_false">
+ <summary>A false task.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.FromResult(System.Boolean)">
+ <summary>Gets a cached task for the Boolean result.</summary>
+ <param name="result">true or false</param>
+ <returns>A cached task for the Boolean result.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache">
+ <summary>Provides a cache for zero Int32 tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.INCLUSIVE_INT32_MIN">
+ <summary>The minimum value, inclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.EXCLUSIVE_INT32_MAX">
+ <summary>The maximum value, exclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.Int32Tasks">
+ <summary>The cache of Task{Int32}.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.CreateInt32Tasks">
+ <summary>Creates an array of cached tasks for the values in the range [INCLUSIVE_MIN,EXCLUSIVE_MAX).</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.FromResult(System.Int32)">
+ <summary>Gets a cached task for the zero Int32 result.</summary>
+ <param name="result">The integer value</param>
+ <returns>A cached task for the Int32 result or null if not cached.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncStateMachine">
+ <summary>
+ Represents state machines generated for asynchronous methods.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.MoveNext">
+ <summary>Moves the state machine to its next state.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Configures the state machine with a heap-allocated replica.</summary>
+ <param name="stateMachine">The heap-allocated replica.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.ICriticalNotifyCompletion">
+ <summary>
+ Represents an awaiter used to schedule continuations when an await operation completes.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.INotifyCompletion">
+ <summary>
+ Represents an operation that will schedule continuations when the operation completes.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.INotifyCompletion.OnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.ICriticalNotifyCompletion.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <remarks>Unlike OnCompleted, UnsafeOnCompleted need not propagate ExecutionContext information.</remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.VoidTaskResult">
+ <summary>Used with Task(of void)</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.IThreadPoolWorkItem">
+ <summary>
+ An interface similar to the one added in .NET 4.0.
+ </summary>
+ </member>
+ <member name="T:System.OperationCanceledException">
+ <summary>The exception that is thrown in a thread upon cancellation of an operation that the thread was executing.</summary>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor">
+ <summary>Initializes the exception.</summary>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String,System.Exception)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.Threading.CancellationToken)">
+ <summary>Initializes the exception.</summary>
+ <param name="token">A cancellation token associated with the operation that was canceled.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String,System.Threading.CancellationToken)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="token">A cancellation token associated with the operation that was canceled.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String,System.Exception,System.Threading.CancellationToken)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ <param name="token">A cancellation token associated with the operation that was canceled.</param>
+ </member>
+ <member name="P:System.OperationCanceledException.CancellationToken">
+ <summary>Gets a token associated with the operation that was canceled.</summary>
+ </member>
+ <member name="T:System.Threading.StackCrawlMark">
+ <summary>
+ A dummy replacement for the .NET internal class StackCrawlMark.
+ </summary>
+ </member>
+ <member name="T:System.Threading.CancellationToken">
+ <summary>
+ Propogates notification that operations should be canceled.
+ </summary>
+ <remarks>
+ <para>
+ A <see cref="T:System.Threading.CancellationToken"/> may be created directly in an unchangeable canceled or non-canceled state
+ using the CancellationToken's constructors. However, to have a CancellationToken that can change
+ from a non-canceled to a canceled state,
+ <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> must be used.
+ CancellationTokenSource exposes the associated CancellationToken that may be canceled by the source through its
+ <see cref="P:System.Threading.CancellationTokenSource.Token">Token</see> property.
+ </para>
+ <para>
+ Once canceled, a token may not transition to a non-canceled state, and a token whose
+ <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> is false will never change to one that can be canceled.
+ </para>
+ <para>
+ All members of this struct are thread-safe and may be used concurrently from multiple threads.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationToken.#ctor(System.Threading.CancellationTokenSource)">
+ <summary>
+ Internal constructor only a CancellationTokenSource should create a CancellationToken
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationToken.#ctor(System.Boolean)">
+ <summary>
+ Initializes the <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <param name="canceled">
+ The canceled state for the token.
+ </param>
+ <remarks>
+ Tokens created with this constructor will remain in the canceled state specified
+ by the <paramref name="canceled"/> parameter. If <paramref name="canceled"/> is false,
+ both <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> and <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will be false.
+ If <paramref name="canceled"/> is true,
+ both <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> and <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will be true.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action)">
+ <summary>
+ Registers a delegate that will be called when this <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action,System.Boolean)">
+ <summary>
+ Registers a delegate that will be called when this
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <param name="useSynchronizationContext">A Boolean value that indicates whether to capture
+ the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see> and use it
+ when invoking the <paramref name="callback"/>.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action{System.Object},System.Object)">
+ <summary>
+ Registers a delegate that will be called when this
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <param name="state">The state to pass to the <paramref name="callback"/> when the delegate is invoked. This may be null.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action{System.Object},System.Object,System.Boolean)">
+ <summary>
+ Registers a delegate that will be called when this
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <param name="state">The state to pass to the <paramref name="callback"/> when the delegate is invoked. This may be null.</param>
+ <param name="useSynchronizationContext">A Boolean value that indicates whether to capture
+ the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see> and use it
+ when invoking the <paramref name="callback"/>.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Equals(System.Threading.CancellationToken)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
+ specified token.
+ </summary>
+ <param name="other">The other <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to which to compare this
+ instance.</param>
+ <returns>True if the instances are equal; otherwise, false. Two tokens are equal if they are associated
+ with the same <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> or if they were both constructed
+ from public CancellationToken constructors and their <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> values are equal.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Equals(System.Object)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
+ specified <see cref="T:System.Object"/>.
+ </summary>
+ <param name="other">The other object to which to compare this instance.</param>
+ <returns>True if <paramref name="other"/> is a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ and if the two instances are equal; otherwise, false. Two tokens are equal if they are associated
+ with the same <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> or if they were both constructed
+ from public CancellationToken constructors and their <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> values are equal.</returns>
+ <exception cref="T:System.ObjectDisposedException">An associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.GetHashCode">
+ <summary>
+ Serves as a hash function for a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <returns>A hash code for the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationToken.op_Equality(System.Threading.CancellationToken,System.Threading.CancellationToken)">
+ <summary>
+ Determines whether two <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances are equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are equal; otherwise, false.</returns>
+ <exception cref="T:System.ObjectDisposedException">An associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.op_Inequality(System.Threading.CancellationToken,System.Threading.CancellationToken)">
+ <summary>
+ Determines whether two <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances are not equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are not equal; otherwise, false.</returns>
+ <exception cref="T:System.ObjectDisposedException">An associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.ThrowIfCancellationRequested">
+ <summary>
+ Throws a <see cref="T:System.OperationCanceledException">OperationCanceledException</see> if
+ this token has had cancellation requested.
+ </summary>
+ <remarks>
+ This method provides functionality equivalent to:
+ <code>
+ if (token.IsCancellationRequested)
+ throw new OperationCanceledException(token);
+ </code>
+ </remarks>
+ <exception cref="T:System.OperationCanceledException">The token has had cancellation requested.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="P:System.Threading.CancellationToken.None">
+ <summary>
+ Returns an empty CancellationToken value.
+ </summary>
+ <remarks>
+ The <see cref="T:System.Threading.CancellationToken"/> value returned by this property will be non-cancelable by default.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationToken.IsCancellationRequested">
+ <summary>
+ Gets whether cancellation has been requested for this token.
+ </summary>
+ <value>Whether cancellation has been requested for this token.</value>
+ <remarks>
+ <para>
+ This property indicates whether cancellation has been requested for this token,
+ either through the token initially being construted in a canceled state, or through
+ calling <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see>
+ on the token's associated <see cref="T:System.Threading.CancellationTokenSource"/>.
+ </para>
+ <para>
+ If this property is true, it only guarantees that cancellation has been requested.
+ It does not guarantee that every registered handler
+ has finished executing, nor that cancellation requests have finished propagating
+ to all registered handlers. Additional synchronization may be required,
+ particularly in situations where related objects are being canceled concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationToken.CanBeCanceled">
+ <summary>
+ Gets whether this token is capable of being in the canceled state.
+ </summary>
+ <remarks>
+ If CanBeCanceled returns false, it is guaranteed that the token will never transition
+ into a canceled state, meaning that <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will never
+ return true.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationToken.WaitHandle">
+ <summary>
+ Gets a <see cref="T:System.Threading.WaitHandle"/> that is signaled when the token is canceled.</summary>
+ <remarks>
+ Accessing this property causes a <see cref="T:System.Threading.WaitHandle">WaitHandle</see>
+ to be instantiated. It is preferable to only use this property when necessary, and to then
+ dispose the associated <see cref="T:System.Threading.CancellationTokenSource"/> instance at the earliest opportunity (disposing
+ the source will dispose of this allocated handle). The handle should not be closed or disposed directly.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="T:System.Threading.CancellationTokenRegistration">
+ <summary>
+ Represents a callback delegate that has been registered with a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <remarks>
+ To unregister a callback, dispose the corresponding Registration instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.TryDeregister">
+ <summary>
+ Attempts to deregister the item. If it's already being run, this may fail.
+ Entails a full memory fence.
+ </summary>
+ <returns>True if the callback was found and deregistered, false otherwise.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.Dispose">
+ <summary>
+ Disposes of the registration and unregisters the target callback from the associated
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ If the target callback is currently executing this method will wait until it completes, except
+ in the degenerate cases where a callback method deregisters itself.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.op_Equality(System.Threading.CancellationTokenRegistration,System.Threading.CancellationTokenRegistration)">
+ <summary>
+ Determines whether two <see
+ cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see>
+ instances are equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are equal; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.op_Inequality(System.Threading.CancellationTokenRegistration,System.Threading.CancellationTokenRegistration)">
+ <summary>
+ Determines whether two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are not equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are not equal; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.Equals(System.Object)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instance is equal to the
+ specified <see cref="T:System.Object"/>.
+ </summary>
+ <param name="obj">The other object to which to compare this instance.</param>
+ <returns>True, if both this and <paramref name="obj"/> are equal. False, otherwise.
+ Two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are equal if
+ they both refer to the output of a single call to the same Register method of a
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.Equals(System.Threading.CancellationTokenRegistration)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
+ specified <see cref="T:System.Object"/>.
+ </summary>
+ <param name="other">The other <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> to which to compare this instance.</param>
+ <returns>True, if both this and <paramref name="other"/> are equal. False, otherwise.
+ Two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are equal if
+ they both refer to the output of a single call to the same Register method of a
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.GetHashCode">
+ <summary>
+ Serves as a hash function for a <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration.</see>.
+ </summary>
+ <returns>A hash code for the current <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instance.</returns>
+ </member>
+ <member name="T:System.Threading.CancellationTokenSource">
+ <summary>
+ Signals to a <see cref="T:System.Threading.CancellationToken"/> that it should be canceled.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.CancellationTokenSource"/> is used to instantiate a <see cref="T:System.Threading.CancellationToken"/>
+ (via the source's <see cref="P:System.Threading.CancellationTokenSource.Token">Token</see> property)
+ that can be handed to operations that wish to be notified of cancellation or that can be used to
+ register asynchronous operations for cancellation. That token may have cancellation requested by
+ calling to the source's <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see>
+ method.
+ </para>
+ <para>
+ All members of this class, except <see cref="M:System.Threading.CancellationTokenSource.Dispose">Dispose</see>, are thread-safe and may be used
+ concurrently from multiple threads.
+ </para>
+ </remarks>
+ </member>
+ <member name="F:System.Threading.CancellationTokenSource.m_threadIDExecutingCallbacks">
+ The ID of the thread currently executing the main body of CTS.Cancel()
+ this helps us to know if a call to ctr.Dispose() is running 'within' a cancellation callback.
+ This is updated as we move between the main thread calling cts.Cancel() and any syncContexts that are used to
+ actually run the callbacks.
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.#ctor">
+ <summary>
+ Initializes the <see cref="T:System.Threading.CancellationTokenSource"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.Cancel">
+ <summary>
+ Communicates a request for cancellation.
+ </summary>
+ <remarks>
+ <para>
+ The associated <see cref="T:System.Threading.CancellationToken"/> will be
+ notified of the cancellation and will transition to a state where
+ <see cref="P:System.Threading.CancellationToken.IsCancellationRequested">IsCancellationRequested</see> returns true.
+ Any callbacks or cancelable operations
+ registered with the <see cref="T:System.Threading.CancellationToken"/> will be executed.
+ </para>
+ <para>
+ Cancelable operations and callbacks registered with the token should not throw exceptions.
+ However, this overload of Cancel will aggregate any exceptions thrown into a <see cref="T:System.AggregateException"/>,
+ such that one callback throwing an exception will not prevent other registered callbacks from being executed.
+ </para>
+ <para>
+ The <see cref="T:System.Threading.ExecutionContext"/> that was captured when each callback was registered
+ will be reestablished when the callback is invoked.
+ </para>
+ </remarks>
+ <exception cref="T:System.AggregateException">An aggregate exception containing all the exceptions thrown
+ by the registered callbacks on the associated <see cref="T:System.Threading.CancellationToken"/>.</exception>
+ <exception cref="T:System.ObjectDisposedException">This <see cref="T:System.Threading.CancellationTokenSource"/> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.Cancel(System.Boolean)">
+ <summary>
+ Communicates a request for cancellation.
+ </summary>
+ <remarks>
+ <para>
+ The associated <see cref="T:System.Threading.CancellationToken"/> will be
+ notified of the cancellation and will transition to a state where
+ <see cref="P:System.Threading.CancellationToken.IsCancellationRequested">IsCancellationRequested</see> returns true.
+ Any callbacks or cancelable operations
+ registered with the <see cref="T:System.Threading.CancellationToken"/> will be executed.
+ </para>
+ <para>
+ Cancelable operations and callbacks registered with the token should not throw exceptions.
+ If <paramref name="throwOnFirstException"/> is true, an exception will immediately propagate out of the
+ call to Cancel, preventing the remaining callbacks and cancelable operations from being processed.
+ If <paramref name="throwOnFirstException"/> is false, this overload will aggregate any
+ exceptions thrown into a <see cref="T:System.AggregateException"/>,
+ such that one callback throwing an exception will not prevent other registered callbacks from being executed.
+ </para>
+ <para>
+ The <see cref="T:System.Threading.ExecutionContext"/> that was captured when each callback was registered
+ will be reestablished when the callback is invoked.
+ </para>
+ </remarks>
+ <param name="throwOnFirstException">Specifies whether exceptions should immediately propagate.</param>
+ <exception cref="T:System.AggregateException">An aggregate exception containing all the exceptions thrown
+ by the registered callbacks on the associated <see cref="T:System.Threading.CancellationToken"/>.</exception>
+ <exception cref="T:System.ObjectDisposedException">This <see cref="T:System.Threading.CancellationTokenSource"/> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.Dispose">
+ <summary>
+ Releases the resources used by this <see cref="T:System.Threading.CancellationTokenSource" />.
+ </summary>
+ <remarks>
+ This method is not thread-safe for any other concurrent calls.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.ThrowIfDisposed">
+ <summary>
+ Throws an exception if the source has been disposed.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.InternalGetStaticSource(System.Boolean)">
+ <summary>
+ InternalGetStaticSource()
+ </summary>
+ <param name="set">Whether the source should be set.</param>
+ <returns>A static source to be shared among multiple tokens.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.InternalRegister(System.Action{System.Object},System.Object,System.Threading.SynchronizationContext)">
+ <summary>
+ Registers a callback object. If cancellation has already occurred, the
+ callback will have been run by the time this method returns.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.NotifyCancellation(System.Boolean)">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(System.Boolean)">
+ <summary>
+ Invoke the Canceled event.
+ </summary>
+ <remarks>
+ The handlers are invoked synchronously in LIFO order.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.CreateLinkedTokenSource(System.Threading.CancellationToken,System.Threading.CancellationToken)">
+ <summary>
+ Creates a <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that will be in the canceled state
+ when any of the source tokens are in the canceled state.
+ </summary>
+ <param name="token1">The first <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to observe.</param>
+ <param name="token2">The second <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to observe.</param>
+ <returns>A <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that is linked
+ to the source tokens.</returns>
+ <exception cref="T:System.ObjectDisposedException">A <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with
+ one of the source tokens has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.CreateLinkedTokenSource(System.Threading.CancellationToken[])">
+ <summary>
+ Creates a <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that will be in the canceled state
+ when any of the source tokens are in the canceled state.
+ </summary>
+ <param name="tokens">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances to observe.</param>
+ <returns>A <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that is linked
+ to the source tokens.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="tokens"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">A <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with
+ one of the source tokens has been disposed.</exception>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.IsCancellationRequested">
+ <summary>
+ Gets whether cancellation has been requested for this <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see>.
+ </summary>
+ <value>Whether cancellation has been requested for this <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see>.</value>
+ <remarks>
+ <para>
+ This property indicates whether cancellation has been requested for this token source, such as
+ due to a call to its
+ <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see> method.
+ </para>
+ <para>
+ If this property returns true, it only guarantees that cancellation has been requested. It does not
+ guarantee that every handler registered with the corresponding token has finished executing, nor
+ that cancellation requests have finished propagating to all registered handlers. Additional
+ synchronization may be required, particularly in situations where related objects are being
+ canceled concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.IsCancellationCompleted">
+ <summary>
+ A simple helper to determine whether cancellation has finished.
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.IsDisposed">
+ <summary>
+ A simple helper to determine whether disposal has occured.
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.ThreadIDExecutingCallbacks">
+ <summary>
+ The ID of the thread that is running callbacks.
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.Token">
+ <summary>
+ Gets the <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ associated with this <see cref="T:System.Threading.CancellationTokenSource"/>.
+ </summary>
+ <value>The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ associated with this <see cref="T:System.Threading.CancellationTokenSource"/>.</value>
+ <exception cref="T:System.ObjectDisposedException">The token source has been
+ disposed.</exception>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.CanBeCanceled">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.WaitHandle">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.ExecutingCallback">
+ <summary>
+ The currently executing callback
+ </summary>
+ </member>
+ <member name="T:System.Threading.CancellationCallbackInfo">
+ <summary>
+ A helper class for collating the various bits of information required to execute
+ cancellation callbacks.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationCallbackInfo.ExecuteCallback">
+ <summary>
+ InternalExecuteCallbackSynchronously_GeneralPath
+ This will be called on the target synchronization context, however, we still need to restore the required execution context
+ </summary>
+ </member>
+ <member name="T:System.Threading.SparselyPopulatedArray`1">
+ <summary>
+ A sparsely populated array. Elements can be sparse and some null, but this allows for
+ lock-free additions and growth, and also for constant time removal (by nulling out).
+ </summary>
+ <typeparam name="T">The kind of elements contained within.</typeparam>
+ </member>
+ <member name="M:System.Threading.SparselyPopulatedArray`1.#ctor(System.Int32)">
+ <summary>
+ Allocates a new array with the given initial size.
+ </summary>
+ <param name="initialSize">How many array slots to pre-allocate.</param>
+ </member>
+ <member name="M:System.Threading.SparselyPopulatedArray`1.Add(`0)">
+ <summary>
+ Adds an element in the first available slot, beginning the search from the tail-to-head.
+ If no slots are available, the array is grown. The method doesn't return until successful.
+ </summary>
+ <param name="element">The element to add.</param>
+ <returns>Information about where the add happened, to enable O(1) deregistration.</returns>
+ </member>
+ <member name="P:System.Threading.SparselyPopulatedArray`1.Tail">
+ <summary>
+ The tail of the doubly linked list.
+ </summary>
+ </member>
+ <member name="T:System.Threading.SparselyPopulatedArrayAddInfo`1">
+ <summary>
+ A struct to hold a link to the exact spot in an array an element was inserted, enabling
+ constant time removal later on.
+ </summary>
+ </member>
+ <member name="T:System.Threading.SparselyPopulatedArrayFragment`1">
+ <summary>
+ A fragment of a sparsely populated array, doubly linked.
+ </summary>
+ <typeparam name="T">The kind of elements contained within.</typeparam>
+ </member>
+ <member name="T:System.Threading.LazyInitializer">
+ <summary>
+ Provides lazy initialization routines.
+ </summary>
+ <remarks>
+ These routines avoid needing to allocate a dedicated, lazy-initialization instance, instead using
+ references to ensure targets have been initialized as they are accessed.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@)">
+ <summary>
+ Initializes a target reference type with the type's default constructor if the target has not
+ already been initialized.
+ </summary>
+ <typeparam name="T">The refence type of the reference to be initialized.</typeparam>
+ <param name="target">A reference of type <typeparamref name="T"/> to initialize if it has not
+ already been initialized.</param>
+ <returns>The initialized reference of type <typeparamref name="T"/>.</returns>
+ <exception cref="T:System.MissingMemberException">Type <typeparamref name="T"/> does not have a default
+ constructor.</exception>
+ <exception cref="T:System.MemberAccessException">
+ Permissions to access the constructor of type <typeparamref name="T"/> were missing.
+ </exception>
+ <remarks>
+ <para>
+ This method may only be used on reference types. To ensure initialization of value
+ types, see other overloads of EnsureInitialized.
+ </para>
+ <para>
+ This method may be used concurrently by multiple threads to initialize <paramref name="target"/>.
+ In the event that multiple threads access this method concurrently, multiple instances of <typeparamref name="T"/>
+ may be created, but only one will be stored into <paramref name="target"/>. In such an occurrence, this method will not dispose of the
+ objects that were not stored. If such objects must be disposed, it is up to the caller to determine
+ if an object was not used and to then dispose of the object appropriately.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Func{``0})">
+ <summary>
+ Initializes a target reference type using the specified function if it has not already been
+ initialized.
+ </summary>
+ <typeparam name="T">The reference type of the reference to be initialized.</typeparam>
+ <param name="target">The reference of type <typeparamref name="T"/> to initialize if it has not
+ already been initialized.</param>
+ <param name="valueFactory">The <see cref="T:System.Func{T}"/> invoked to initialize the
+ reference.</param>
+ <returns>The initialized reference of type <typeparamref name="T"/>.</returns>
+ <exception cref="T:System.MissingMemberException">Type <typeparamref name="T"/> does not have a
+ default constructor.</exception>
+ <exception cref="T:System.InvalidOperationException"><paramref name="valueFactory"/> returned
+ null.</exception>
+ <remarks>
+ <para>
+ This method may only be used on reference types, and <paramref name="valueFactory"/> may
+ not return a null reference (Nothing in Visual Basic). To ensure initialization of value types or
+ to allow null reference types, see other overloads of EnsureInitialized.
+ </para>
+ <para>
+ This method may be used concurrently by multiple threads to initialize <paramref name="target"/>.
+ In the event that multiple threads access this method concurrently, multiple instances of <typeparamref name="T"/>
+ may be created, but only one will be stored into <paramref name="target"/>. In such an occurrence, this method will not dispose of the
+ objects that were not stored. If such objects must be disposed, it is up to the caller to determine
+ if an object was not used and to then dispose of the object appropriately.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitializedCore``1(``0@,System.Func{``0})">
+ <summary>
+ Initialize the target using the given delegate (slow path).
+ </summary>
+ <typeparam name="T">The reference type of the reference to be initialized.</typeparam>
+ <param name="target">The variable that need to be initialized</param>
+ <param name="valueFactory">The delegate that will be executed to initialize the target</param>
+ <returns>The initialized variable</returns>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Boolean@,System.Object@)">
+ <summary>
+ Initializes a target reference or value type with its default constructor if it has not already
+ been initialized.
+ </summary>
+ <typeparam name="T">The type of the reference to be initialized.</typeparam>
+ <param name="target">A reference or value of type <typeparamref name="T"/> to initialize if it
+ has not already been initialized.</param>
+ <param name="initialized">A reference to a boolean that determines whether the target has already
+ been initialized.</param>
+ <param name="syncLock">A reference to an object used as the mutually exclusive lock for initializing
+ <paramref name="target"/>.</param>
+ <returns>The initialized value of type <typeparamref name="T"/>.</returns>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Boolean@,System.Object@,System.Func{``0})">
+ <summary>
+ Initializes a target reference or value type with a specified function if it has not already been
+ initialized.
+ </summary>
+ <typeparam name="T">The type of the reference to be initialized.</typeparam>
+ <param name="target">A reference or value of type <typeparamref name="T"/> to initialize if it
+ has not already been initialized.</param>
+ <param name="initialized">A reference to a boolean that determines whether the target has already
+ been initialized.</param>
+ <param name="syncLock">A reference to an object used as the mutually exclusive lock for initializing
+ <paramref name="target"/>.</param>
+ <param name="valueFactory">The <see cref="T:System.Func{T}"/> invoked to initialize the
+ reference or value.</param>
+ <returns>The initialized value of type <typeparamref name="T"/>.</returns>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitializedCore``1(``0@,System.Boolean@,System.Object@,System.Func{``0})">
+ <summary>
+ Ensure the target is initialized and return the value (slow path). This overload permits nulls
+ and also works for value type targets. Uses the supplied function to create the value.
+ </summary>
+ <typeparam name="T">The type of target.</typeparam>
+ <param name="target">A reference to the target to be initialized.</param>
+ <param name="initialized">A reference to a location tracking whether the target has been initialized.</param>
+ <param name="syncLock">A reference to a location containing a mutual exclusive lock.</param>
+ <param name="valueFactory">
+ The <see cref="T:System.Func{T}"/> to invoke in order to produce the lazily-initialized value.
+ </param>
+ <returns>The initialized object.</returns>
+ </member>
+ <member name="T:System.Threading.ManualResetEventSlim">
+ <summary>
+ Provides a slimmed down version of <see cref="T:System.Threading.ManualResetEvent"/>.
+ </summary>
+ <remarks>
+ All public and protected members of <see cref="T:System.Threading.ManualResetEventSlim"/> are thread-safe and may be used
+ concurrently from multiple threads, with the exception of Dispose, which
+ must only be used when all other operations on the <see cref="T:System.Threading.ManualResetEventSlim"/> have
+ completed, and Reset, which should only be used when no other threads are
+ accessing the event.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
+ class with an initial state of nonsignaled.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.#ctor(System.Boolean)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
+ class with a Boolen value indicating whether to set the intial state to signaled.
+ </summary>
+ <param name="initialState">true to set the initial state signaled; false to set the initial state
+ to nonsignaled.</param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.#ctor(System.Boolean,System.Int32)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
+ class with a Boolen value indicating whether to set the intial state to signaled and a specified
+ spin count.
+ </summary>
+ <param name="initialState">true to set the initial state to signaled; false to set the initial state
+ to nonsignaled.</param>
+ <param name="spinCount">The number of spin waits that will occur before falling back to a true
+ wait.</param>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="spinCount"/> is less than
+ 0 or greater than the maximum allowed value.</exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Initialize(System.Boolean,System.Int32)">
+ <summary>
+ Initializes the internal state of the event.
+ </summary>
+ <param name="initialState">Whether the event is set initially or not.</param>
+ <param name="spinCount">The spin count that decides when the event will block.</param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.EnsureLockObjectCreated">
+ <summary>
+ Helper to ensure the lock object is created before first use.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.LazyInitializeEvent">
+ <summary>
+ This method lazily initializes the event object. It uses CAS to guarantee that
+ many threads racing to call this at once don't result in more than one event
+ being stored and used. The event will be signaled or unsignaled depending on
+ the state of the thin-event itself, with synchronization taken into account.
+ </summary>
+ <returns>True if a new event was created and stored, false otherwise.</returns>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Set">
+ <summary>
+ Sets the state of the event to signaled, which allows one or more threads waiting on the event to
+ proceed.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Set(System.Boolean)">
+ <summary>
+ Private helper to actually perform the Set.
+ </summary>
+ <param name="duringCancellation">Indicates whether we are calling Set() during cancellation.</param>
+ <exception cref="T:System.OperationCanceledException">The object has been canceled.</exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Reset">
+ <summary>
+ Sets the state of the event to nonsignaled, which causes threads to block.
+ </summary>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Reset"/> is not
+ thread-safe and may not be used concurrently with other members of this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ <remarks>
+ 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.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Threading.CancellationToken)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> receives a signal,
+ while observing a <see cref="T:System.Threading.CancellationToken"/>.
+ </summary>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
+ observe.</param>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ <exception cref="T:System.OperationCanceledExcepton"><paramref name="cancellationToken"/> was
+ canceled.</exception>
+ <remarks>
+ 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.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.TimeSpan)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ <see cref="T:System.TimeSpan"/> to measure the time interval.
+ </summary>
+ <param name="timeout">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>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
+ number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
+ than <see cref="F:System.Int32.MaxValue"/>.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.TimeSpan,System.Threading.CancellationToken)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ <see cref="T:System.TimeSpan"/> to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
+ </summary>
+ <param name="timeout">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">The <see cref="T:System.Threading.CancellationToken"/> to
+ observe.</param>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
+ number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
+ than <see cref="F:System.Int32.MaxValue"/>.</exception>
+ <exception cref="T:System.Threading.OperationCanceledException"><paramref name="cancellationToken"/> was canceled.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Int32)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ 32-bit signed integer to measure the time interval.
+ </summary>
+ <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
+ negative number other than -1, which represents an infinite time-out.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ 32-bit signed integer to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
+ </summary>
+ <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
+ observe.</param>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
+ negative number other than -1, which represents an infinite time-out.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ <exception cref="T:System.Threading.OperationCanceledException"><paramref name="cancellationToken"/> was canceled.</exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Dispose">
+ <summary>
+ Releases all resources used by the current instance of <see cref="T:System.Threading.ManualResetEventSlim"/>.
+ </summary>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Dispose"/> is not
+ thread-safe and may not be used concurrently with other members of this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Dispose(System.Boolean)">
+ <summary>
+ When overridden in a derived class, releases the unmanaged resources used by the
+ <see cref="T:System.Threading.ManualResetEventSlim"/>, and optionally releases the managed resources.
+ </summary>
+ <param name="disposing">true to release both managed and unmanaged resources;
+ false to release only unmanaged resources.</param>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Dispose(System.Boolean)"/> is not
+ thread-safe and may not be used concurrently with other members of this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.ThrowIfDisposed">
+ <summary>
+ Throw ObjectDisposedException if the MRES is disposed
+ </summary>
+ </member>
+ <member name="F:System.Threading.ManualResetEventSlim.s_cancellationTokenCallback">
+ <summary>
+ Private helper method to wake up waiters when a cancellationToken gets canceled.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.UpdateStateAtomically(System.Int32,System.Int32)">
+ <summary>
+ Private helper method for updating parts of a bit-string state value.
+ Mainly called from the IsSet and Waiters properties setters
+ </summary>
+ <remarks>
+ Note: the parameter types must be int as CompareExchange cannot take a Uint
+ </remarks>
+ <param name="newBits">The new value</param>
+ <param name="updateBitsMask">The mask used to set the bits</param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.ExtractStatePortionAndShiftRight(System.Int32,System.Int32,System.Int32)">
+ <summary>
+ Private helper method - performs Mask and shift, particular helpful to extract a field from a packed word.
+ eg ExtractStatePortionAndShiftRight(0x12345678, 0xFF000000, 24) => 0x12, ie extracting the top 8-bits as a simple integer
+
+ ?? is there a common place to put this rather than being private to MRES?
+ </summary>
+ <param name="state"></param>
+ <param name="mask"></param>
+ <param name="rightBitShiftCount"></param>
+ <returns></returns>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.ExtractStatePortion(System.Int32,System.Int32)">
+ <summary>
+ Performs a Mask operation, but does not perform the shift.
+ This is acceptable for boolean values for which the shift is unnecessary
+ eg (val &amp; Mask) != 0 is an appropriate way to extract a boolean rather than using
+ ((val &amp; Mask) &gt;&gt; shiftAmount) == 1
+
+ ?? is there a common place to put this rather than being private to MRES?
+ </summary>
+ <param name="state"></param>
+ <param name="mask"></param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.UpdateTimeOut(System.Int64,System.Int32)">
+ <summary>
+ Helper function to measure and update the wait time
+ </summary>
+ <param name="startTimeTicks"> The first time (in Ticks) observed when the wait started.</param>
+ <param name="originalWaitMillisecondsTimeout">The orginal wait timeoutout in milliseconds.</param>
+ <returns>The new wait time in milliseconds, -1 if the time expired, -2 if overflow in counters
+ has occurred.</returns>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.WaitHandle">
+ <summary>
+ Gets the underlying <see cref="T:System.Threading.WaitHandle"/> object for this <see cref="T:System.Threading.ManualResetEventSlim"/>.
+ </summary>
+ <value>The underlying <see cref="T:System.Threading.WaitHandle"/> event object fore this <see cref="T:System.Threading.ManualResetEventSlim"/>.</value>
+ <remarks>
+ Accessing this property forces initialization of an underlying event object if one hasn't
+ already been created. To simply wait on this <see cref="T:System.Threading.ManualResetEventSlim"/>,
+ the public Wait methods should be preferred.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.IsSet">
+ <summary>
+ Gets whether the event is set.
+ </summary>
+ <value>true if the event has is set; otherwise, false.</value>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.SpinCount">
+ <summary>
+ Gets the number of spin waits that will be occur before falling back to a true wait.
+ </summary>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.Waiters">
+ <summary>
+ How many threads are waiting.
+ </summary>
+ </member>
+ <member name="T:System.Threading.SpinWait">
+ <summary>
+ Provides support for spin-based waiting.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.SpinWait"/> encapsulates common spinning logic. On single-processor machines, yields are
+ always used instead of busy waits, and on computers with Intel™ processors employing Hyper-Threading™
+ technology, it helps to prevent hardware thread starvation. SpinWait encapsulates a good mixture of
+ spinning and true yielding.
+ </para>
+ <para>
+ <see cref="T:System.Threading.SpinWait"/> is a value type, which means that low-level code can utilize SpinWait without
+ fear of unnecessary allocation overheads. SpinWait is not generally useful for ordinary applications.
+ In most cases, you should use the synchronization classes provided by the .NET Framework, such as
+ <see cref="T:System.Threading.Monitor"/>. For most purposes where spin waiting is required, however,
+ the <see cref="T:System.Threading.SpinWait"/> type should be preferred over the System.Threading.Thread.SpinWait method.
+ </para>
+ <para>
+ While SpinWait is designed to be used in concurrent applications, it is not designed to be
+ used from multiple threads concurrently. SpinWait's members are not thread-safe. If multiple
+ threads must spin, each should use its own instance of SpinWait.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinOnce">
+ <summary>
+ Performs a single spin.
+ </summary>
+ <remarks>
+ This is typically called in a loop, and may change in behavior based on the number of times a
+ <see cref="M:System.Threading.SpinWait.SpinOnce"/> has been called thus far on this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.SpinWait.Reset">
+ <summary>
+ Resets the spin counter.
+ </summary>
+ <remarks>
+ This makes <see cref="M:System.Threading.SpinWait.SpinOnce"/> and <see cref="P:System.Threading.SpinWait.NextSpinWillYield"/> behave as though no calls
+ to <see cref="M:System.Threading.SpinWait.SpinOnce"/> had been issued on this instance. If a <see cref="T:System.Threading.SpinWait"/> instance
+ is reused many times, it may be useful to reset it to avoid yielding too soon.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean})">
+ <summary>
+ Spins until the specified condition is satisfied.
+ </summary>
+ <param name="condition">A delegate to be executed over and over until it returns true.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.TimeSpan)">
+ <summary>
+ Spins until the specified condition is satisfied or until the specified timeout is expired.
+ </summary>
+ <param name="condition">A delegate to be executed over and over until it returns true.</param>
+ <param name="timeout">
+ A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait,
+ or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
+ <returns>True if the condition is satisfied within the timeout; otherwise, false</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative number
+ other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.</exception>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.Int32)">
+ <summary>
+ Spins until the specified condition is satisfied or until the specified timeout is expired.
+ </summary>
+ <param name="condition">A delegate to be executed over and over until it returns true.</param>
+ <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
+ <returns>True if the condition is satisfied within the timeout; otherwise, false</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
+ negative number other than -1, which represents an infinite time-out.</exception>
+ </member>
+ <member name="P:System.Threading.SpinWait.Count">
+ <summary>
+ Gets the number of times <see cref="M:System.Threading.SpinWait.SpinOnce"/> has been called on this instance.
+ </summary>
+ </member>
+ <member name="P:System.Threading.SpinWait.NextSpinWillYield">
+ <summary>
+ Gets whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"/> will yield the processor, triggering a
+ forced context switch.
+ </summary>
+ <value>Whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"/> will yield the processor, triggering a
+ forced context switch.</value>
+ <remarks>
+ On a single-CPU machine, <see cref="M:System.Threading.SpinWait.SpinOnce"/> always yields the processor. On machines with
+ multiple CPUs, <see cref="M:System.Threading.SpinWait.SpinOnce"/> may yield after an unspecified number of calls.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.PlatformHelper">
+ <summary>
+ A helper class to get the number of preocessors, it updates the numbers of processors every sampling interval
+ </summary>
+ </member>
+ <member name="P:System.Threading.PlatformHelper.ProcessorCount">
+ <summary>
+ Gets the number of available processors
+ </summary>
+ </member>
+ <member name="P:System.Threading.PlatformHelper.IsSingleProcessor">
+ <summary>
+ Gets whether the current machine has only a single processor.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.Task`1">
+ <summary>
+ Represents an asynchronous operation that produces a result at some time in the future.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by this <see cref="T:System.Threading.Tasks.Task`1"/>.
+ </typeparam>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.Tasks.Task`1"/> instances may be created in a variety of ways. The most common approach is by
+ using the task's <see cref="P:System.Threading.Tasks.Task`1.Factory"/> property to retrieve a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance that can be used to create tasks for several
+ purposes. For example, to create a <see cref="T:System.Threading.Tasks.Task`1"/> that runs a function, the factory's StartNew
+ method may be used:
+ <code>
+ // C#
+ var t = Task&lt;int&gt;.Factory.StartNew(() =&gt; GenerateResult());
+ - or -
+ var t = Task.Factory.StartNew(() =&gt; GenerateResult());
+
+ ' Visual Basic
+ Dim t = Task&lt;int&gt;.Factory.StartNew(Function() GenerateResult())
+ - or -
+ Dim t = Task.Factory.StartNew(Function() GenerateResult())
+ </code>
+ </para>
+ <para>
+ The <see cref="T:System.Threading.Tasks.Task`1"/> class also provides constructors that initialize the task but that do not
+ schedule it for execution. For performance reasons, the StartNew method should be the
+ preferred mechanism for creating and scheduling computational tasks, but for scenarios where creation
+ and scheduling must be separated, the constructors may be used, and the task's
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see>
+ method may then be used to schedule the task for execution at a later time.
+ </para>
+ <para>
+ All members of <see cref="T:System.Threading.Tasks.Task`1"/>, except for
+ <see cref="M:System.Threading.Tasks.Task.Dispose">Dispose</see>, are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.Task">
+ <summary>
+ Represents an asynchronous operation.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.Tasks.Task"/> instances may be created in a variety of ways. The most common approach is by
+ using the Task type's <see cref="P:System.Threading.Tasks.Task.Factory"/> property to retrieve a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance that can be used to create tasks for several
+ purposes. For example, to create a <see cref="T:System.Threading.Tasks.Task"/> that runs an action, the factory's StartNew
+ method may be used:
+ <code>
+ // C#
+ var t = Task.Factory.StartNew(() =&gt; DoAction());
+
+ ' Visual Basic
+ Dim t = Task.Factory.StartNew(Function() DoAction())
+ </code>
+ </para>
+ <para>
+ The <see cref="T:System.Threading.Tasks.Task"/> class also provides constructors that initialize the Task but that do not
+ schedule it for execution. For performance reasons, TaskFactory's StartNew method should be the
+ preferred mechanism for creating and scheduling computational tasks, but for scenarios where creation
+ and scheduling must be separated, the constructors may be used, and the task's <see cref="M:System.Threading.Tasks.Task.Start"/>
+ method may then be used to schedule the task for execution at a later time.
+ </para>
+ <para>
+ All members of <see cref="T:System.Threading.Tasks.Task"/>, except for <see cref="M:System.Threading.Tasks.Task.Dispose"/>, are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ <para>
+ For operations that return values, the <see cref="T:System.Threading.Tasks.Task`1"/> class
+ should be used.
+ </para>
+ <para>
+ For developers implementing custom debuggers, several internal and private members of Task may be
+ useful (these may change from release to release). The Int32 m_taskId field serves as the backing
+ store for the <see cref="P:System.Threading.Tasks.Task.Id"/> property, however accessing this field directly from a debugger may be
+ more efficient than accessing the same value through the property's getter method (the
+ s_taskIdCounter Int32 counter is used to retrieve the next available ID for a Task). Similarly, the
+ Int32 m_stateFlags field stores information about the current lifecycle stage of the Task,
+ information also accessible through the <see cref="P:System.Threading.Tasks.Task.Status"/> property. The m_action System.Object
+ field stores a reference to the Task's delegate, and the m_stateObject System.Object field stores the
+ async state passed to the Task by the developer. Finally, for debuggers that parse stack frames, the
+ InternalWait method serves a potential marker for when a Task is entering a wait operation.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#cctor">
+ <summary>
+ A type initializer that runs with the appropriate permissions.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the Task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the Task.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new Task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and creation options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and creation options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and state.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Object,System.Object,System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ An internal constructor used by the factory methods on task and its descendent(s).
+ This variant does not capture the ExecutionContext; it is up to the caller to do that.
+ </summary>
+ <param name="action">An action to execute.</param>
+ <param name="state">Optional state to pass to the action.</param>
+ <param name="parent">Parent of Task.</param>
+ <param name="cancellationToken">A CancellationToken for the task.</param>
+ <param name="scheduler">A task scheduler under which the task will run.</param>
+ <param name="creationOptions">Options to control its execution.</param>
+ <param name="internalOptions">Internal options to control its execution</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.TaskConstructorCore(System.Object,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Common logic used by the following internal ctors:
+ Task()
+ Task(object action, object state, Task parent, TaskCreationOptions options, TaskScheduler taskScheduler)
+
+ ASSUMES THAT m_creatingTask IS ALREADY SET.
+
+ </summary>
+ <param name="action">Action for task to execute.</param>
+ <param name="state">Object to which to pass to action (may be null)</param>
+ <param name="scheduler">Task scheduler on which to run thread (only used by continuation tasks).</param>
+ <param name="cancellationToken">A CancellationToken for the Task.</param>
+ <param name="creationOptions">Options to customize behavior of Task.</param>
+ <param name="internalOptions">Internal options to customize behavior of Task.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.DeregisterCancellationCallback">
+ <summary>
+ Checks if we registered a CT callback during construction, and deregisters it.
+ This should be called when we know the registration isn't useful anymore. Specifically from Finish() if the task has completed
+ successfully or with an exception.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.PossiblyCaptureContext(System.Threading.StackCrawlMark@)">
+ <summary>
+ Captures the ExecutionContext so long as flow isn't suppressed.
+ </summary>
+ <param name="stackMark">A stack crawl mark pointing to the frame of the caller.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddNewChild">
+ <summary>
+ Internal function that will be called by a new child task to add itself to
+ the children list of the parent (this).
+
+ Since a child task can only be created from the thread executing the action delegate
+ of this task, reentrancy is neither required nor supported. This should not be called from
+ anywhere other than the task construction/initialization codepaths.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Start">
+ <summary>
+ Starts the <see cref="T:System.Threading.Tasks.Task"/>, scheduling it for execution to the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </summary>
+ <remarks>
+ A task may only be started and run only once. Any attempts to schedule a task a second time
+ will result in an exception.
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Start(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Starts the <see cref="T:System.Threading.Tasks.Task"/>, scheduling it for execution to the specified <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </summary>
+ <remarks>
+ A task may only be started and run only once. Any attempts to schedule a task a second time will
+ result in an exception.
+ </remarks>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> with which to associate
+ and execute this task.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.RunSynchronously">
+ <summary>
+ Runs the <see cref="T:System.Threading.Tasks.Task"/> synchronously on the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </summary>
+ <remarks>
+ <para>
+ A task may only be started and run only once. Any attempts to schedule a task a second time will
+ result in an exception.
+ </para>
+ <para>
+ Tasks executed with <see cref="M:System.Threading.Tasks.Task.RunSynchronously"/> will be associated with the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </para>
+ <para>
+ If the target scheduler does not support running this Task on the current thread, the Task will
+ be scheduled for execution on the scheduler, and the current thread will block until the
+ Task has completed execution.
+ </para>
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.RunSynchronously(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Runs the <see cref="T:System.Threading.Tasks.Task"/> synchronously on the <see cref="T:System.Threading.Tasks.TaskScheduler">scheduler</see> provided.
+ </summary>
+ <remarks>
+ <para>
+ A task may only be started and run only once. Any attempts to schedule a task a second time will
+ result in an exception.
+ </para>
+ <para>
+ If the target scheduler does not support running this Task on the current thread, the Task will
+ be scheduled for execution on the scheduler, and the current thread will block until the
+ Task has completed execution.
+ </para>
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="scheduler"/> parameter
+ is null.</exception>
+ <param name="scheduler">The scheduler on which to attempt to run this task inline.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ThrowIfDisposed">
+ <summary>
+ Throws an exception if the task has been disposed, and hence can no longer be accessed.
+ </summary>
+ <exception cref="T:System.ObjectDisposedException">The task has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.SetCompleted">
+ <summary>
+ Sets the internal completion event.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Dispose">
+ <summary>
+ Disposes the <see cref="T:System.Threading.Tasks.Task"/>, releasing all of its unmanaged resources.
+ </summary>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.Tasks.Task"/>, this method is not thread-safe.
+ Also, <see cref="M:System.Threading.Tasks.Task.Dispose"/> may only be called on a <see cref="T:System.Threading.Tasks.Task"/> that is in one of
+ the final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The exception that is thrown if the <see cref="T:System.Threading.Tasks.Task"/> is not in
+ one of the final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Dispose(System.Boolean)">
+ <summary>
+ Disposes the <see cref="T:System.Threading.Tasks.Task"/>, releasing all of its unmanaged resources.
+ </summary>
+ <param name="disposing">
+ A Boolean value that indicates whether this method is being called due to a call to <see cref="M:System.Threading.Tasks.Task.Dispose"/>.
+ </param>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.Tasks.Task"/>, this method is not thread-safe.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ScheduleAndStart(System.Boolean)">
+ <summary>
+ Schedules the task for execution.
+ </summary>
+ <param name="needsProtection">If true, TASK_STATE_STARTED bit is turned on in
+ an atomic fashion, making sure that TASK_STATE_CANCELED does not get set
+ underneath us. If false, TASK_STATE_STARTED bit is OR-ed right in. This
+ allows us to streamline things a bit for StartNew(), where competing cancellations
+ are not a problem.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddException(System.Object)">
+ <summary>
+ Adds an exception to the list of exceptions this task has thrown.
+ </summary>
+ <param name="exceptionObject">An object representing either an Exception or a collection of Exceptions.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.GetExceptions(System.Boolean)">
+ <summary>
+ Returns a list of exceptions by aggregating the holder's contents. Or null if
+ no exceptions have been thrown.
+ </summary>
+ <param name="includeTaskCanceledExceptions">Whether to include a TCE if cancelled.</param>
+ <returns>An aggregate exception, or null if no exceptions have been caught.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ThrowIfExceptional(System.Boolean)">
+ <summary>
+ Throws an aggregate exception if the task contains exceptions.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.UpdateExceptionObservedStatus">
+ <summary>
+ Checks whether this is an attached task, and whether we are being called by the parent task.
+ And sets the TASK_STATE_EXCEPTIONOBSERVEDBYPARENT status flag based on that.
+
+ This is meant to be used internally when throwing an exception, and when WaitAll is gathering
+ exceptions for tasks it waited on. If this flag gets set, the implicit wait on children
+ will skip exceptions to prevent duplication.
+
+ This should only be called when this task has completed with an exception
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Finish(System.Boolean)">
+ <summary>
+ Signals completion of this particular task.
+
+ The bUserDelegateExecuted parameter indicates whether this Finish() call comes following the
+ full execution of the user delegate.
+
+ If bUserDelegateExecuted is false, it mean user delegate wasn't invoked at all (either due to
+ a cancellation request, or because this task is a promise style Task). In this case, the steps
+ involving child tasks (i.e. WaitForChildren) will be skipped.
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishStageTwo">
+ <summary>
+ FinishStageTwo is to be executed as soon as we known there are no more children to complete.
+ It can happen i) either on the thread that originally executed this task (if no children were spawned, or they all completed by the time this task's delegate quit)
+ ii) or on the thread that executed the last child.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishStageThree">
+ <summary>
+ Final stage of the task completion code path. Notifies the parent (if any) that another of its childre are done, and runs continuations.
+ This function is only separated out from FinishStageTwo because these two operations are also needed to be called from CancellationCleanupLogic()
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ProcessChildCompletion(System.Threading.Tasks.Task)">
+ <summary>
+ This is called by children of this task when they are completed.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddExceptionsFromChildren">
+ <summary>
+ This is to be called just before the task does its final state transition.
+ It traverses the list of exceptional children, and appends their aggregate exceptions into this one's exception list
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishThreadAbortedTask(System.Boolean,System.Boolean)">
+ <summary>
+ Special purpose Finish() entry point to be used when the task delegate throws a ThreadAbortedException
+ This makes a note in the state flags so that we avoid any costly synchronous operations in the finish codepath
+ such as inlined continuations
+ </summary>
+ <param name="bTAEAddedToExceptionHolder">
+ Indicates whether the ThreadAbortException was added to this task's exception holder.
+ This should always be true except for the case of non-root self replicating task copies.
+ </param>
+ <param name="delegateRan">Whether the delegate was executed.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Execute">
+ <summary>
+ Executes the task. This method will only be called once, and handles bookeeping associated with
+ self-replicating tasks, in addition to performing necessary exception marshaling.
+ </summary>
+ <exception cref="T:System.ObjectDisposedException">The task has already been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.System#Threading#Tasks#IThreadPoolWorkItem#ExecuteWorkItem">
+ <summary>
+ IThreadPoolWorkItem override, which is the entry function for this task when the TP scheduler decides to run it.
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ExecuteEntry(System.Boolean)">
+ <summary>
+ Outermost entry function to execute this task. Handles all aspects of executing a task on the caller thread.
+ Currently this is called by IThreadPoolWorkItem.ExecuteWorkItem(), and TaskManager.TryExecuteInline.
+
+ </summary>
+ <param name="bPreventDoubleExecution"> Performs atomic updates to prevent double execution. Should only be set to true
+ in codepaths servicing user provided TaskSchedulers. The ConcRT or ThreadPool schedulers don't need this. </param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InnerInvoke">
+ <summary>
+ The actual code which invokes the body of the task. This can be overriden in derived types.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task)">
+ <summary>
+ Alternate InnerInvoke prototype to be called from ExecuteSelfReplicating() so that
+ the Parallel Debugger can discover the actual task being invoked.
+ Details: Here, InnerInvoke is actually being called on the rootTask object while we are actually executing the
+ childTask. And the debugger needs to discover the childTask, so we pass that down as an argument.
+ The NoOptimization and NoInlining flags ensure that the childTask pointer is retained, and that this
+ function appears on the callstack.
+ </summary>
+ <param name="childTask"></param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.HandleException(System.Exception)">
+ <summary>
+ Performs whatever handling is necessary for an unhandled exception. Normally
+ this just entails adding the exception to the holder object.
+ </summary>
+ <param name="unhandledException">The exception that went unhandled.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during
+ the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.TimeSpan)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="timeout">
+ 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>
+ <returns>
+ true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise, false.
+ </returns>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="timeout"/> is a negative number other than -1 milliseconds, which represents an
+ infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.Threading.CancellationToken)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the task to complete.
+ </param>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.Int32)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.</param>
+ <returns>true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise,
+ false.
+ </returns>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the task to complete.
+ </param>
+ <returns>
+ true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise, false.
+ </returns>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InternalWait(System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ The core wait function, which is only accesible internally. It's meant to be used in places in TPL code where
+ the current context is known or cached.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InternalCancel(System.Boolean)">
+ <summary>
+ Cancels the <see cref="T:System.Threading.Tasks.Task"/>.
+ </summary>
+ <param name="bCancelNonExecutingOnly"> Indiactes whether we should only cancel non-invoked tasks.
+ For the default scheduler this option will only be serviced through TryDequeue.
+ For custom schedulers we also attempt an atomic state transition.</param>
+ <returns>true if the task was successfully canceled; otherwise, false.</returns>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.SetCancellationAcknowledged">
+ <summary>
+ Sets the task's cancellation acknowledged flag.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishContinuations">
+ <summary>
+ Runs all of the continuations, as appropriate.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWithIsRightKind(System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Helper function to determine whether the current task is in the state desired by the
+ continuation kind under evaluation. Three possibilities exist: the task failed with
+ an unhandled exception (OnFailed), the task was canceled before running (OnAborted),
+ or the task completed successfully (OnCompletedSuccessfully). Note that the last
+ one includes completing due to cancellation.
+ </summary>
+ <param name="options">The continuation options under evaluation.</param>
+ <returns>True if the continuation should be run given the task's current state.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken"> The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
+ instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
+ are not met, the continuation task will be canceled instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
+ instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
+ are not met, the continuation task will be canceled instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.CreationOptionsFromContinuationOptions(System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskCreationOptions@,System.Threading.Tasks.InternalTaskOptions@)">
+ <summary>
+ Converts TaskContinuationOptions to TaskCreationOptions, and also does
+ some validity checking along the way.
+ </summary>
+ <param name="continuationOptions">Incoming TaskContinuationOptions</param>
+ <param name="creationOptions">Outgoing TaskCreationOptions</param>
+ <param name="internalOptions">Outgoing InternalTaskOptions</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Registers the continuation and possibly runs it (if the task is already finished).
+ </summary>
+ <param name="continuationTask">The continuation task itself.</param>
+ <param name="scheduler">TaskScheduler with which to associate continuation task.</param>
+ <param name="options">Restrictions on when the continuation becomes active.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[])">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.TimeSpan)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="timeout">
+ 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>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="timeout"/> is a negative number other than -1 milliseconds, which represents an
+ infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Int32)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.</param>
+ <param name="tasks">An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Threading.CancellationToken)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the tasks to complete.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the tasks to complete.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAllSTAAnd64Aware(System.Threading.WaitHandle[],System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for a set of handles in a STA-aware way. In other words, it will wait for each
+ of the events individually if we're on a STA thread, because MsgWaitForMultipleObjectsEx
+ can't do a true wait-all due to its hidden message queue event. This is not atomic,
+ of course, but we only wait on one-way (MRE) events anyway so this is OK.
+ </summary>
+ <param name="waitHandles">An array of wait handles to wait on.</param>
+ <param name="millisecondsTimeout">The timeout to use during waits.</param>
+ <param name="cancellationToken">The cancellationToken that enables a wait to be canceled.</param>
+ <returns>True if all waits succeeded, false if a timeout occurred.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FastWaitAll(System.Threading.Tasks.Task[])">
+ <summary>
+ Internal WaitAll implementation which is meant to be used with small number of tasks,
+ optimized for Parallel.Invoke and other structured primitives.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddExceptionsForCompletedTask(System.Collections.Generic.List{System.Exception}@,System.Threading.Tasks.Task)">
+ <summary>
+ This internal function is only meant to be called by WaitAll()
+ If the completed task is canceled or it has other exceptions, here we will add those
+ into the passed in exception list (which will be lazily initialized here).
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[])">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <returns>The index of the completed task in the <paramref name="tasks"/> array argument.</returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.TimeSpan)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="timeout">
+ 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>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
+ timeout occurred.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="timeout"/> is a negative number other than -1 milliseconds, which represents an
+ infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Threading.CancellationToken)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for a task to complete.
+ </param>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Int32)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
+ timeout occurred.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for a task to complete.
+ </param>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
+ timeout occurred.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Id">
+ <summary>
+ Gets a unique ID for this <see cref="T:System.Threading.Tasks.Task">Task</see> instance.
+ </summary>
+ <remarks>
+ Task IDs are assigned on-demand and do not necessarily represent the order in the which Task
+ instances were created.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CurrentId">
+ <summary>
+ Returns the unique ID of the currently executing <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.InternalCurrent">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.Task">Task</see> instance currently executing, or
+ null if none exists.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Exception">
+ <summary>
+ Gets the <see cref="T:System.AggregateException">Exception</see> that caused the <see cref="T:System.Threading.Tasks.Task">Task</see> to end prematurely. If the <see cref="T:System.Threading.Tasks.Task">Task</see> completed successfully or has not yet thrown any
+ exceptions, this will return null.
+ </summary>
+ <remarks>
+ Tasks that throw unhandled exceptions store the resulting exception and propagate it wrapped in a
+ <see cref="T:System.AggregateException"/> in calls to <see cref="M:System.Threading.Tasks.Task.Wait">Wait</see>
+ or in accesses to the <see cref="P:System.Threading.Tasks.Task.Exception"/> property. Any exceptions not observed by the time
+ the Task instance is garbage collected will be propagated on the finalizer thread.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task">Task</see>
+ has been disposed.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Status">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> of this Task.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCanceled">
+ <summary>
+ Gets whether this <see cref="T:System.Threading.Tasks.Task">Task</see> instance has completed
+ execution due to being canceled.
+ </summary>
+ <remarks>
+ A <see cref="T:System.Threading.Tasks.Task">Task</see> will complete in Canceled state either if its <see cref="P:System.Threading.Tasks.Task.CancellationToken">CancellationToken</see>
+ was marked for cancellation before the task started executing, or if the task acknowledged the cancellation request on
+ its already signaled CancellationToken by throwing an
+ <see cref="T:System.OperationCanceledException">OperationCanceledException2</see> that bears the same
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCancellationRequested">
+ <summary>
+ Returns true if this task has a cancellation token and it was signaled.
+ To be used internally in execute entry codepaths.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CancellationToken">
+ <summary>
+ This internal property provides access to the CancellationToken that was set on the task
+ when it was constructed.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCancellationAcknowledged">
+ <summary>
+ Gets whether this <see cref="T:System.Threading.Tasks.Task"/> threw an OperationCanceledException2 while its CancellationToken was signaled.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCompleted">
+ <summary>
+ Gets whether this <see cref="T:System.Threading.Tasks.Task">Task</see> has completed.
+ </summary>
+ <remarks>
+ <see cref="P:System.Threading.Tasks.Task.IsCompleted"/> will return true when the Task is in one of the three
+ final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsDisposed">
+ <summary>
+ Checks whether this task has been disposed.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CreationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used
+ to create this task.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.System#IAsyncResult#AsyncWaitHandle">
+ <summary>
+ Gets a <see cref="T:System.Threading.WaitHandle"/> that can be used to wait for the task to
+ complete.
+ </summary>
+ <remarks>
+ Using the wait functionality provided by <see cref="M:System.Threading.Tasks.Task.Wait"/>
+ should be preferred over using <see cref="P:System.IAsyncResult.AsyncWaitHandle"/> for similar
+ functionality.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.AsyncState">
+ <summary>
+ Gets the state object supplied when the <see cref="T:System.Threading.Tasks.Task">Task</see> was created,
+ or null if none was supplied.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.System#IAsyncResult#CompletedSynchronously">
+ <summary>
+ Gets an indication of whether the asynchronous operation completed synchronously.
+ </summary>
+ <value>true if the asynchronous operation completed synchronously; otherwise, false.</value>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.ExecutingTaskScheduler">
+ <summary>
+ Provides access to the TaskScheduler responsible for executing this Task.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Factory">
+ <summary>
+ Provides access to factory methods for creating <see cref="T:System.Threading.Tasks.Task"/> and <see cref="T:System.Threading.Tasks.Task`1"/> instances.
+ </summary>
+ <remarks>
+ The factory returned from <see cref="P:System.Threading.Tasks.Task.Factory"/> is a default instance
+ of <see cref="T:System.Threading.Tasks.TaskFactory"/>, as would result from using
+ the default constructor on TaskFactory.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CompletedEvent">
+ <summary>
+ Provides an event that can be used to wait for completion.
+ Only called by Wait*(), which means that we really do need to instantiate a completion event.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsSelfReplicatingRoot">
+ <summary>
+ Determines whether this is the root task of a self replicating group.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsChildReplica">
+ <summary>
+ Determines whether the task is a replica itself.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.ExceptionRecorded">
+ <summary>
+ The property formerly known as IsFaulted.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsFaulted">
+ <summary>
+ Gets whether the <see cref="T:System.Threading.Tasks.Task"/> completed due to an unhandled exception.
+ </summary>
+ <remarks>
+ If <see cref="P:System.Threading.Tasks.Task.IsFaulted"/> is true, the Task's <see cref="P:System.Threading.Tasks.Task.Status"/> will be equal to
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">TaskStatus.Faulted</see>, and its
+ <see cref="P:System.Threading.Tasks.Task.Exception"/> property will be non-null.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsExceptionObservedByParent">
+ <summary>
+ Checks whether the TASK_STATE_EXCEPTIONOBSERVEDBYPARENT status flag is set,
+ This will only be used by the implicit wait to prevent double throws
+
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsDelegateInvoked">
+ <summary>
+ Checks whether the body was ever invoked. Used by task scheduler code to verify custom schedulers actually ran the task.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.Task.TaskContinuation">
+ <summary>
+ A structure to hold continuation information.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.TaskContinuation.#ctor(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Constructs a new continuation structure.
+ </summary>
+ <param name="task">The task to be activated.</param>
+ <param name="options">The continuation options.</param>
+ <param name="scheduler">The scheduler to use for the continuation.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.TaskContinuation.Run(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>
+ Invokes the continuation for the target completion task.
+ </summary>
+ <param name="completedTask">The completed task.</param>
+ <param name="bCanInlineContinuationTask">Whether the continuation can be inlined.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0})">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to this task.</param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and creation options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and creation options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and state.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the function.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to the new task.</param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the function.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the function.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a new future object.
+ </summary>
+ <param name="parent">The parent task for this future.</param>
+ <param name="valueSelector">A function that yields the future value.</param>
+ <param name="scheduler">The task scheduler which will be used to execute the future.</param>
+ <param name="cancellationToken">The CancellationToken for the task.</param>
+ <param name="creationOptions">Options to control the future's behavior.</param>
+ <param name="internalOptions">Internal options to control the future's behavior.</param>
+ <exception cref="T:ArgumentOutOfRangeException">The <paramref name="creationOptions"/> argument specifies
+ a SelfReplicating <see cref="T:System.Threading.Tasks.Task`1"/>, which is illegal."/&gt;.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a new future object.
+ </summary>
+ <param name="parent">The parent task for this future.</param>
+ <param name="state">An object containing data to be used by the action; may be null.</param>
+ <param name="valueSelector">A function that yields the future value.</param>
+ <param name="cancellationToken">The CancellationToken for the task.</param>
+ <param name="scheduler">The task scheduler which will be used to execute the future.</param>
+ <param name="creationOptions">Options to control the future's behavior.</param>
+ <param name="internalOptions">Internal options to control the future's behavior.</param>
+ <exception cref="T:ArgumentOutOfRangeException">The <paramref name="creationOptions"/> argument specifies
+ a SelfReplicating <see cref="T:System.Threading.Tasks.Task`1"/>, which is illegal."/&gt;.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.InvokeFuture(System.Object)">
+ <summary>
+ Evaluates the value selector of the Task which is passed in as an object and stores the result.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
+ instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
+ are not met, the continuation task will be canceled instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
+ task has completed, whether it completes due to running to completion successfully, faulting due
+ to an unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
+ task has completed, whether it completes due to running to completion successfully, faulting due
+ to an unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ <para>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
+ task has completed, whether it completes due to running to completion successfully, faulting due
+ to an unhandled exception, or exiting out early due to being canceled.
+ </para>
+ <para>
+ The <paramref name="continuationFunction"/>, when executed, should return a <see cref="T:System.Threading.Tasks.Task`1"/>. This task's completion state will be transferred to the task returned
+ from the ContinueWith call.
+ </para>
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be passed as
+ an argument this completed task.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ <para>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </para>
+ <para>
+ The <paramref name="continuationFunction"/>, when executed, should return a <see cref="T:System.Threading.Tasks.Task`1"/>.
+ This task's completion state will be transferred to the task returned from the
+ ContinueWith call.
+ </para>
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task`1.Result">
+ <summary>
+ Gets the result value of this <see cref="T:System.Threading.Tasks.Task`1"/>.
+ </summary>
+ <remarks>
+ The get accessor for this property ensures that the asynchronous operation is complete before
+ returning. Once the result of the computation is available, it is stored and will be returned
+ immediately on later calls to <see cref="P:System.Threading.Tasks.Task`1.Result"/>.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task`1.Factory">
+ <summary>
+ Provides access to factory methods for creating <see cref="T:System.Threading.Tasks.Task`1"/> instances.
+ </summary>
+ <remarks>
+ The factory returned from <see cref="P:System.Threading.Tasks.Task`1.Factory"/> is a default instance
+ of <see cref="T:System.Threading.Tasks.TaskFactory`1"/>, as would result from using
+ the default constructor on the factory type.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskFactory`1">
+ <summary>
+ Provides support for creating and scheduling
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task{TResult}</see> objects.
+ </summary>
+ <typeparam name="TResult">The type of the results that are available though
+ the <see cref="T:System.Threading.Tasks.Task{TResult}">Task{TResult}</see> objects that are associated with
+ the methods in this class.</typeparam>
+ <remarks>
+ <para>
+ There are many common patterns for which tasks are relevant. The <see cref="T:System.Threading.Tasks.TaskFactory`1"/>
+ class encodes some of these patterns into methods that pick up default settings, which are
+ configurable through its constructors.
+ </para>
+ <para>
+ A default instance of <see cref="T:System.Threading.Tasks.TaskFactory`1"/> is available through the
+ <see cref="P:System.Threading.Tasks.Task`1.Factory">Task{TResult}.Factory</see> property.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the default configuration.
+ </summary>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.CancellationToken)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the default configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
+ </summary>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any tasks created with this TaskFactory{TResult}. A null value
+ indicates that the current TaskScheduler should be used.
+ </param>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to <paramref name="scheduler"/>, unless it's null, in which case the property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
+ </summary>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory{TResult}.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory{TResult}.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argument specifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory{TResult}.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory{TResult}.
+ </param>
+ <param name="scheduler">
+ The default <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any Tasks created with this TaskFactory{TResult}. A null value
+ indicates that TaskScheduler.Current should be used.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argumentspecifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to
+ <paramref name="scheduler"/>, unless it's null, in which case the property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0})">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0})">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref name="asyncResult"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the task that executes the end method.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,``2,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref
+ name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.CancellationToken">
+ <summary>
+ Gets the default <see cref="T:System.Threading.CancellationToken">CancellationToken</see> of this
+ TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to all
+ tasks created by this factory unless another CancellationToken value is explicitly specified
+ during the call to the factory methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.Scheduler">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> of this
+ TaskFactory{TResult}.
+ </summary>
+ <remarks>
+ This property returns the default scheduler for this factory. It will be used to schedule all
+ tasks unless another scheduler is explicitly specified during calls to this factory's methods.
+ If null, <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>
+ will be used.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.CreationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions
+ </see> value of this TaskFactory{TResult}.
+ </summary>
+ <remarks>
+ This property returns the default creation options for this factory. They will be used to create all
+ tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.ContinuationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskContinuationOptions
+ </see> value of this TaskFactory{TResult}.
+ </summary>
+ <remarks>
+ This property returns the default continuation options for this factory. They will be used to create
+ all continuation tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskStatus">
+ <summary>
+ Represents the current stage in the lifecycle of a <see cref="T:System.Threading.Tasks.Task"/>.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Created">
+ <summary>
+ The task has been initialized but has not yet been scheduled.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.WaitingForActivation">
+ <summary>
+ The task is waiting to be activated and scheduled internally by the .NET Framework infrastructure.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.WaitingToRun">
+ <summary>
+ The task has been scheduled for execution but has not yet begun executing.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Running">
+ <summary>
+ The task is running but has not yet completed.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.WaitingForChildrenToComplete">
+ <summary>
+ The task has finished executing and is implicitly waiting for
+ attached child tasks to complete.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.RanToCompletion">
+ <summary>
+ The task completed execution successfully.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Canceled">
+ <summary>
+ The task acknowledged cancellation by throwing an OperationCanceledException2 with its own CancellationToken
+ while the token was in signaled state, or the task's CancellationToken was already signaled before the
+ task started executing.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Faulted">
+ <summary>
+ The task completed due to an unhandled exception.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskCreationOptions">
+ <summary>
+ Specifies flags that control optional behavior for the creation and execution of tasks.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.None">
+ <summary>
+ Specifies that the default behavior should be used.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.PreferFairness">
+ <summary>
+ A hint to a <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> to schedule a
+ task in as fair a manner as possible, meaning that tasks scheduled sooner will be more likely to
+ be run sooner, and tasks scheduled later will be more likely to be run later.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.LongRunning">
+ <summary>
+ Specifies that a task will be a long-running, course-grained operation. It provides a hint to the
+ <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> that oversubscription may be
+ warranted.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.AttachedToParent">
+ <summary>
+ Specifies that a task is attached to a parent in the task hierarchy.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.InternalTaskOptions">
+ <summary>
+ Task creation flags which are only used internally.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.InternalTaskOptions.None">
+ <summary> Specifies "No internal task options" </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.InternalTaskOptions.InternalOptionsMask">
+ <summary>Used to filter out internal vs. public task creation options.</summary>
+ </member>
+ <member name="F:System.Threading.Tasks.InternalTaskOptions.QueuedByRuntime">
+ <summary>Specifies that the task will be queued by the runtime before handing it over to the user.
+ This flag will be used to skip the cancellationtoken registration step, which is only meant for unstarted tasks.</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskContinuationOptions">
+ <summary>
+ Specifies flags that control optional behavior for the creation and execution of continuation tasks.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.None">
+ <summary>
+ Default = "Continue on any, no task options, run asynchronously"
+ Specifies that the default behavior should be used. Continuations, by default, will
+ be scheduled when the antecedent task completes, regardless of the task's final <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see>.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.PreferFairness">
+ <summary>
+ A hint to a <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> to schedule a
+ task in as fair a manner as possible, meaning that tasks scheduled sooner will be more likely to
+ be run sooner, and tasks scheduled later will be more likely to be run later.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.LongRunning">
+ <summary>
+ Specifies that a task will be a long-running, course-grained operation. It provides
+ a hint to the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> that
+ oversubscription may be warranted.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.AttachedToParent">
+ <summary>
+ Specifies that a task is attached to a parent in the task hierarchy.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnRanToCompletion">
+ <summary>
+ Specifies that the continuation task should not be scheduled if its antecedent ran to completion.
+ This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnFaulted">
+ <summary>
+ Specifies that the continuation task should not be scheduled if its antecedent threw an unhandled
+ exception. This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnCanceled">
+ <summary>
+ Specifies that the continuation task should not be scheduled if its antecedent was canceled. This
+ option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnRanToCompletion">
+ <summary>
+ Specifies that the continuation task should be scheduled only if its antecedent ran to
+ completion. This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnFaulted">
+ <summary>
+ Specifies that the continuation task should be scheduled only if its antecedent threw an
+ unhandled exception. This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">
+ <summary>
+ Specifies that the continuation task should be scheduled only if its antecedent was canceled.
+ This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">
+ <summary>
+ Specifies that the continuation task should be executed synchronously. With this option
+ specified, the continuation will be run on the same thread that causes the antecedent task to
+ transition into its final state. If the antecedent is already complete when the continuation is
+ created, the continuation will run on the thread creating the continuation. Only very
+ short-running continuations should be executed synchronously.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskCanceledException">
+ <summary>
+ Represents an exception used to communicate task cancellation.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> class.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
+ class with a specified error message.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.String,System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
+ class with a specified error message and a reference to the inner exception that is the cause of
+ this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.Threading.Tasks.Task)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> class
+ with a reference to the <see cref="T:System.Threading.Tasks.Task"/> that has been canceled.
+ </summary>
+ <param name="task">A task that has been canceled.</param>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskCanceledException.Task">
+ <summary>
+ Gets the task associated with this exception.
+ </summary>
+ <remarks>
+ It is permissible for no Task to be associated with a
+ <see cref="T:System.Threading.Tasks.TaskCanceledException"/>, in which case
+ this property will return null.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskCompletionSource`1">
+ <summary>
+ Represents the producer side of a <see cref="T:System.Threading.Tasks.Task{TResult}"/> unbound to a
+ delegate, providing access to the consumer side through the <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> property.
+ </summary>
+ <remarks>
+ <para>
+ It is often the case that a <see cref="T:System.Threading.Tasks.Task{TResult}"/> is desired to
+ represent another asynchronous operation.
+ <see cref="T:System.Threading.Tasks.TaskCompletionSource`1">TaskCompletionSource</see> is provided for this purpose. It enables
+ the creation of a task that can be handed out to consumers, and those consumers can use the members
+ of the task as they would any other. However, unlike most tasks, the state of a task created by a
+ TaskCompletionSource is controlled explicitly by the methods on TaskCompletionSource. This enables the
+ completion of the external asynchronous operation to be propagated to the underlying Task. The
+ separation also ensures that consumers are not able to transition the state without access to the
+ corresponding TaskCompletionSource.
+ </para>
+ <para>
+ All members of <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/> are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ </remarks>
+ <typeparam name="TResult">The type of the result value assocatied with this <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.</typeparam>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>
+ with the specified options.
+ </summary>
+ <remarks>
+ The <see cref="T:System.Threading.Tasks.Task{TResult}"/> created
+ by this instance and accessible through its <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> property
+ will be instantiated using the specified <paramref name="creationOptions"/>.
+ </remarks>
+ <param name="creationOptions">The options to use when creating the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> represent options invalid for use
+ with a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>
+ with the specified state.
+ </summary>
+ <param name="state">The state to use as the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>'s AsyncState.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/> with
+ the specified state and options.
+ </summary>
+ <param name="creationOptions">The options to use when creating the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">The state to use as the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>'s AsyncState.</param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> represent options invalid for use
+ with a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetException(System.Exception)">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exception">The exception to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetException(System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exceptions">The collection of exceptions to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exceptions"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">There are one or more null elements in <paramref name="exceptions"/>.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="exceptions"/> collection is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Exception)">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exception">The exception to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exceptions">The collection of exceptions to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exceptions"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">There are one or more null elements in <paramref name="exceptions"/>.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetResult(`0)">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>
+ state.
+ </summary>
+ <param name="result">The result value to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetResult(`0)">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>
+ state.
+ </summary>
+ <param name="result">The result value to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetCanceled">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>
+ state.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetCanceled">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>
+ state.
+ </summary>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskCompletionSource`1.Task">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.Task{TResult}"/> created
+ by this <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </summary>
+ <remarks>
+ This property enables a consumer access to the <see cref="T:System.Threading.Tasks.Task{TResult}"/> that is controlled by this instance.
+ The <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetResult(`0)"/>, <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Exception)"/>,
+ <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Collections.Generic.IEnumerable{System.Exception})"/>, and <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetCanceled"/>
+ methods (and their "Try" variants) on this instance all result in the relevant state
+ transitions on this underlying Task.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskExceptionHolder">
+ <summary>
+ An exception holder manages a list of exceptions for one particular task.
+ It offers the ability to aggregate, but more importantly, also offers intrinsic
+ support for propagating unhandled exceptions that are never observed. It does
+ this by aggregating and throwing if the holder is ever GC'd without the holder's
+ contents ever having been requested (e.g. by a Task.Wait, Task.get_Exception, etc).
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.#ctor(System.Threading.Tasks.Task)">
+ <summary>
+ Creates a new holder; it will be registered for finalization.
+ </summary>
+ <param name="task">The task this holder belongs to.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.Finalize">
+ <summary>
+ A finalizer that repropagates unhandled exceptions.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.Add(System.Object)">
+ <summary>
+ Add an exception to the internal list. This will ensure the holder is
+ in the proper state (handled/unhandled) depending on the list's contents.
+ </summary>
+ <param name="exceptionObject">An exception object (either an Exception or an
+ IEnumerable{Exception}) to add to the list.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.MarkAsUnhandled">
+ <summary>
+ A private helper method that ensures the holder is considered
+ unhandled, i.e. it is registered for finalization.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.MarkAsHandled(System.Boolean)">
+ <summary>
+ A private helper method that ensures the holder is considered
+ handled, i.e. it is not registered for finalization.
+ </summary>
+ <param name="calledFromFinalizer">Whether this is called from the finalizer thread.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.CreateExceptionObject(System.Boolean,System.Exception)">
+ <summary>
+ Allocates a new aggregate exception and adds the contents of the list to
+ it. By calling this method, the holder assumes exceptions to have been
+ "observed", such that the finalization check will be subsequently skipped.
+ </summary>
+ <param name="calledFromFinalizer">Whether this is being called from a finalizer.</param>
+ <param name="includeThisException">An extra exception to be included (optionally).</param>
+ <returns>The aggregate exception to throw.</returns>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskExtensions">
+ <summary>
+ Provides a set of static (Shared in Visual Basic) methods for working with specific kinds of
+ <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExtensions.Unwrap(System.Threading.Tasks.Task{System.Threading.Tasks.Task})">
+ <summary>
+ Creates a proxy <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation of a Task{Task}.
+ </summary>
+ <remarks>
+ It is often useful to be able to return a Task from a <see cref="T:System.Threading.Tasks.Task`1">
+ Task{TResult}</see>, where the inner Task represents work done as part of the outer Task{TResult}. However,
+ doing so results in a Task{Task}, which, if not dealt with carefully, could produce unexpected behavior. Unwrap
+ solves this problem by creating a proxy Task that represents the entire asynchronous operation of such a Task{Task}.
+ </remarks>
+ <param name="task">The Task{Task} to unwrap.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown if the
+ <paramref name="task"/> argument is null.</exception>
+ <returns>A Task that represents the asynchronous operation of the provided Task{Task}.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExtensions.Unwrap``1(System.Threading.Tasks.Task{System.Threading.Tasks.Task{``0}})">
+ <summary>
+ Creates a proxy <see cref="T:System.Threading.Tasks.Task`1">Task{TResult}</see> that represents the
+ asynchronous operation of a Task{Task{TResult}}.
+ </summary>
+ <remarks>
+ It is often useful to be able to return a Task{TResult} from a Task{TResult}, where the inner Task{TResult}
+ represents work done as part of the outer Task{TResult}. However, doing so results in a Task{Task{TResult}},
+ which, if not dealt with carefully, could produce unexpected behavior. Unwrap solves this problem by
+ creating a proxy Task{TResult} that represents the entire asynchronous operation of such a Task{Task{TResult}}.
+ </remarks>
+ <param name="task">The Task{Task{TResult}} to unwrap.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown if the
+ <paramref name="task"/> argument is null.</exception>
+ <returns>A Task{TResult} that represents the asynchronous operation of the provided Task{Task{TResult}}.</returns> /// <summary>Unwraps a Task that returns another Task.</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskFactory">
+ <summary>
+ Provides support for creating and scheduling
+ <see cref="T:System.Threading.Tasks.Task">Tasks</see>.
+ </summary>
+ <remarks>
+ <para>
+ There are many common patterns for which tasks are relevant. The <see cref="T:System.Threading.Tasks.TaskFactory"/>
+ class encodes some of these patterns into methods that pick up default settings, which are
+ configurable through its constructors.
+ </para>
+ <para>
+ A default instance of <see cref="T:System.Threading.Tasks.TaskFactory"/> is available through the
+ <see cref="P:System.Threading.Tasks.Task.Factory">Task.Factory</see> property.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the default configuration.
+ </summary>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.CancellationToken)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any tasks created with this TaskFactory. A null value
+ indicates that the current TaskScheduler should be used.
+ </param>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to <paramref name="scheduler"/>, unless it's null, in which case the property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argument specifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory.
+ </param>
+ <param name="scheduler">
+ The default <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any Tasks created with this TaskFactory. A null value
+ indicates that TaskScheduler.Current should be used.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argumentspecifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to
+ <paramref name="scheduler"/>, unless it's null, in which case the property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors
+ and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution. However,
+ unless creation and scheduling must be separated, StartNew is the recommended
+ approach for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors
+ and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution. However,
+ unless creation and scheduling must be separated, StartNew is the recommended
+ approach for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0})">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult})">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
+ when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The action delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
+ operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
+ when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The action delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
+ operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
+ when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The action delegate that processes the completed <paramref name="asyncResult"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the task that executes the end method.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
+ operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,``2,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0})">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref name="asyncResult"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the task that executes the end method.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``0},System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``1},``0,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``1},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``2},``0,``1,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``2},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``4(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``3},``0,``1,``2,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``4(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``3},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.CheckFromAsyncOptions(System.Threading.Tasks.TaskCreationOptions,System.Boolean)">
+ <summary>
+ Check validity of options passed to FromAsync method
+ </summary>
+ <param name="creationOptions">The options to be validated.</param>
+ <param name="hasBeginMethod">determines type of FromAsync method that called this method</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref
+ name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.CancellationToken">
+ <summary>
+ Gets the default <see cref="T:System.Threading.CancellationToken">CancellationToken</see> of this
+ TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to all
+ tasks created by this factory unless another CancellationToken value is explicitly specified
+ during the call to the factory methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.Scheduler">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> of this
+ TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default scheduler for this factory. It will be used to schedule all
+ tasks unless another scheduler is explicitly specified during calls to this factory's methods.
+ If null, <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>
+ will be used.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.CreationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions
+ </see> value of this TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default creation options for this factory. They will be used to create all
+ tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.ContinuationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskContinuationOptions
+ </see> value of this TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default continuation options for this factory. They will be used to create
+ all continuation tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskScheduler">
+ <summary>
+ Represents an abstract scheduler for tasks.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> acts as the extension point for all
+ pluggable scheduling logic. This includes mechanisms such as how to schedule a task for execution, and
+ how scheduled tasks should be exposed to debuggers.
+ </para>
+ <para>
+ All members of the abstract <see cref="T:System.Threading.Tasks.TaskScheduler"/> type are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)">
+ <summary>
+ Queues a <see cref="T:System.Threading.Tasks.Task">Task</see> to the scheduler.
+ </summary>
+ <remarks>
+ <para>
+ A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ implements this method to accept tasks being scheduled on the scheduler.
+ A typical implementation would store the task in an internal data structure, which would
+ be serviced by threads that would execute those tasks at some time in the future.
+ </para>
+ <para>
+ This method is only meant to be called by the .NET Framework and
+ should not be called directly by the derived class. This is necessary
+ for maintaining the consistency of the system.
+ </para>
+ </remarks>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be queued.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>
+ Determines whether the provided <see cref="T:System.Threading.Tasks.Task">Task</see>
+ can be executed synchronously in this call, and if it can, executes it.
+ </summary>
+ <remarks>
+ <para>
+ A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> implements this function to
+ support inline execution of a task on a thread that initiates a wait on that task object. Inline
+ execution is optional, and the request may be rejected by returning false. However, better
+ scalability typically results the more tasks that can be inlined, and in fact a scheduler that
+ inlines too little may be prone to deadlocks. A proper implementation should ensure that a
+ request executing under the policies guaranteed by the scheduler can successfully inline. For
+ example, if a scheduler uses a dedicated thread to execute tasks, any inlining requests from that
+ thread should succeed.
+ </para>
+ <para>
+ If a scheduler decides to perform the inline execution, it should do so by calling to the base
+ TaskScheduler's
+ <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)">TryExecuteTask</see> method with the provided task object, propagating
+ the return value. It may also be appropriate for the scheduler to remove an inlined task from its
+ internal data structures if it decides to honor the inlining request. Note, however, that under
+ some circumstances a scheduler may be asked to inline a task that was not previously provided to
+ it with the <see cref="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)"/> method.
+ </para>
+ <para>
+ The derived scheduler is responsible for making sure that the calling thread is suitable for
+ executing the given task as far as its own scheduling and execution policies are concerned.
+ </para>
+ </remarks>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be
+ executed.</param>
+ <param name="taskWasPreviouslyQueued">A Boolean denoting whether or not task has previously been
+ queued. If this parameter is True, then the task may have been previously queued (scheduled); if
+ False, then the task is known not to have been queued, and this call is being made in order to
+ execute the task inline without queueing it.</param>
+ <returns>A Boolean value indicating whether the task was executed inline.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is
+ null.</exception>
+ <exception cref="T:System.InvalidOperationException">The <paramref name="task"/> was already
+ executed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasks">
+ <summary>
+ Generates an enumerable of <see cref="T:System.Threading.Tasks.Task">Task</see> instances
+ currently queued to the scheduler waiting to be executed.
+ </summary>
+ <remarks>
+ <para>
+ A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler"/> implements this method in order to support
+ integration with debuggers. This method will only be invoked by the .NET Framework when the
+ debugger requests access to the data. The enumerable returned will be traversed by debugging
+ utilities to access the tasks currently queued to this scheduler, enabling the debugger to
+ provide a representation of this information in the user interface.
+ </para>
+ <para>
+ It is important to note that, when this method is called, all other threads in the process will
+ be frozen. Therefore, it's important to avoid synchronization with other threads that may lead to
+ blocking. If synchronization is necessary, the method should prefer to throw a <see cref="T:System.NotSupportedException"/>
+ than to block, which could cause a debugger to experience delays. Additionally, this method and
+ the enumerable returned must not modify any globally visible state.
+ </para>
+ <para>
+ The returned enumerable should never be null. If there are currently no queued tasks, an empty
+ enumerable should be returned instead.
+ </para>
+ <para>
+ For developers implementing a custom debugger, this method shouldn't be called directly, but
+ rather this functionality should be accessed through the internal wrapper method
+ GetScheduledTasksForDebugger:
+ <c>internal Task[] GetScheduledTasksForDebugger()</c>. This method returns an array of tasks,
+ rather than an enumerable. In order to retrieve a list of active schedulers, a debugger may use
+ another internal method: <c>internal static TaskScheduler[] GetTaskSchedulersForDebugger()</c>.
+ This static method returns an array of all active TaskScheduler instances.
+ GetScheduledTasksForDebugger then may be used on each of these scheduler instances to retrieve
+ the list of scheduled tasks for each.
+ </para>
+ </remarks>
+ <returns>An enumerable that allows traversal of tasks currently queued to this scheduler.
+ </returns>
+ <exception cref="T:System.NotSupportedException">
+ This scheduler is unable to generate a list of queued tasks at this time.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetThreadStatics">
+ <summary>
+ Retrieves some thread static state that can be cached and passed to multiple
+ TryRunInline calls, avoiding superflous TLS fetches.
+ </summary>
+ <returns>A bag of TLS state (or null if none exists).</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task,System.Boolean,System.Object)">
+ <summary>
+ Attempts to execute the target task synchronously.
+ </summary>
+ <param name="task">The task to run.</param>
+ <param name="taskWasPreviouslyQueued">True if the task may have been previously queued,
+ false if the task was absolutely not previously queued.</param>
+ <param name="threadStatics">The state retrieved from GetThreadStatics</param>
+ <returns>True if it ran, false otherwise.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryDequeue(System.Threading.Tasks.Task)">
+ <summary>
+ Attempts to dequeue a <see cref="T:System.Threading.Tasks.Task">Task</see> that was previously queued to
+ this scheduler.
+ </summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be dequeued.</param>
+ <returns>A Boolean denoting whether the <paramref name="task"/> argument was successfully dequeued.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.NotifyWorkItemProgress">
+ <summary>
+ Notifies the scheduler that a work item has made progress.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.#ctor">
+ <summary>
+ Initializes the <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.Finalize">
+ <summary>
+ Frees all resources associated with this scheduler.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.FromCurrentSynchronizationContext">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskScheduler"/>
+ associated with the current <see cref="T:System.Threading.SynchronizationContext"/>.
+ </summary>
+ <remarks>
+ All <see cref="T:System.Threading.Tasks.Task">Task</see> instances queued to
+ the returned scheduler will be executed through a call to the
+ <see cref="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)">Post</see> method
+ on that context.
+ </remarks>
+ <returns>
+ A <see cref="T:System.Threading.Tasks.TaskScheduler"/> associated with
+ the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see>, as
+ determined by <see cref="P:System.Threading.SynchronizationContext.Current">SynchronizationContext.Current</see>.
+ </returns>
+ <exception cref="T:System.InvalidOperationException">
+ The current SynchronizationContext may not be used as a TaskScheduler.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)">
+ <summary>
+ Attempts to execute the provided <see cref="T:System.Threading.Tasks.Task">Task</see>
+ on this scheduler.
+ </summary>
+ <remarks>
+ <para>
+ Scheduler implementations are provided with <see cref="T:System.Threading.Tasks.Task">Task</see>
+ instances to be executed through either the <see cref="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)"/> method or the
+ <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)"/> method. When the scheduler deems it appropriate to run the
+ provided task, <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)"/> should be used to do so. TryExecuteTask handles all
+ aspects of executing a task, including action invocation, exception handling, state management,
+ and lifecycle control.
+ </para>
+ <para>
+ <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)"/> must only be used for tasks provided to this scheduler by the .NET
+ Framework infrastructure. It should not be used to execute arbitrary tasks obtained through
+ custom mechanisms.
+ </para>
+ </remarks>
+ <param name="task">
+ A <see cref="T:System.Threading.Tasks.Task">Task</see> object to be executed.</param>
+ <exception cref="T:System.InvalidOperationException">
+ The <paramref name="task"/> is not associated with this scheduler.
+ </exception>
+ <returns>A Boolean that is true if <paramref name="task"/> was successfully executed, false if it
+ was not. A common reason for execution failure is that the task had previously been executed or
+ is in the process of being executed by another thread.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasksForDebugger">
+ <summary>
+ Provides an array of all queued <see cref="T:System.Threading.Tasks.Task">Task</see> instances
+ for the debugger.
+ </summary>
+ <remarks>
+ The returned array is populated through a call to <see cref="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasks"/>.
+ Note that this function is only meant to be invoked by a debugger remotely.
+ It should not be called by any other codepaths.
+ </remarks>
+ <returns>An array of <see cref="T:System.Threading.Tasks.Task">Task</see> instances.</returns>
+ <exception cref="T:System.NotSupportedException">
+ This scheduler is unable to generate a list of queued tasks at this time.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetTaskSchedulersForDebugger">
+ <summary>
+ Provides an array of all active <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ instances for the debugger.
+ </summary>
+ <remarks>
+ This function is only meant to be invoked by a debugger remotely.
+ It should not be called by any other codepaths.
+ </remarks>
+ <returns>An array of <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> instances.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.RegisterTaskScheduler(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Registers a new TaskScheduler instance in the global collection of schedulers.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.UnregisterTaskScheduler(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Removes a TaskScheduler instance from the global collection of schedulers.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.MaximumConcurrencyLevel">
+ <summary>
+ Indicates the maximum concurrency level this
+ <see cref="T:System.Threading.Tasks.TaskScheduler"/> is able to support.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.RequiresAtomicStartTransition">
+ <summary>
+ Indicates whether this is a custom scheduler, in which case the safe code paths will be taken upon task entry
+ using a CAS to transition from queued state to executing.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.Default">
+ <summary>
+ Gets the default <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> instance.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.Current">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ associated with the currently executing task.
+ </summary>
+ <remarks>
+ When not called from within a task, <see cref="P:System.Threading.Tasks.TaskScheduler.Current"/> will return the <see cref="P:System.Threading.Tasks.TaskScheduler.Default"/> scheduler.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.Id">
+ <summary>
+ Gets the unique ID for this <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
+ </summary>
+ </member>
+ <member name="E:System.Threading.Tasks.TaskScheduler.UnobservedTaskException">
+ <summary>
+ Occurs when a faulted <see cref="T:System.Threading.Tasks.Task"/>'s unobserved exception is about to trigger exception escalation
+ policy, which, by default, would terminate the process.
+ </summary>
+ <remarks>
+ This AppDomain-wide event provides a mechanism to prevent exception
+ escalation policy (which, by default, terminates the process) from triggering.
+ Each handler is passed a <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/>
+ instance, which may be used to examine the exception and to mark it as observed.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskScheduler.SystemThreadingTasks_TaskSchedulerDebugView">
+ <summary>
+ Nested class that provides debugger view for TaskScheduler
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.ThreadPoolTaskScheduler">
+ <summary>Default thread pool scheduler.</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.SynchronizationContextTaskScheduler">
+ <summary>
+ A TaskScheduler implementation that executes all tasks queued to it through a call to
+ <see cref="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)"/> on the <see cref="T:System.Threading.SynchronizationContext"/>
+ that its associated with. The default constructor for this class binds to the current <see cref="T:System.Threading.SynchronizationContext"/>
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.#ctor">
+ <summary>
+ Constructs a SynchronizationContextTaskScheduler associated with <see cref="T:System.Threading.SynchronizationContext.Current"/>
+ </summary>
+ <exception cref="T:System.InvalidOperationException">This constructor expects <see cref="T:System.Threading.SynchronizationContext.Current"/> to be set.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
+ <summary>
+ Implemetation of <see cref="T:System.Threading.Tasks.TaskScheduler.QueueTask"/> for this scheduler class.
+
+ Simply posts the tasks to be executed on the associated <see cref="T:System.Threading.SynchronizationContext"/>.
+ </summary>
+ <param name="task"></param>
+ </member>
+ <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>
+ Implementation of <see cref="T:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline"/> for this scheduler class.
+
+ The task will be executed inline only if the call happens within
+ the associated <see cref="T:System.Threading.SynchronizationContext"/>.
+ </summary>
+ <param name="task"></param>
+ <param name="taskWasPreviouslyQueued"></param>
+ </member>
+ <member name="P:System.Threading.Tasks.SynchronizationContextTaskScheduler.MaximumConcurrencyLevel">
+ <summary>
+ Implementes the <see cref="T:System.Threading.Tasks.TaskScheduler.MaximumConcurrencyLevel"/> property for
+ this scheduler class.
+
+ By default it returns 1, because a <see cref="T:System.Threading.SynchronizationContext"/> based
+ scheduler only supports execution on a single thread.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs">
+ <summary>
+ Provides data for the event that is raised when a faulted <see cref="T:System.Threading.Tasks.Task"/>'s
+ exception goes unobserved.
+ </summary>
+ <remarks>
+ The Exception property is used to examine the exception without marking it
+ as observed, whereas the <see cref="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.SetObserved"/> method is used to mark the exception
+ as observed. Marking the exception as observed prevents it from triggering exception escalation policy
+ which, by default, terminates the process.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.#ctor(System.AggregateException)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/> class
+ with the unobserved exception.
+ </summary>
+ <param name="exception">The Exception that has gone unobserved.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.SetObserved">
+ <summary>
+ Marks the <see cref="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Exception"/> as "observed," thus preventing it
+ from triggering exception escalation policy which, by default, terminates the process.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Observed">
+ <summary>
+ Gets whether this exception has been marked as "observed."
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Exception">
+ <summary>
+ The Exception that went unobserved.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskSchedulerException">
+ <summary>
+ Represents an exception used to communicate an invalid operation by a
+ <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/> class.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
+ class with a specified error message.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
+ class using the default error message and a reference to the inner exception that is the cause of
+ this exception.
+ </summary>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.String,System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
+ class with a specified error message and a reference to the inner exception that is the cause of
+ this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/ensureRedirect.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/ensureRedirect.xml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8+wp8/ensureRedirect.xml
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/System.Runtime.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/System.Runtime.dll
new file mode 100644
index 0000000..fa831ad
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/System.Runtime.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/System.Runtime.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/System.Runtime.xml
new file mode 100644
index 0000000..93cb00d
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/System.Runtime.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Runtime</name>
+ </assembly>
+ <members>
+ <member name="T:System.IProgress`1">
+ <summary>Defines a provider for progress updates.</summary>
+ <typeparam name="T">The type of progress update value.</typeparam>
+ </member>
+ <member name="M:System.IProgress`1.Report(`0)">
+ <summary>Reports a progress update.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncStateMachineAttribute">
+ <summary>Identities the async state machine type for this method.</summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.StateMachineAttribute">
+ <summary>Identities the state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.StateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.StateMachineAttribute.StateMachineType">
+ <summary>Gets the type that implements the state machine.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerMemberNameAttribute">
+ <summary>
+ Allows you to obtain the method or property name of the caller to the method.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerLineNumberAttribute">
+ <summary>
+ Allows you to obtain the line number in the source file at which the method is called.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerFilePathAttribute">
+ <summary>
+ Allows you to obtain the full path of the source file that contains the caller.
+ This is the file path at the time of compile.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IteratorStateMachineAttribute">
+ <summary>Identities the iterator state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IteratorStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/System.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/System.Threading.Tasks.dll
new file mode 100644
index 0000000..74f5e2c
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/System.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/System.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/System.Threading.Tasks.xml
new file mode 100644
index 0000000..6c77012
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/System.Threading.Tasks.xml
@@ -0,0 +1,8969 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:System.AggregateException">
+ <summary>Represents one or more errors that occur during application execution.</summary>
+ <remarks>
+ <see cref="T:System.AggregateException"/> is used to consolidate multiple failures into a single, throwable
+ exception object.
+ </remarks>
+ </member>
+ <member name="M:System.AggregateException.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class.
+ </summary>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
+ a specified error message.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
+ message and a reference to the inner exception that is the cause of this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerException"/> argument
+ is null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
+ references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.Exception[])">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
+ references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
+ message and references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Exception[])">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
+ message and references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Collections.Generic.IList{System.Exception})">
+ <summary>
+ Allocates a new aggregate exception with the specified message and list of inner exceptions.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.GetBaseException">
+ <summary>
+ Returns the <see cref="T:System.AggregateException"/> that is the root cause of this exception.
+ </summary>
+ </member>
+ <member name="M:System.AggregateException.Handle(System.Func{System.Exception,System.Boolean})">
+ <summary>
+ Invokes a handler on each <see cref="T:System.Exception"/> contained by this <see cref="T:System.AggregateException"/>.
+ </summary>
+ <param name="predicate">The predicate to execute for each exception. The predicate accepts as an
+ argument the <see cref="T:System.Exception"/> to be processed and returns a Boolean to indicate
+ whether the exception was handled.</param>
+ <remarks>
+ Each invocation of the <paramref name="predicate"/> returns true or false to indicate whether the
+ <see cref="T:System.Exception"/> was handled. After all invocations, if any exceptions went
+ unhandled, all unhandled exceptions will be put into a new <see cref="T:System.AggregateException"/>
+ which will be thrown. Otherwise, the <see cref="M:System.AggregateException.Handle(System.Func{System.Exception,System.Boolean})"/> method simply returns. If any
+ invocations of the <paramref name="predicate"/> throws an exception, it will halt the processing
+ of any more exceptions and immediately propagate the thrown exception as-is.
+ </remarks>
+ <exception cref="T:System.AggregateException">An exception contained by this <see cref="T:System.AggregateException"/> was not handled.</exception>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="predicate"/> argument is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.Flatten">
+ <summary>
+ Flattens an <see cref="T:System.AggregateException"/> instances into a single, new instance.
+ </summary>
+ <returns>A new, flattened <see cref="T:System.AggregateException"/>.</returns>
+ <remarks>
+ If any inner exceptions are themselves instances of
+ <see cref="T:System.AggregateException"/>, this method will recursively flatten all of them. The
+ inner exceptions returned in the new <see cref="T:System.AggregateException"/>
+ will be the union of all of the the inner exceptions from exception tree rooted at the provided
+ <see cref="T:System.AggregateException"/> instance.
+ </remarks>
+ </member>
+ <member name="M:System.AggregateException.ToString">
+ <summary>
+ Creates and returns a string representation of the current <see cref="T:System.AggregateException"/>.
+ </summary>
+ <returns>A string representation of the current exception.</returns>
+ </member>
+ <member name="P:System.AggregateException.InnerExceptions">
+ <summary>
+ Gets a read-only collection of the <see cref="T:System.Exception"/> instances that caused the
+ current exception.
+ </summary>
+ </member>
+ <member name="T:System.Strings">
+ <summary>
+ A strongly-typed resource class, for looking up localized strings, etc.
+ </summary>
+ </member>
+ <member name="P:System.Strings.ResourceManager">
+ <summary>
+ Returns the cached ResourceManager instance used by this class.
+ </summary>
+ </member>
+ <member name="P:System.Strings.Culture">
+ <summary>
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+ </summary>
+ </member>
+ <member name="P:System.Strings.AggregateException_ctor_DefaultMessage">
+ <summary>
+ Looks up a localized string similar to One or more errors occurred..
+ </summary>
+ </member>
+ <member name="P:System.Strings.AggregateException_ctor_InnerExceptionNull">
+ <summary>
+ Looks up a localized string similar to An element of innerExceptions was null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.AggregateException_ToString">
+ <summary>
+ Looks up a localized string similar to {0}{1}---&gt; (Inner Exception #{2}) {3}{4}{5}.
+ </summary>
+ </member>
+ <member name="P:System.Strings.CancellationToken_CreateLinkedToken_TokensIsEmpty">
+ <summary>
+ Looks up a localized string similar to No tokens were supplied..
+ </summary>
+ </member>
+ <member name="P:System.Strings.CancellationToken_SourceDisposed">
+ <summary>
+ Looks up a localized string similar to The CancellationTokenSource associated with this CancellationToken has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.CancellationTokenSource_Disposed">
+ <summary>
+ Looks up a localized string similar to The CancellationTokenSource has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentCollection_SyncRoot_NotSupported">
+ <summary>
+ Looks up a localized string similar to The SyncRoot property may not be used for the synchronization of concurrent collections..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ArrayIncorrectType">
+ <summary>
+ Looks up a localized string similar to The array is multidimensional, or the type parameter for the set cannot be cast automatically to the type of the destination array..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ArrayNotLargeEnough">
+ <summary>
+ Looks up a localized string similar to The index is equal to or greater than the length of the array, or the number of elements in the dictionary is greater than the available space from index to the end of the destination array..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_CapacityMustNotBeNegative">
+ <summary>
+ Looks up a localized string similar to The capacity argument must be greater than or equal to zero..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ConcurrencyLevelMustBePositive">
+ <summary>
+ Looks up a localized string similar to The concurrencyLevel argument must be positive..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_IndexIsNegative">
+ <summary>
+ Looks up a localized string similar to The index argument is less than zero..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ItemKeyIsNull">
+ <summary>
+ Looks up a localized string similar to TKey is a reference type and item.Key is null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_KeyAlreadyExisted">
+ <summary>
+ Looks up a localized string similar to The key already existed in the dictionary..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_SourceContainsDuplicateKeys">
+ <summary>
+ Looks up a localized string similar to The source argument contains duplicate keys..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_TypeOfKeyIncorrect">
+ <summary>
+ Looks up a localized string similar to The key was of an incorrect type for this dictionary..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_TypeOfValueIncorrect">
+ <summary>
+ Looks up a localized string similar to The value was of an incorrect type for this dictionary..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Lazy_CreateValue_NoParameterlessCtorForT">
+ <summary>
+ Looks up a localized string similar to The lazily-initialized type does not have a public, parameterless constructor..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Lazy_StaticInit_InvalidOperation">
+ <summary>
+ Looks up a localized string similar to ValueFactory returned null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ManualResetEventSlim_ctor_SpinCountOutOfRange">
+ <summary>
+ Looks up a localized string similar to The spinCount argument must be in the range 0 to {0}, inclusive..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ManualResetEventSlim_ctor_TooManyWaiters">
+ <summary>
+ Looks up a localized string similar to There are too many threads currently waiting on the event. A maximum of {0} waiting threads are supported..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ManualResetEventSlim_Disposed">
+ <summary>
+ Looks up a localized string similar to The event has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.OperationCanceled">
+ <summary>
+ Looks up a localized string similar to The operation was canceled..
+ </summary>
+ </member>
+ <member name="P:System.Strings.SpinWait_SpinUntil_ArgumentNull">
+ <summary>
+ Looks up a localized string similar to The condition argument is null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.SpinWait_SpinUntil_TimeoutWrong">
+ <summary>
+ Looks up a localized string similar to The timeout must represent a value between -1 and Int32.MaxValue, inclusive..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ContinueWith_ESandLR">
+ <summary>
+ Looks up a localized string similar to The specified TaskContinuationOptions combined LongRunning and ExecuteSynchronously. Synchronous continuations should not be long running..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ContinueWith_NotOnAnything">
+ <summary>
+ Looks up a localized string similar to The specified TaskContinuationOptions excluded all continuation kinds..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ctor_LRandSR">
+ <summary>
+ Looks up a localized string similar to (Internal)An attempt was made to create a LongRunning SelfReplicating task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Delay_InvalidDelay">
+ <summary>
+ Looks up a localized string similar to The value needs to translate in milliseconds to -1 (signifying an infinite timeout), 0 or a positive integer less than or equal to Int32.MaxValue..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Delay_InvalidMillisecondsDelay">
+ <summary>
+ Looks up a localized string similar to The value needs to be either -1 (signifying an infinite timeout), 0 or a positive integer..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Dispose_NotCompleted">
+ <summary>
+ Looks up a localized string similar to A task may only be disposed if it is in a completion state (RanToCompletion, Faulted or Canceled)..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_LongRunning">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.LongRunning in calls to FromAsync..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_PreferFairness">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.PreferFairness in calls to FromAsync..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_SelfReplicating">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.SelfReplicating in calls to FromAsync..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_TaskManagerShutDown">
+ <summary>
+ Looks up a localized string similar to FromAsync was called with a TaskManager that had already shut down..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_MultiTaskContinuation_EmptyTaskList">
+ <summary>
+ Looks up a localized string similar to The tasks argument contains no tasks..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_MultiTaskContinuation_FireOptions">
+ <summary>
+ Looks up a localized string similar to It is invalid to exclude specific continuation kinds for continuations off of multiple tasks..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_MultiTaskContinuation_NullTask">
+ <summary>
+ Looks up a localized string similar to The tasks argument included a null value..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_AlreadyStarted">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a task that was already started..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_Continuation">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a continuation task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_Promise">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a task not bound to a delegate, such as the task returned from an asynchronous method..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_TaskCompleted">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a task that has already completed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_AlreadyStarted">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a task that was already started..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_ContinuationTask">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a continuation task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_NullAction">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a task with null action..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_Promise">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a promise-style task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_TaskCompleted">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a task that has completed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ThrowIfDisposed">
+ <summary>
+ Looks up a localized string similar to The task has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_WaitMulti_NullTask">
+ <summary>
+ Looks up a localized string similar to The tasks array included at least one null element..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskAwaiter_TaskNotCompleted">
+ <summary>
+ Looks up a localized string similar to The awaited task has not yet completed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskCanceledException_ctor_DefaultMessage">
+ <summary>
+ Looks up a localized string similar to A task was canceled..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskCompletionSourceT_TrySetException_NoExceptions">
+ <summary>
+ Looks up a localized string similar to The exceptions collection was empty..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskCompletionSourceT_TrySetException_NullException">
+ <summary>
+ Looks up a localized string similar to The exceptions collection included at least one null element..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskExceptionHolder_UnhandledException">
+ <summary>
+ Looks up a localized string similar to A Task&apos;s exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskExceptionHolder_UnknownExceptionType">
+ <summary>
+ Looks up a localized string similar to (Internal)Expected an Exception or an IEnumerable&lt;Exception&gt;.
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_ExecuteTask_TaskAlreadyExecuted">
+ <summary>
+ Looks up a localized string similar to ExecuteTask may not be called for a task which was already executed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_ExecuteTask_WrongTaskScheduler">
+ <summary>
+ Looks up a localized string similar to ExecuteTask may not be called for a task which was previously queued to a different TaskScheduler..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_FromCurrentSynchronizationContext_NoCurrent">
+ <summary>
+ Looks up a localized string similar to The current SynchronizationContext may not be used as a TaskScheduler..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_InconsistentStateAfterTryExecuteTaskInline">
+ <summary>
+ Looks up a localized string similar to The TryExecuteTaskInline call to the underlying scheduler succeeded, but the task body was not invoked..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskSchedulerException_ctor_DefaultMessage">
+ <summary>
+ Looks up a localized string similar to An exception was thrown by a TaskScheduler..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_ctor_SelfReplicating">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.SelfReplicating for a Task&lt;TResult&gt;..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_DebuggerNoResult">
+ <summary>
+ Looks up a localized string similar to {Not yet computed}.
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_SetException_HasAnInitializer">
+ <summary>
+ Looks up a localized string similar to A task&apos;s Exception may only be set directly if the task was created without a function..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_TransitionToFinal_AlreadyCompleted">
+ <summary>
+ Looks up a localized string similar to An attempt was made to transition a task to a final state when it had already completed..
+ </summary>
+ </member>
+ <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2">
+ <summary>
+ Represents a thread-safe collection of keys and values.
+ </summary>
+ <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
+ <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
+ <remarks>
+ All public and protected members of <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> are thread-safe and may be used
+ concurrently from multiple threads.
+ </remarks>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the default concurrency level, has the default initial capacity, and
+ uses the default comparer for the key type.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Int32)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the specified concurrency level and capacity, and uses the default
+ comparer for the key type.
+ </summary>
+ <param name="concurrencyLevel">The estimated number of threads that will update the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
+ <param name="capacity">The initial number of elements that the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ can contain.</param>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="concurrencyLevel"/> is
+ less than 1.</exception>
+ <exception cref="T:ArgumentOutOfRangeException"> <paramref name="capacity"/> is less than
+ 0.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/>, has the default concurrency
+ level, has the default initial capacity, and uses the default comparer for the key type.
+ </summary>
+ <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to
+ the new
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentException"><paramref name="collection"/> contains one or more
+ duplicate keys.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the specified concurrency level and capacity, and uses the specified
+ <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
+ implementation to use when comparing keys.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable"/>, has the default concurrency level, has the default
+ initial capacity, and uses the specified
+ <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to
+ the new
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
+ implementation to use when comparing keys.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is a null reference
+ (Nothing in Visual Basic). -or-
+ <paramref name="comparer"/> is a null reference (Nothing in Visual Basic).
+ </exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable"/>,
+ has the specified concurrency level, has the specified initial capacity, and uses the specified
+ <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="concurrencyLevel">The estimated number of threads that will update the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
+ <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to the new
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/> implementation to use
+ when comparing keys.</param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="collection"/> is a null reference (Nothing in Visual Basic).
+ -or-
+ <paramref name="comparer"/> is a null reference (Nothing in Visual Basic).
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="concurrencyLevel"/> is less than 1.
+ </exception>
+ <exception cref="T:System.ArgumentException"><paramref name="collection"/> contains one or more duplicate keys.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the specified concurrency level, has the specified initial capacity, and
+ uses the specified <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="concurrencyLevel">The estimated number of threads that will update the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
+ <param name="capacity">The initial number of elements that the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ can contain.</param>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
+ implementation to use when comparing keys.</param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="concurrencyLevel"/> is less than 1. -or-
+ <paramref name="capacity"/> is less than 0.
+ </exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryAdd(`0,`1)">
+ <summary>
+ Attempts to add the specified key and value to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <param name="key">The key of the element to add.</param>
+ <param name="value">The value of the element to add. The value can be a null reference (Nothing
+ in Visual Basic) for reference types.</param>
+ <returns>true if the key/value pair was added to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ successfully; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ contains too many elements.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ContainsKey(`0)">
+ <summary>
+ Determines whether the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> contains the specified
+ key.
+ </summary>
+ <param name="key">The key to locate in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <returns>true if the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> contains an element with
+ the specified key; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryRemove(`0,`1@)">
+ <summary>
+ Attempts to remove and return the the value with the specified key from the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <param name="key">The key of the element to remove and return.</param>
+ <param name="value">When this method returns, <paramref name="value"/> contains the object removed from the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> or the default value of <typeparamref name="TValue"/>
+ if the operation failed.</param>
+ <returns>true if an object was removed successfully; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryRemoveInternal(`0,`1@,System.Boolean,`1)">
+ <summary>
+ Removes the specified key from the dictionary if it exists and returns its associated value.
+ If matchValue flag is set, the key will be removed only if is associated with a particular
+ value.
+ </summary>
+ <param name="key">The key to search for and remove if it exists.</param>
+ <param name="value">The variable into which the removed value, if found, is stored.</param>
+ <param name="matchValue">Whether removal of the key is conditional on its value.</param>
+ <param name="oldValue">The conditional value to compare against if <paramref name="matchValue"/> is true</param>
+ <returns></returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryGetValue(`0,`1@)">
+ <summary>
+ Attempts to get the value associated with the specified key from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <param name="key">The key of the value to get.</param>
+ <param name="value">When this method returns, <paramref name="value"/> contains the object from
+ the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> with the spedified key or the default value of
+ <typeparamref name="TValue"/>, if the operation failed.</param>
+ <returns>true if the key was found in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>;
+ otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryUpdate(`0,`1,`1)">
+ <summary>
+ Compares the existing value for the specified key with a specified value, and if they’re equal,
+ updates the key with a third value.
+ </summary>
+ <param name="key">The key whose value is compared with <paramref name="comparisonValue"/> and
+ possibly replaced.</param>
+ <param name="newValue">The value that replaces the value of the element with <paramref
+ name="key"/> if the comparison results in equality.</param>
+ <param name="comparisonValue">The value that is compared to the value of the element with
+ <paramref name="key"/>.</param>
+ <returns>true if the value with <paramref name="key"/> was equal to <paramref
+ name="comparisonValue"/> and replaced with <paramref name="newValue"/>; otherwise,
+ false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null
+ reference.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.Clear">
+ <summary>
+ Removes all keys and values from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
+ <summary>
+ Copies the elements of the <see cref="T:System.Collections.Generic.ICollection"/> to an array of
+ type <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>, starting at the
+ specified array index.
+ </summary>
+ <param name="array">The one-dimensional array of type <see
+ cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ that is the destination of the <see
+ cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/> elements copied from the <see
+ cref="T:System.Collections.ICollection"/>. The array must have zero-based indexing.</param>
+ <param name="index">The zero-based index in <paramref name="array"/> at which copying
+ begins.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="index"/> is less than
+ 0.</exception>
+ <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than
+ the length of the <paramref name="array"/>. -or- The number of elements in the source <see
+ cref="T:System.Collections.ICollection"/>
+ is greater than the available space from <paramref name="index"/> to the end of the destination
+ <paramref name="array"/>.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ToArray">
+ <summary>
+ Copies the key and value pairs stored in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> to a
+ new array.
+ </summary>
+ <returns>A new array containing a snapshot of key and value pairs copied from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToPairs(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
+ <summary>
+ Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
+
+ Important: the caller must hold all locks in m_locks before calling CopyToPairs.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToEntries(System.Collections.DictionaryEntry[],System.Int32)">
+ <summary>
+ Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
+
+ Important: the caller must hold all locks in m_locks before calling CopyToEntries.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToObjects(System.Object[],System.Int32)">
+ <summary>
+ Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
+
+ Important: the caller must hold all locks in m_locks before calling CopyToObjects.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator">
+ <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</summary>
+ <returns>An enumerator for the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
+ <remarks>
+ The enumerator returned from the dictionary is safe to use concurrently with
+ reads and writes to the dictionary, however it does not represent a moment-in-time snapshot
+ of the dictionary. The contents exposed through the enumerator may contain modifications
+ made to the dictionary after <see cref="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator"/> was called.
+ </remarks>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryAddInternal(`0,`1,System.Boolean,System.Boolean,`1@)">
+ <summary>
+ Shared internal implementation for inserts and updates.
+ If key exists, we always return false; and if updateIfExists == true we force update with value;
+ If key doesn't exist, we always add value and return true;
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(`0,System.Func{`0,`1})">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ if the key does not already exist.
+ </summary>
+ <param name="key">The key of the element to add.</param>
+ <param name="valueFactory">The function used to generate a value for the key</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="valueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The value for the key. This will be either the existing value for the key if the
+ key is already in the dictionary, or the new value for the key as returned by valueFactory
+ if the key was not in the dictionary.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(`0,`1)">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ if the key does not already exist.
+ </summary>
+ <param name="key">The key of the element to add.</param>
+ <param name="value">the value to be added, if the key does not already exist</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The value for the key. This will be either the existing value for the key if the
+ key is already in the dictionary, or the new value if the key was not in the dictionary.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(`0,System.Func{`0,`1},System.Func{`0,`1,`1})">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key does not already
+ exist, or updates a key/value pair in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key
+ already exists.
+ </summary>
+ <param name="key">The key to be added or whose value should be updated</param>
+ <param name="addValueFactory">The function used to generate a value for an absent key</param>
+ <param name="updateValueFactory">The function used to generate a new value for an existing key
+ based on the key's existing value</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="addValueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="updateValueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The new value for the key. This will be either be the result of addValueFactory (if the key was
+ absent) or the result of updateValueFactory (if the key was present).</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(`0,`1,System.Func{`0,`1,`1})">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key does not already
+ exist, or updates a key/value pair in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key
+ already exists.
+ </summary>
+ <param name="key">The key to be added or whose value should be updated</param>
+ <param name="addValue">The value to be added for an absent key</param>
+ <param name="updateValueFactory">The function used to generate a new value for an existing key based on
+ the key's existing value</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="updateValueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The new value for the key. This will be either be the result of addValueFactory (if the key was
+ absent) or the result of updateValueFactory (if the key was present).</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Add(`0,`1)">
+ <summary>
+ Adds the specified key and value to the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </summary>
+ <param name="key">The object to use as the key of the element to add.</param>
+ <param name="value">The object to use as the value of the element to add.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <exception cref="T:System.ArgumentException">
+ An element with the same key already exists in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Remove(`0)">
+ <summary>
+ Removes the element with the specified key from the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </summary>
+ <param name="key">The key of the element to remove.</param>
+ <returns>true if the element is successfully remove; otherwise false. This method also returns
+ false if
+ <paramref name="key"/> was not found in the original <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Add(System.Collections.Generic.KeyValuePair{`0,`1})">
+ <summary>
+ Adds the specified value to the <see cref="T:System.Collections.Generic.ICollection{TValue}"/>
+ with the specified key.
+ </summary>
+ <param name="keyValuePair">The <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ structure representing the key and value to add to the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="keyValuePair"/> of <paramref
+ name="keyValuePair"/> is null.</exception>
+ <exception cref="T:System.OverflowException">The <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>
+ contains too many elements.</exception>
+ <exception cref="T:System.ArgumentException">An element with the same key already exists in the
+ <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/></exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
+ <summary>
+ Determines whether the <see cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/>
+ contains a specific key and value.
+ </summary>
+ <param name="keyValuePair">The <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ structure to locate in the <see
+ cref="T:System.Collections.Generic.ICollection{TValue}"/>.</param>
+ <returns>true if the <paramref name="keyValuePair"/> is found in the <see
+ cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/>; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
+ <summary>
+ Removes a key and value from the dictionary.
+ </summary>
+ <param name="keyValuePair">The <see
+ cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ structure representing the key and value to remove from the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</param>
+ <returns>true if the key and value represented by <paramref name="keyValuePair"/> is successfully
+ found and removed; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException">The Key property of <paramref
+ name="keyValuePair"/> is a null reference (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IEnumerable#GetEnumerator">
+ <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</summary>
+ <returns>An enumerator for the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
+ <remarks>
+ The enumerator returned from the dictionary is safe to use concurrently with
+ reads and writes to the dictionary, however it does not represent a moment-in-time snapshot
+ of the dictionary. The contents exposed through the enumerator may contain modifications
+ made to the dictionary after <see cref="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator"/> was called.
+ </remarks>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Add(System.Object,System.Object)">
+ <summary>
+ Adds the specified key and value to the dictionary.
+ </summary>
+ <param name="key">The object to use as the key.</param>
+ <param name="value">The object to use as the value.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <exception cref="T:System.ArgumentException">
+ <paramref name="key"/> is of a type that is not assignable to the key type <typeparamref
+ name="TKey"/> of the <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>. -or-
+ <paramref name="value"/> is of a type that is not assignable to <typeparamref name="TValue"/>,
+ the type of values in the <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ -or- A value with the same key already exists in the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ </exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Contains(System.Object)">
+ <summary>
+ Gets whether the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> contains an
+ element with the specified key.
+ </summary>
+ <param name="key">The key to locate in the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</param>
+ <returns>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> contains
+ an element with the specified key; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"> <paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#GetEnumerator">
+ <summary>Provides an <see cref="T:System.Collections.Generics.IDictionaryEnumerator"/> for the
+ <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</summary>
+ <returns>An <see cref="T:System.Collections.Generics.IDictionaryEnumerator"/> for the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Remove(System.Object)">
+ <summary>
+ Removes the element with the specified key from the <see
+ cref="T:System.Collections.IDictionary"/>.
+ </summary>
+ <param name="key">The key of the element to remove.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
+ <summary>
+ Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an array, starting
+ at the specified array index.
+ </summary>
+ <param name="array">The one-dimensional array that is the destination of the elements copied from
+ the <see cref="T:System.Collections.ICollection"/>. The array must have zero-based
+ indexing.</param>
+ <param name="index">The zero-based index in <paramref name="array"/> at which copying
+ begins.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="index"/> is less than
+ 0.</exception>
+ <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than
+ the length of the <paramref name="array"/>. -or- The number of elements in the source <see
+ cref="T:System.Collections.ICollection"/>
+ is greater than the available space from <paramref name="index"/> to the end of the destination
+ <paramref name="array"/>.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GrowTable(System.Collections.Concurrent.ConcurrentDictionary{`0,`1}.Node[])">
+ <summary>
+ Replaces the internal table with a larger one. To prevent multiple threads from resizing the
+ table as a result of races, the table of buckets that was deemed too small is passed in as
+ an argument to GrowTable(). GrowTable() obtains a lock, and then checks whether the bucket
+ table has been replaced in the meantime or not.
+ </summary>
+ <param name="buckets">Reference to the bucket table that was deemed too small.</param>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetBucketAndLockNo(System.Int32,System.Int32@,System.Int32@,System.Int32)">
+ <summary>
+ Computes the bucket and lock number for a particular key.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AcquireAllLocks(System.Int32@)">
+ <summary>
+ Acquires all locks for this hash table, and increments locksAcquired by the number
+ of locks that were successfully acquired. The locks are acquired in an increasing
+ order.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AcquireLocks(System.Int32,System.Int32,System.Int32@)">
+ <summary>
+ Acquires a contiguous range of locks for this hash table, and increments locksAcquired
+ by the number of locks that were successfully acquired. The locks are acquired in an
+ increasing order.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ReleaseLocks(System.Int32,System.Int32)">
+ <summary>
+ Releases a contiguous range of locks.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetKeys">
+ <summary>
+ Gets a collection containing the keys in the dictionary.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetValues">
+ <summary>
+ Gets a collection containing the values in the dictionary.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.Assert(System.Boolean)">
+ <summary>
+ A helper method for asserts.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.OnSerializing(System.Runtime.Serialization.StreamingContext)">
+ <summary>
+ Get the data array to be serialized
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.OnDeserialized(System.Runtime.Serialization.StreamingContext)">
+ <summary>
+ Construct the dictionary from a previously seiralized one
+ </summary>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Item(`0)">
+ <summary>
+ Gets or sets the value associated with the specified key.
+ </summary>
+ <param name="key">The key of the value to get or set.</param>
+ <value>The value associated with the specified key. If the specified key is not found, a get
+ operation throws a
+ <see cref="T:Sytem.Collections.Generic.KeyNotFoundException"/>, and a set operation creates a new
+ element with the specified key.</value>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and
+ <paramref name="key"/>
+ does not exist in the collection.</exception>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Count">
+ <summary>
+ Gets the number of key/value pairs contained in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <value>The number of key/value paris contained in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</value>
+ <remarks>Count has snapshot semantics and represents the number of items in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ at the moment when Count was accessed.</remarks>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.IsEmpty">
+ <summary>
+ Gets a value that indicates whether the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> is empty.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> is empty; otherwise,
+ false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Keys">
+ <summary>
+ Gets a collection containing the keys in the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.Generic.ICollection{TKey}"/> containing the keys in the
+ <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Values">
+ <summary>
+ Gets a collection containing the values in the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.Generic.ICollection{TValue}"/> containing the values in
+ the
+ <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#IsReadOnly">
+ <summary>
+ Gets a value indicating whether the dictionary is read-only.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/> is
+ read-only; otherwise, false. For <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>, this property always returns
+ false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#IsFixedSize">
+ <summary>
+ Gets a value indicating whether the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> has a fixed size.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> has a
+ fixed size; otherwise, false. For <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>, this property always
+ returns false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#IsReadOnly">
+ <summary>
+ Gets a value indicating whether the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> is read-only.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> is
+ read-only; otherwise, false. For <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>, this property always
+ returns false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Keys">
+ <summary>
+ Gets an <see cref="T:System.Collections.ICollection"/> containing the keys of the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.ICollection"/> containing the keys of the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Values">
+ <summary>
+ Gets an <see cref="T:System.Collections.ICollection"/> containing the values in the <see
+ cref="T:System.Collections.IDictionary"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.ICollection"/> containing the values in the <see
+ cref="T:System.Collections.IDictionary"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Item(System.Object)">
+ <summary>
+ Gets or sets the value associated with the specified key.
+ </summary>
+ <param name="key">The key of the value to get or set.</param>
+ <value>The value associated with the specified key, or a null reference (Nothing in Visual Basic)
+ if <paramref name="key"/> is not in the dictionary or <paramref name="key"/> is of a type that is
+ not assignable to the key type <typeparamref name="TKey"/> of the <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>.</value>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentException">
+ A value is being assigned, and <paramref name="key"/> is of a type that is not assignable to the
+ key type <typeparamref name="TKey"/> of the <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>. -or- A value is being
+ assigned, and <paramref name="key"/> is of a type that is not assignable to the value type
+ <typeparamref name="TValue"/> of the <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>
+ </exception>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#IsSynchronized">
+ <summary>
+ Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is
+ synchronized with the SyncRoot.
+ </summary>
+ <value>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized
+ (thread safe); otherwise, false. For <see
+ cref="T:System.Collections.Concurrent.ConcurrentDictionary{TKey,TValue}"/>, this property always
+ returns false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#SyncRoot">
+ <summary>
+ Gets an object that can be used to synchronize access to the <see
+ cref="T:System.Collections.ICollection"/>. This property is not supported.
+ </summary>
+ <exception cref="T:System.NotSupportedException">The SyncRoot property is not supported.</exception>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.DefaultConcurrencyLevel">
+ <summary>
+ The number of concurrent writes for which to optimize by default.
+ </summary>
+ </member>
+ <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2.Node">
+ <summary>
+ A node in a singly-linked list representing a particular hash table bucket.
+ </summary>
+ </member>
+ <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2.DictionaryEnumerator">
+ <summary>
+ A private class to represent enumeration over the dictionary that implements the
+ IDictionaryEnumerator interface.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncMethodBuilder">
+ <summary>Represents an asynchronous method builder.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.s_cachedCompleted">
+ <summary>A cached VoidTaskResult task used for builders that complete synchronously.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.m_builder">
+ <summary>The generic builder object to which this non-generic instance delegates.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetResult">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task"/> representing the builder's asynchronous operation.</returns>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore">
+ <summary>Holds state related to the builder's IAsyncStateMachine.</summary>
+ <remarks>This is a mutable struct. Be very delicate with it.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.m_stateMachine">
+ <summary>A reference to the heap-allocated state machine object associated with this builder.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.GetCompletionAction``2(``0@,``1@)">
+ <summary>
+ Gets the Action to use with an awaiter's OnCompleted or UnsafeOnCompleted method.
+ On first invocation, the supplied state machine will be boxed.
+ </summary>
+ <typeparam name="TMethodBuilder">Specifies the type of the method builder used.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine used.</typeparam>
+ <param name="builder">The builder.</param>
+ <param name="stateMachine">The state machine.</param>
+ <returns>An Action to provide to the awaiter.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner">
+ <summary>Provides the ability to invoke a state machine's MoveNext method under a supplied ExecutionContext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_context">
+ <summary>The context with which to run MoveNext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_stateMachine">
+ <summary>The state machine whose MoveNext method should be invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.#ctor(System.ExecutionContextLightup)">
+ <summary>Initializes the runner.</summary>
+ <param name="context">The context with which to run MoveNext.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run">
+ <summary>Invokes MoveNext under the provided context.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.s_invokeMoveNext">
+ <summary>Cached delegate used with ExecutionContext.Run.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(System.Object)">
+ <summary>Invokes the MoveNext method on the supplied IAsyncStateMachine.</summary>
+ <param name="stateMachine">The IAsyncStateMachine machine instance.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return void.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_synchronizationContext">
+ <summary>The synchronization context associated with this operation.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_objectIdForDebugger">
+ <summary>An object used by the debugger to uniquely identify this builder. Lazily initialized.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.PreventUnobservedTaskExceptions">
+ <summary>Registers with UnobservedTaskException to suppress exception crashing.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.s_preventUnobservedTaskExceptionsInvoked">
+ <summary>Non-zero if PreventUnobservedTaskExceptions has already been invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#ctor(System.Threading.SynchronizationContext)">
+ <summary>Initializes the <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <param name="synchronizationContext">The synchronizationContext associated with this operation. This may be null.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetResult">
+ <summary>Completes the method builder successfully.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetException(System.Exception)">
+ <summary>Faults the method builder with an exception.</summary>
+ <param name="exception">The exception that is the cause of this fault.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.NotifySynchronizationContextOfCompletion">
+ <summary>Notifies the current synchronization context that the operation completed.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger and only in a single-threaded manner.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task`1"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder{TResult} is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.s_defaultResultTask">
+ <summary>A cached task for default(TResult).</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_task">
+ <summary>The lazily-initialized task.</summary>
+ <remarks>Must be named m_task for debugger step-over to work correctly.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_taskCompletionSource">
+ <summary>The lazily-initialized task completion source.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(`0)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state with the specified result.
+ </summary>
+ <param name="result">The result to use to complete the task.</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(System.Threading.Tasks.TaskCompletionSource{`0})">
+ <summary>
+ Completes the builder by using either the supplied completed task, or by completing
+ the builder's previously accessed task using default(TResult).
+ </summary>
+ <param name="completedTask">A task already completed with the value default(TResult).</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ <remarks>
+ This should only be invoked from within an asynchronous method,
+ and only by the debugger.
+ </remarks>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.GetTaskForResult(`0)">
+ <summary>
+ Gets a task for the specified result. This will either
+ be a cached or new task, never null.
+ </summary>
+ <param name="result">The result for which we need a task.</param>
+ <returns>The completed task containing the result.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.CompletionSource">
+ <summary>Gets the lazily-initialized TaskCompletionSource.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task`1"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task`1"/> representing the builder's asynchronous operation.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1">
+ <summary>Provides a base class used to cache tasks of a specific return type.</summary>
+ <typeparam name="TResult">Specifies the type of results the cached tasks return.</typeparam>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.Singleton">
+ <summary>
+ A singleton cache for this result type.
+ This may be null if there are no cached tasks for this TResult.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCompleted(`0)">
+ <summary>Creates a non-disposable task.</summary>
+ <param name="result">The result for the task.</param>
+ <returns>The cacheable task.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCache">
+ <summary>Creates a cache.</summary>
+ <returns>A task cache for this result type.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.FromResult(`0)">
+ <summary>Gets a cached task if one exists.</summary>
+ <param name="result">The result for which we want a cached task.</param>
+ <returns>A cached task if one exists; otherwise, null.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache">
+ <summary>Provides a cache for Boolean tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_true">
+ <summary>A true task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_false">
+ <summary>A false task.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.FromResult(System.Boolean)">
+ <summary>Gets a cached task for the Boolean result.</summary>
+ <param name="result">true or false</param>
+ <returns>A cached task for the Boolean result.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache">
+ <summary>Provides a cache for zero Int32 tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.INCLUSIVE_INT32_MIN">
+ <summary>The minimum value, inclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.EXCLUSIVE_INT32_MAX">
+ <summary>The maximum value, exclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.Int32Tasks">
+ <summary>The cache of Task{Int32}.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.CreateInt32Tasks">
+ <summary>Creates an array of cached tasks for the values in the range [INCLUSIVE_MIN,EXCLUSIVE_MAX).</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.FromResult(System.Int32)">
+ <summary>Gets a cached task for the zero Int32 result.</summary>
+ <param name="result">The integer value</param>
+ <returns>A cached task for the Int32 result or null if not cached.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncStateMachine">
+ <summary>
+ Represents state machines generated for asynchronous methods.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.MoveNext">
+ <summary>Moves the state machine to its next state.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Configures the state machine with a heap-allocated replica.</summary>
+ <param name="stateMachine">The heap-allocated replica.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.ICriticalNotifyCompletion">
+ <summary>
+ Represents an awaiter used to schedule continuations when an await operation completes.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.INotifyCompletion">
+ <summary>
+ Represents an operation that will schedule continuations when the operation completes.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.INotifyCompletion.OnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.ICriticalNotifyCompletion.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <remarks>Unlike OnCompleted, UnsafeOnCompleted need not propagate ExecutionContext information.</remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.VoidTaskResult">
+ <summary>Used with Task(of void)</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.IThreadPoolWorkItem">
+ <summary>
+ An interface similar to the one added in .NET 4.0.
+ </summary>
+ </member>
+ <member name="T:System.OperationCanceledException">
+ <summary>The exception that is thrown in a thread upon cancellation of an operation that the thread was executing.</summary>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor">
+ <summary>Initializes the exception.</summary>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String,System.Exception)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.Threading.CancellationToken)">
+ <summary>Initializes the exception.</summary>
+ <param name="token">A cancellation token associated with the operation that was canceled.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String,System.Threading.CancellationToken)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="token">A cancellation token associated with the operation that was canceled.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String,System.Exception,System.Threading.CancellationToken)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ <param name="token">A cancellation token associated with the operation that was canceled.</param>
+ </member>
+ <member name="P:System.OperationCanceledException.CancellationToken">
+ <summary>Gets a token associated with the operation that was canceled.</summary>
+ </member>
+ <member name="T:System.Threading.StackCrawlMark">
+ <summary>
+ A dummy replacement for the .NET internal class StackCrawlMark.
+ </summary>
+ </member>
+ <member name="T:System.Threading.CancellationToken">
+ <summary>
+ Propogates notification that operations should be canceled.
+ </summary>
+ <remarks>
+ <para>
+ A <see cref="T:System.Threading.CancellationToken"/> may be created directly in an unchangeable canceled or non-canceled state
+ using the CancellationToken's constructors. However, to have a CancellationToken that can change
+ from a non-canceled to a canceled state,
+ <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> must be used.
+ CancellationTokenSource exposes the associated CancellationToken that may be canceled by the source through its
+ <see cref="P:System.Threading.CancellationTokenSource.Token">Token</see> property.
+ </para>
+ <para>
+ Once canceled, a token may not transition to a non-canceled state, and a token whose
+ <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> is false will never change to one that can be canceled.
+ </para>
+ <para>
+ All members of this struct are thread-safe and may be used concurrently from multiple threads.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationToken.#ctor(System.Threading.CancellationTokenSource)">
+ <summary>
+ Internal constructor only a CancellationTokenSource should create a CancellationToken
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationToken.#ctor(System.Boolean)">
+ <summary>
+ Initializes the <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <param name="canceled">
+ The canceled state for the token.
+ </param>
+ <remarks>
+ Tokens created with this constructor will remain in the canceled state specified
+ by the <paramref name="canceled"/> parameter. If <paramref name="canceled"/> is false,
+ both <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> and <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will be false.
+ If <paramref name="canceled"/> is true,
+ both <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> and <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will be true.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action)">
+ <summary>
+ Registers a delegate that will be called when this <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action,System.Boolean)">
+ <summary>
+ Registers a delegate that will be called when this
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <param name="useSynchronizationContext">A Boolean value that indicates whether to capture
+ the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see> and use it
+ when invoking the <paramref name="callback"/>.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action{System.Object},System.Object)">
+ <summary>
+ Registers a delegate that will be called when this
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <param name="state">The state to pass to the <paramref name="callback"/> when the delegate is invoked. This may be null.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action{System.Object},System.Object,System.Boolean)">
+ <summary>
+ Registers a delegate that will be called when this
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <param name="state">The state to pass to the <paramref name="callback"/> when the delegate is invoked. This may be null.</param>
+ <param name="useSynchronizationContext">A Boolean value that indicates whether to capture
+ the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see> and use it
+ when invoking the <paramref name="callback"/>.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Equals(System.Threading.CancellationToken)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
+ specified token.
+ </summary>
+ <param name="other">The other <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to which to compare this
+ instance.</param>
+ <returns>True if the instances are equal; otherwise, false. Two tokens are equal if they are associated
+ with the same <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> or if they were both constructed
+ from public CancellationToken constructors and their <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> values are equal.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Equals(System.Object)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
+ specified <see cref="T:System.Object"/>.
+ </summary>
+ <param name="other">The other object to which to compare this instance.</param>
+ <returns>True if <paramref name="other"/> is a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ and if the two instances are equal; otherwise, false. Two tokens are equal if they are associated
+ with the same <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> or if they were both constructed
+ from public CancellationToken constructors and their <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> values are equal.</returns>
+ <exception cref="T:System.ObjectDisposedException">An associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.GetHashCode">
+ <summary>
+ Serves as a hash function for a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <returns>A hash code for the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationToken.op_Equality(System.Threading.CancellationToken,System.Threading.CancellationToken)">
+ <summary>
+ Determines whether two <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances are equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are equal; otherwise, false.</returns>
+ <exception cref="T:System.ObjectDisposedException">An associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.op_Inequality(System.Threading.CancellationToken,System.Threading.CancellationToken)">
+ <summary>
+ Determines whether two <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances are not equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are not equal; otherwise, false.</returns>
+ <exception cref="T:System.ObjectDisposedException">An associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.ThrowIfCancellationRequested">
+ <summary>
+ Throws a <see cref="T:System.OperationCanceledException">OperationCanceledException</see> if
+ this token has had cancellation requested.
+ </summary>
+ <remarks>
+ This method provides functionality equivalent to:
+ <code>
+ if (token.IsCancellationRequested)
+ throw new OperationCanceledException(token);
+ </code>
+ </remarks>
+ <exception cref="T:System.OperationCanceledException">The token has had cancellation requested.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="P:System.Threading.CancellationToken.None">
+ <summary>
+ Returns an empty CancellationToken value.
+ </summary>
+ <remarks>
+ The <see cref="T:System.Threading.CancellationToken"/> value returned by this property will be non-cancelable by default.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationToken.IsCancellationRequested">
+ <summary>
+ Gets whether cancellation has been requested for this token.
+ </summary>
+ <value>Whether cancellation has been requested for this token.</value>
+ <remarks>
+ <para>
+ This property indicates whether cancellation has been requested for this token,
+ either through the token initially being construted in a canceled state, or through
+ calling <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see>
+ on the token's associated <see cref="T:System.Threading.CancellationTokenSource"/>.
+ </para>
+ <para>
+ If this property is true, it only guarantees that cancellation has been requested.
+ It does not guarantee that every registered handler
+ has finished executing, nor that cancellation requests have finished propagating
+ to all registered handlers. Additional synchronization may be required,
+ particularly in situations where related objects are being canceled concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationToken.CanBeCanceled">
+ <summary>
+ Gets whether this token is capable of being in the canceled state.
+ </summary>
+ <remarks>
+ If CanBeCanceled returns false, it is guaranteed that the token will never transition
+ into a canceled state, meaning that <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will never
+ return true.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationToken.WaitHandle">
+ <summary>
+ Gets a <see cref="T:System.Threading.WaitHandle"/> that is signaled when the token is canceled.</summary>
+ <remarks>
+ Accessing this property causes a <see cref="T:System.Threading.WaitHandle">WaitHandle</see>
+ to be instantiated. It is preferable to only use this property when necessary, and to then
+ dispose the associated <see cref="T:System.Threading.CancellationTokenSource"/> instance at the earliest opportunity (disposing
+ the source will dispose of this allocated handle). The handle should not be closed or disposed directly.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="T:System.Threading.CancellationTokenRegistration">
+ <summary>
+ Represents a callback delegate that has been registered with a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <remarks>
+ To unregister a callback, dispose the corresponding Registration instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.TryDeregister">
+ <summary>
+ Attempts to deregister the item. If it's already being run, this may fail.
+ Entails a full memory fence.
+ </summary>
+ <returns>True if the callback was found and deregistered, false otherwise.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.Dispose">
+ <summary>
+ Disposes of the registration and unregisters the target callback from the associated
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ If the target callback is currently executing this method will wait until it completes, except
+ in the degenerate cases where a callback method deregisters itself.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.op_Equality(System.Threading.CancellationTokenRegistration,System.Threading.CancellationTokenRegistration)">
+ <summary>
+ Determines whether two <see
+ cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see>
+ instances are equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are equal; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.op_Inequality(System.Threading.CancellationTokenRegistration,System.Threading.CancellationTokenRegistration)">
+ <summary>
+ Determines whether two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are not equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are not equal; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.Equals(System.Object)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instance is equal to the
+ specified <see cref="T:System.Object"/>.
+ </summary>
+ <param name="obj">The other object to which to compare this instance.</param>
+ <returns>True, if both this and <paramref name="obj"/> are equal. False, otherwise.
+ Two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are equal if
+ they both refer to the output of a single call to the same Register method of a
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.Equals(System.Threading.CancellationTokenRegistration)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
+ specified <see cref="T:System.Object"/>.
+ </summary>
+ <param name="other">The other <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> to which to compare this instance.</param>
+ <returns>True, if both this and <paramref name="other"/> are equal. False, otherwise.
+ Two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are equal if
+ they both refer to the output of a single call to the same Register method of a
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.GetHashCode">
+ <summary>
+ Serves as a hash function for a <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration.</see>.
+ </summary>
+ <returns>A hash code for the current <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instance.</returns>
+ </member>
+ <member name="T:System.Threading.CancellationTokenSource">
+ <summary>
+ Signals to a <see cref="T:System.Threading.CancellationToken"/> that it should be canceled.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.CancellationTokenSource"/> is used to instantiate a <see cref="T:System.Threading.CancellationToken"/>
+ (via the source's <see cref="P:System.Threading.CancellationTokenSource.Token">Token</see> property)
+ that can be handed to operations that wish to be notified of cancellation or that can be used to
+ register asynchronous operations for cancellation. That token may have cancellation requested by
+ calling to the source's <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see>
+ method.
+ </para>
+ <para>
+ All members of this class, except <see cref="M:System.Threading.CancellationTokenSource.Dispose">Dispose</see>, are thread-safe and may be used
+ concurrently from multiple threads.
+ </para>
+ </remarks>
+ </member>
+ <member name="F:System.Threading.CancellationTokenSource.m_threadIDExecutingCallbacks">
+ The ID of the thread currently executing the main body of CTS.Cancel()
+ this helps us to know if a call to ctr.Dispose() is running 'within' a cancellation callback.
+ This is updated as we move between the main thread calling cts.Cancel() and any syncContexts that are used to
+ actually run the callbacks.
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.#ctor">
+ <summary>
+ Initializes the <see cref="T:System.Threading.CancellationTokenSource"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.Cancel">
+ <summary>
+ Communicates a request for cancellation.
+ </summary>
+ <remarks>
+ <para>
+ The associated <see cref="T:System.Threading.CancellationToken"/> will be
+ notified of the cancellation and will transition to a state where
+ <see cref="P:System.Threading.CancellationToken.IsCancellationRequested">IsCancellationRequested</see> returns true.
+ Any callbacks or cancelable operations
+ registered with the <see cref="T:System.Threading.CancellationToken"/> will be executed.
+ </para>
+ <para>
+ Cancelable operations and callbacks registered with the token should not throw exceptions.
+ However, this overload of Cancel will aggregate any exceptions thrown into a <see cref="T:System.AggregateException"/>,
+ such that one callback throwing an exception will not prevent other registered callbacks from being executed.
+ </para>
+ <para>
+ The <see cref="T:System.Threading.ExecutionContext"/> that was captured when each callback was registered
+ will be reestablished when the callback is invoked.
+ </para>
+ </remarks>
+ <exception cref="T:System.AggregateException">An aggregate exception containing all the exceptions thrown
+ by the registered callbacks on the associated <see cref="T:System.Threading.CancellationToken"/>.</exception>
+ <exception cref="T:System.ObjectDisposedException">This <see cref="T:System.Threading.CancellationTokenSource"/> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.Cancel(System.Boolean)">
+ <summary>
+ Communicates a request for cancellation.
+ </summary>
+ <remarks>
+ <para>
+ The associated <see cref="T:System.Threading.CancellationToken"/> will be
+ notified of the cancellation and will transition to a state where
+ <see cref="P:System.Threading.CancellationToken.IsCancellationRequested">IsCancellationRequested</see> returns true.
+ Any callbacks or cancelable operations
+ registered with the <see cref="T:System.Threading.CancellationToken"/> will be executed.
+ </para>
+ <para>
+ Cancelable operations and callbacks registered with the token should not throw exceptions.
+ If <paramref name="throwOnFirstException"/> is true, an exception will immediately propagate out of the
+ call to Cancel, preventing the remaining callbacks and cancelable operations from being processed.
+ If <paramref name="throwOnFirstException"/> is false, this overload will aggregate any
+ exceptions thrown into a <see cref="T:System.AggregateException"/>,
+ such that one callback throwing an exception will not prevent other registered callbacks from being executed.
+ </para>
+ <para>
+ The <see cref="T:System.Threading.ExecutionContext"/> that was captured when each callback was registered
+ will be reestablished when the callback is invoked.
+ </para>
+ </remarks>
+ <param name="throwOnFirstException">Specifies whether exceptions should immediately propagate.</param>
+ <exception cref="T:System.AggregateException">An aggregate exception containing all the exceptions thrown
+ by the registered callbacks on the associated <see cref="T:System.Threading.CancellationToken"/>.</exception>
+ <exception cref="T:System.ObjectDisposedException">This <see cref="T:System.Threading.CancellationTokenSource"/> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.Dispose">
+ <summary>
+ Releases the resources used by this <see cref="T:System.Threading.CancellationTokenSource" />.
+ </summary>
+ <remarks>
+ This method is not thread-safe for any other concurrent calls.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.ThrowIfDisposed">
+ <summary>
+ Throws an exception if the source has been disposed.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.InternalGetStaticSource(System.Boolean)">
+ <summary>
+ InternalGetStaticSource()
+ </summary>
+ <param name="set">Whether the source should be set.</param>
+ <returns>A static source to be shared among multiple tokens.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.InternalRegister(System.Action{System.Object},System.Object,System.Threading.SynchronizationContext)">
+ <summary>
+ Registers a callback object. If cancellation has already occurred, the
+ callback will have been run by the time this method returns.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.NotifyCancellation(System.Boolean)">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(System.Boolean)">
+ <summary>
+ Invoke the Canceled event.
+ </summary>
+ <remarks>
+ The handlers are invoked synchronously in LIFO order.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.CreateLinkedTokenSource(System.Threading.CancellationToken,System.Threading.CancellationToken)">
+ <summary>
+ Creates a <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that will be in the canceled state
+ when any of the source tokens are in the canceled state.
+ </summary>
+ <param name="token1">The first <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to observe.</param>
+ <param name="token2">The second <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to observe.</param>
+ <returns>A <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that is linked
+ to the source tokens.</returns>
+ <exception cref="T:System.ObjectDisposedException">A <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with
+ one of the source tokens has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.CreateLinkedTokenSource(System.Threading.CancellationToken[])">
+ <summary>
+ Creates a <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that will be in the canceled state
+ when any of the source tokens are in the canceled state.
+ </summary>
+ <param name="tokens">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances to observe.</param>
+ <returns>A <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that is linked
+ to the source tokens.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="tokens"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">A <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with
+ one of the source tokens has been disposed.</exception>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.IsCancellationRequested">
+ <summary>
+ Gets whether cancellation has been requested for this <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see>.
+ </summary>
+ <value>Whether cancellation has been requested for this <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see>.</value>
+ <remarks>
+ <para>
+ This property indicates whether cancellation has been requested for this token source, such as
+ due to a call to its
+ <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see> method.
+ </para>
+ <para>
+ If this property returns true, it only guarantees that cancellation has been requested. It does not
+ guarantee that every handler registered with the corresponding token has finished executing, nor
+ that cancellation requests have finished propagating to all registered handlers. Additional
+ synchronization may be required, particularly in situations where related objects are being
+ canceled concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.IsCancellationCompleted">
+ <summary>
+ A simple helper to determine whether cancellation has finished.
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.IsDisposed">
+ <summary>
+ A simple helper to determine whether disposal has occured.
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.ThreadIDExecutingCallbacks">
+ <summary>
+ The ID of the thread that is running callbacks.
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.Token">
+ <summary>
+ Gets the <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ associated with this <see cref="T:System.Threading.CancellationTokenSource"/>.
+ </summary>
+ <value>The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ associated with this <see cref="T:System.Threading.CancellationTokenSource"/>.</value>
+ <exception cref="T:System.ObjectDisposedException">The token source has been
+ disposed.</exception>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.CanBeCanceled">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.WaitHandle">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.ExecutingCallback">
+ <summary>
+ The currently executing callback
+ </summary>
+ </member>
+ <member name="T:System.Threading.CancellationCallbackInfo">
+ <summary>
+ A helper class for collating the various bits of information required to execute
+ cancellation callbacks.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationCallbackInfo.ExecuteCallback">
+ <summary>
+ InternalExecuteCallbackSynchronously_GeneralPath
+ This will be called on the target synchronization context, however, we still need to restore the required execution context
+ </summary>
+ </member>
+ <member name="T:System.Threading.SparselyPopulatedArray`1">
+ <summary>
+ A sparsely populated array. Elements can be sparse and some null, but this allows for
+ lock-free additions and growth, and also for constant time removal (by nulling out).
+ </summary>
+ <typeparam name="T">The kind of elements contained within.</typeparam>
+ </member>
+ <member name="M:System.Threading.SparselyPopulatedArray`1.#ctor(System.Int32)">
+ <summary>
+ Allocates a new array with the given initial size.
+ </summary>
+ <param name="initialSize">How many array slots to pre-allocate.</param>
+ </member>
+ <member name="M:System.Threading.SparselyPopulatedArray`1.Add(`0)">
+ <summary>
+ Adds an element in the first available slot, beginning the search from the tail-to-head.
+ If no slots are available, the array is grown. The method doesn't return until successful.
+ </summary>
+ <param name="element">The element to add.</param>
+ <returns>Information about where the add happened, to enable O(1) deregistration.</returns>
+ </member>
+ <member name="P:System.Threading.SparselyPopulatedArray`1.Tail">
+ <summary>
+ The tail of the doubly linked list.
+ </summary>
+ </member>
+ <member name="T:System.Threading.SparselyPopulatedArrayAddInfo`1">
+ <summary>
+ A struct to hold a link to the exact spot in an array an element was inserted, enabling
+ constant time removal later on.
+ </summary>
+ </member>
+ <member name="T:System.Threading.SparselyPopulatedArrayFragment`1">
+ <summary>
+ A fragment of a sparsely populated array, doubly linked.
+ </summary>
+ <typeparam name="T">The kind of elements contained within.</typeparam>
+ </member>
+ <member name="T:System.Threading.LazyInitializer">
+ <summary>
+ Provides lazy initialization routines.
+ </summary>
+ <remarks>
+ These routines avoid needing to allocate a dedicated, lazy-initialization instance, instead using
+ references to ensure targets have been initialized as they are accessed.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@)">
+ <summary>
+ Initializes a target reference type with the type's default constructor if the target has not
+ already been initialized.
+ </summary>
+ <typeparam name="T">The refence type of the reference to be initialized.</typeparam>
+ <param name="target">A reference of type <typeparamref name="T"/> to initialize if it has not
+ already been initialized.</param>
+ <returns>The initialized reference of type <typeparamref name="T"/>.</returns>
+ <exception cref="T:System.MissingMemberException">Type <typeparamref name="T"/> does not have a default
+ constructor.</exception>
+ <exception cref="T:System.MemberAccessException">
+ Permissions to access the constructor of type <typeparamref name="T"/> were missing.
+ </exception>
+ <remarks>
+ <para>
+ This method may only be used on reference types. To ensure initialization of value
+ types, see other overloads of EnsureInitialized.
+ </para>
+ <para>
+ This method may be used concurrently by multiple threads to initialize <paramref name="target"/>.
+ In the event that multiple threads access this method concurrently, multiple instances of <typeparamref name="T"/>
+ may be created, but only one will be stored into <paramref name="target"/>. In such an occurrence, this method will not dispose of the
+ objects that were not stored. If such objects must be disposed, it is up to the caller to determine
+ if an object was not used and to then dispose of the object appropriately.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Func{``0})">
+ <summary>
+ Initializes a target reference type using the specified function if it has not already been
+ initialized.
+ </summary>
+ <typeparam name="T">The reference type of the reference to be initialized.</typeparam>
+ <param name="target">The reference of type <typeparamref name="T"/> to initialize if it has not
+ already been initialized.</param>
+ <param name="valueFactory">The <see cref="T:System.Func{T}"/> invoked to initialize the
+ reference.</param>
+ <returns>The initialized reference of type <typeparamref name="T"/>.</returns>
+ <exception cref="T:System.MissingMemberException">Type <typeparamref name="T"/> does not have a
+ default constructor.</exception>
+ <exception cref="T:System.InvalidOperationException"><paramref name="valueFactory"/> returned
+ null.</exception>
+ <remarks>
+ <para>
+ This method may only be used on reference types, and <paramref name="valueFactory"/> may
+ not return a null reference (Nothing in Visual Basic). To ensure initialization of value types or
+ to allow null reference types, see other overloads of EnsureInitialized.
+ </para>
+ <para>
+ This method may be used concurrently by multiple threads to initialize <paramref name="target"/>.
+ In the event that multiple threads access this method concurrently, multiple instances of <typeparamref name="T"/>
+ may be created, but only one will be stored into <paramref name="target"/>. In such an occurrence, this method will not dispose of the
+ objects that were not stored. If such objects must be disposed, it is up to the caller to determine
+ if an object was not used and to then dispose of the object appropriately.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitializedCore``1(``0@,System.Func{``0})">
+ <summary>
+ Initialize the target using the given delegate (slow path).
+ </summary>
+ <typeparam name="T">The reference type of the reference to be initialized.</typeparam>
+ <param name="target">The variable that need to be initialized</param>
+ <param name="valueFactory">The delegate that will be executed to initialize the target</param>
+ <returns>The initialized variable</returns>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Boolean@,System.Object@)">
+ <summary>
+ Initializes a target reference or value type with its default constructor if it has not already
+ been initialized.
+ </summary>
+ <typeparam name="T">The type of the reference to be initialized.</typeparam>
+ <param name="target">A reference or value of type <typeparamref name="T"/> to initialize if it
+ has not already been initialized.</param>
+ <param name="initialized">A reference to a boolean that determines whether the target has already
+ been initialized.</param>
+ <param name="syncLock">A reference to an object used as the mutually exclusive lock for initializing
+ <paramref name="target"/>.</param>
+ <returns>The initialized value of type <typeparamref name="T"/>.</returns>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Boolean@,System.Object@,System.Func{``0})">
+ <summary>
+ Initializes a target reference or value type with a specified function if it has not already been
+ initialized.
+ </summary>
+ <typeparam name="T">The type of the reference to be initialized.</typeparam>
+ <param name="target">A reference or value of type <typeparamref name="T"/> to initialize if it
+ has not already been initialized.</param>
+ <param name="initialized">A reference to a boolean that determines whether the target has already
+ been initialized.</param>
+ <param name="syncLock">A reference to an object used as the mutually exclusive lock for initializing
+ <paramref name="target"/>.</param>
+ <param name="valueFactory">The <see cref="T:System.Func{T}"/> invoked to initialize the
+ reference or value.</param>
+ <returns>The initialized value of type <typeparamref name="T"/>.</returns>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitializedCore``1(``0@,System.Boolean@,System.Object@,System.Func{``0})">
+ <summary>
+ Ensure the target is initialized and return the value (slow path). This overload permits nulls
+ and also works for value type targets. Uses the supplied function to create the value.
+ </summary>
+ <typeparam name="T">The type of target.</typeparam>
+ <param name="target">A reference to the target to be initialized.</param>
+ <param name="initialized">A reference to a location tracking whether the target has been initialized.</param>
+ <param name="syncLock">A reference to a location containing a mutual exclusive lock.</param>
+ <param name="valueFactory">
+ The <see cref="T:System.Func{T}"/> to invoke in order to produce the lazily-initialized value.
+ </param>
+ <returns>The initialized object.</returns>
+ </member>
+ <member name="T:System.Threading.ManualResetEventSlim">
+ <summary>
+ Provides a slimmed down version of <see cref="T:System.Threading.ManualResetEvent"/>.
+ </summary>
+ <remarks>
+ All public and protected members of <see cref="T:System.Threading.ManualResetEventSlim"/> are thread-safe and may be used
+ concurrently from multiple threads, with the exception of Dispose, which
+ must only be used when all other operations on the <see cref="T:System.Threading.ManualResetEventSlim"/> have
+ completed, and Reset, which should only be used when no other threads are
+ accessing the event.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
+ class with an initial state of nonsignaled.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.#ctor(System.Boolean)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
+ class with a Boolen value indicating whether to set the intial state to signaled.
+ </summary>
+ <param name="initialState">true to set the initial state signaled; false to set the initial state
+ to nonsignaled.</param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.#ctor(System.Boolean,System.Int32)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
+ class with a Boolen value indicating whether to set the intial state to signaled and a specified
+ spin count.
+ </summary>
+ <param name="initialState">true to set the initial state to signaled; false to set the initial state
+ to nonsignaled.</param>
+ <param name="spinCount">The number of spin waits that will occur before falling back to a true
+ wait.</param>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="spinCount"/> is less than
+ 0 or greater than the maximum allowed value.</exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Initialize(System.Boolean,System.Int32)">
+ <summary>
+ Initializes the internal state of the event.
+ </summary>
+ <param name="initialState">Whether the event is set initially or not.</param>
+ <param name="spinCount">The spin count that decides when the event will block.</param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.EnsureLockObjectCreated">
+ <summary>
+ Helper to ensure the lock object is created before first use.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.LazyInitializeEvent">
+ <summary>
+ This method lazily initializes the event object. It uses CAS to guarantee that
+ many threads racing to call this at once don't result in more than one event
+ being stored and used. The event will be signaled or unsignaled depending on
+ the state of the thin-event itself, with synchronization taken into account.
+ </summary>
+ <returns>True if a new event was created and stored, false otherwise.</returns>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Set">
+ <summary>
+ Sets the state of the event to signaled, which allows one or more threads waiting on the event to
+ proceed.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Set(System.Boolean)">
+ <summary>
+ Private helper to actually perform the Set.
+ </summary>
+ <param name="duringCancellation">Indicates whether we are calling Set() during cancellation.</param>
+ <exception cref="T:System.OperationCanceledException">The object has been canceled.</exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Reset">
+ <summary>
+ Sets the state of the event to nonsignaled, which causes threads to block.
+ </summary>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Reset"/> is not
+ thread-safe and may not be used concurrently with other members of this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ <remarks>
+ 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.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Threading.CancellationToken)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> receives a signal,
+ while observing a <see cref="T:System.Threading.CancellationToken"/>.
+ </summary>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
+ observe.</param>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ <exception cref="T:System.OperationCanceledExcepton"><paramref name="cancellationToken"/> was
+ canceled.</exception>
+ <remarks>
+ 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.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.TimeSpan)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ <see cref="T:System.TimeSpan"/> to measure the time interval.
+ </summary>
+ <param name="timeout">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>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
+ number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
+ than <see cref="F:System.Int32.MaxValue"/>.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.TimeSpan,System.Threading.CancellationToken)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ <see cref="T:System.TimeSpan"/> to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
+ </summary>
+ <param name="timeout">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">The <see cref="T:System.Threading.CancellationToken"/> to
+ observe.</param>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
+ number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
+ than <see cref="F:System.Int32.MaxValue"/>.</exception>
+ <exception cref="T:System.Threading.OperationCanceledException"><paramref name="cancellationToken"/> was canceled.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Int32)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ 32-bit signed integer to measure the time interval.
+ </summary>
+ <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
+ negative number other than -1, which represents an infinite time-out.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ 32-bit signed integer to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
+ </summary>
+ <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
+ observe.</param>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
+ negative number other than -1, which represents an infinite time-out.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ <exception cref="T:System.Threading.OperationCanceledException"><paramref name="cancellationToken"/> was canceled.</exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Dispose">
+ <summary>
+ Releases all resources used by the current instance of <see cref="T:System.Threading.ManualResetEventSlim"/>.
+ </summary>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Dispose"/> is not
+ thread-safe and may not be used concurrently with other members of this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Dispose(System.Boolean)">
+ <summary>
+ When overridden in a derived class, releases the unmanaged resources used by the
+ <see cref="T:System.Threading.ManualResetEventSlim"/>, and optionally releases the managed resources.
+ </summary>
+ <param name="disposing">true to release both managed and unmanaged resources;
+ false to release only unmanaged resources.</param>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Dispose(System.Boolean)"/> is not
+ thread-safe and may not be used concurrently with other members of this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.ThrowIfDisposed">
+ <summary>
+ Throw ObjectDisposedException if the MRES is disposed
+ </summary>
+ </member>
+ <member name="F:System.Threading.ManualResetEventSlim.s_cancellationTokenCallback">
+ <summary>
+ Private helper method to wake up waiters when a cancellationToken gets canceled.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.UpdateStateAtomically(System.Int32,System.Int32)">
+ <summary>
+ Private helper method for updating parts of a bit-string state value.
+ Mainly called from the IsSet and Waiters properties setters
+ </summary>
+ <remarks>
+ Note: the parameter types must be int as CompareExchange cannot take a Uint
+ </remarks>
+ <param name="newBits">The new value</param>
+ <param name="updateBitsMask">The mask used to set the bits</param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.ExtractStatePortionAndShiftRight(System.Int32,System.Int32,System.Int32)">
+ <summary>
+ Private helper method - performs Mask and shift, particular helpful to extract a field from a packed word.
+ eg ExtractStatePortionAndShiftRight(0x12345678, 0xFF000000, 24) => 0x12, ie extracting the top 8-bits as a simple integer
+
+ ?? is there a common place to put this rather than being private to MRES?
+ </summary>
+ <param name="state"></param>
+ <param name="mask"></param>
+ <param name="rightBitShiftCount"></param>
+ <returns></returns>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.ExtractStatePortion(System.Int32,System.Int32)">
+ <summary>
+ Performs a Mask operation, but does not perform the shift.
+ This is acceptable for boolean values for which the shift is unnecessary
+ eg (val &amp; Mask) != 0 is an appropriate way to extract a boolean rather than using
+ ((val &amp; Mask) &gt;&gt; shiftAmount) == 1
+
+ ?? is there a common place to put this rather than being private to MRES?
+ </summary>
+ <param name="state"></param>
+ <param name="mask"></param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.UpdateTimeOut(System.Int64,System.Int32)">
+ <summary>
+ Helper function to measure and update the wait time
+ </summary>
+ <param name="startTimeTicks"> The first time (in Ticks) observed when the wait started.</param>
+ <param name="originalWaitMillisecondsTimeout">The orginal wait timeoutout in milliseconds.</param>
+ <returns>The new wait time in milliseconds, -1 if the time expired, -2 if overflow in counters
+ has occurred.</returns>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.WaitHandle">
+ <summary>
+ Gets the underlying <see cref="T:System.Threading.WaitHandle"/> object for this <see cref="T:System.Threading.ManualResetEventSlim"/>.
+ </summary>
+ <value>The underlying <see cref="T:System.Threading.WaitHandle"/> event object fore this <see cref="T:System.Threading.ManualResetEventSlim"/>.</value>
+ <remarks>
+ Accessing this property forces initialization of an underlying event object if one hasn't
+ already been created. To simply wait on this <see cref="T:System.Threading.ManualResetEventSlim"/>,
+ the public Wait methods should be preferred.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.IsSet">
+ <summary>
+ Gets whether the event is set.
+ </summary>
+ <value>true if the event has is set; otherwise, false.</value>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.SpinCount">
+ <summary>
+ Gets the number of spin waits that will be occur before falling back to a true wait.
+ </summary>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.Waiters">
+ <summary>
+ How many threads are waiting.
+ </summary>
+ </member>
+ <member name="T:System.Threading.SpinWait">
+ <summary>
+ Provides support for spin-based waiting.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.SpinWait"/> encapsulates common spinning logic. On single-processor machines, yields are
+ always used instead of busy waits, and on computers with Intel™ processors employing Hyper-Threading™
+ technology, it helps to prevent hardware thread starvation. SpinWait encapsulates a good mixture of
+ spinning and true yielding.
+ </para>
+ <para>
+ <see cref="T:System.Threading.SpinWait"/> is a value type, which means that low-level code can utilize SpinWait without
+ fear of unnecessary allocation overheads. SpinWait is not generally useful for ordinary applications.
+ In most cases, you should use the synchronization classes provided by the .NET Framework, such as
+ <see cref="T:System.Threading.Monitor"/>. For most purposes where spin waiting is required, however,
+ the <see cref="T:System.Threading.SpinWait"/> type should be preferred over the System.Threading.Thread.SpinWait method.
+ </para>
+ <para>
+ While SpinWait is designed to be used in concurrent applications, it is not designed to be
+ used from multiple threads concurrently. SpinWait's members are not thread-safe. If multiple
+ threads must spin, each should use its own instance of SpinWait.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinOnce">
+ <summary>
+ Performs a single spin.
+ </summary>
+ <remarks>
+ This is typically called in a loop, and may change in behavior based on the number of times a
+ <see cref="M:System.Threading.SpinWait.SpinOnce"/> has been called thus far on this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.SpinWait.Reset">
+ <summary>
+ Resets the spin counter.
+ </summary>
+ <remarks>
+ This makes <see cref="M:System.Threading.SpinWait.SpinOnce"/> and <see cref="P:System.Threading.SpinWait.NextSpinWillYield"/> behave as though no calls
+ to <see cref="M:System.Threading.SpinWait.SpinOnce"/> had been issued on this instance. If a <see cref="T:System.Threading.SpinWait"/> instance
+ is reused many times, it may be useful to reset it to avoid yielding too soon.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean})">
+ <summary>
+ Spins until the specified condition is satisfied.
+ </summary>
+ <param name="condition">A delegate to be executed over and over until it returns true.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.TimeSpan)">
+ <summary>
+ Spins until the specified condition is satisfied or until the specified timeout is expired.
+ </summary>
+ <param name="condition">A delegate to be executed over and over until it returns true.</param>
+ <param name="timeout">
+ A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait,
+ or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
+ <returns>True if the condition is satisfied within the timeout; otherwise, false</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative number
+ other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.</exception>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.Int32)">
+ <summary>
+ Spins until the specified condition is satisfied or until the specified timeout is expired.
+ </summary>
+ <param name="condition">A delegate to be executed over and over until it returns true.</param>
+ <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
+ <returns>True if the condition is satisfied within the timeout; otherwise, false</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
+ negative number other than -1, which represents an infinite time-out.</exception>
+ </member>
+ <member name="P:System.Threading.SpinWait.Count">
+ <summary>
+ Gets the number of times <see cref="M:System.Threading.SpinWait.SpinOnce"/> has been called on this instance.
+ </summary>
+ </member>
+ <member name="P:System.Threading.SpinWait.NextSpinWillYield">
+ <summary>
+ Gets whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"/> will yield the processor, triggering a
+ forced context switch.
+ </summary>
+ <value>Whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"/> will yield the processor, triggering a
+ forced context switch.</value>
+ <remarks>
+ On a single-CPU machine, <see cref="M:System.Threading.SpinWait.SpinOnce"/> always yields the processor. On machines with
+ multiple CPUs, <see cref="M:System.Threading.SpinWait.SpinOnce"/> may yield after an unspecified number of calls.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.PlatformHelper">
+ <summary>
+ A helper class to get the number of preocessors, it updates the numbers of processors every sampling interval
+ </summary>
+ </member>
+ <member name="P:System.Threading.PlatformHelper.ProcessorCount">
+ <summary>
+ Gets the number of available processors
+ </summary>
+ </member>
+ <member name="P:System.Threading.PlatformHelper.IsSingleProcessor">
+ <summary>
+ Gets whether the current machine has only a single processor.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.Task`1">
+ <summary>
+ Represents an asynchronous operation that produces a result at some time in the future.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by this <see cref="T:System.Threading.Tasks.Task`1"/>.
+ </typeparam>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.Tasks.Task`1"/> instances may be created in a variety of ways. The most common approach is by
+ using the task's <see cref="P:System.Threading.Tasks.Task`1.Factory"/> property to retrieve a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance that can be used to create tasks for several
+ purposes. For example, to create a <see cref="T:System.Threading.Tasks.Task`1"/> that runs a function, the factory's StartNew
+ method may be used:
+ <code>
+ // C#
+ var t = Task&lt;int&gt;.Factory.StartNew(() =&gt; GenerateResult());
+ - or -
+ var t = Task.Factory.StartNew(() =&gt; GenerateResult());
+
+ ' Visual Basic
+ Dim t = Task&lt;int&gt;.Factory.StartNew(Function() GenerateResult())
+ - or -
+ Dim t = Task.Factory.StartNew(Function() GenerateResult())
+ </code>
+ </para>
+ <para>
+ The <see cref="T:System.Threading.Tasks.Task`1"/> class also provides constructors that initialize the task but that do not
+ schedule it for execution. For performance reasons, the StartNew method should be the
+ preferred mechanism for creating and scheduling computational tasks, but for scenarios where creation
+ and scheduling must be separated, the constructors may be used, and the task's
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see>
+ method may then be used to schedule the task for execution at a later time.
+ </para>
+ <para>
+ All members of <see cref="T:System.Threading.Tasks.Task`1"/>, except for
+ <see cref="M:System.Threading.Tasks.Task.Dispose">Dispose</see>, are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.Task">
+ <summary>
+ Represents an asynchronous operation.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.Tasks.Task"/> instances may be created in a variety of ways. The most common approach is by
+ using the Task type's <see cref="P:System.Threading.Tasks.Task.Factory"/> property to retrieve a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance that can be used to create tasks for several
+ purposes. For example, to create a <see cref="T:System.Threading.Tasks.Task"/> that runs an action, the factory's StartNew
+ method may be used:
+ <code>
+ // C#
+ var t = Task.Factory.StartNew(() =&gt; DoAction());
+
+ ' Visual Basic
+ Dim t = Task.Factory.StartNew(Function() DoAction())
+ </code>
+ </para>
+ <para>
+ The <see cref="T:System.Threading.Tasks.Task"/> class also provides constructors that initialize the Task but that do not
+ schedule it for execution. For performance reasons, TaskFactory's StartNew method should be the
+ preferred mechanism for creating and scheduling computational tasks, but for scenarios where creation
+ and scheduling must be separated, the constructors may be used, and the task's <see cref="M:System.Threading.Tasks.Task.Start"/>
+ method may then be used to schedule the task for execution at a later time.
+ </para>
+ <para>
+ All members of <see cref="T:System.Threading.Tasks.Task"/>, except for <see cref="M:System.Threading.Tasks.Task.Dispose"/>, are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ <para>
+ For operations that return values, the <see cref="T:System.Threading.Tasks.Task`1"/> class
+ should be used.
+ </para>
+ <para>
+ For developers implementing custom debuggers, several internal and private members of Task may be
+ useful (these may change from release to release). The Int32 m_taskId field serves as the backing
+ store for the <see cref="P:System.Threading.Tasks.Task.Id"/> property, however accessing this field directly from a debugger may be
+ more efficient than accessing the same value through the property's getter method (the
+ s_taskIdCounter Int32 counter is used to retrieve the next available ID for a Task). Similarly, the
+ Int32 m_stateFlags field stores information about the current lifecycle stage of the Task,
+ information also accessible through the <see cref="P:System.Threading.Tasks.Task.Status"/> property. The m_action System.Object
+ field stores a reference to the Task's delegate, and the m_stateObject System.Object field stores the
+ async state passed to the Task by the developer. Finally, for debuggers that parse stack frames, the
+ InternalWait method serves a potential marker for when a Task is entering a wait operation.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#cctor">
+ <summary>
+ A type initializer that runs with the appropriate permissions.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the Task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the Task.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new Task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and creation options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and creation options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and state.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Object,System.Object,System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ An internal constructor used by the factory methods on task and its descendent(s).
+ This variant does not capture the ExecutionContext; it is up to the caller to do that.
+ </summary>
+ <param name="action">An action to execute.</param>
+ <param name="state">Optional state to pass to the action.</param>
+ <param name="parent">Parent of Task.</param>
+ <param name="cancellationToken">A CancellationToken for the task.</param>
+ <param name="scheduler">A task scheduler under which the task will run.</param>
+ <param name="creationOptions">Options to control its execution.</param>
+ <param name="internalOptions">Internal options to control its execution</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.TaskConstructorCore(System.Object,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Common logic used by the following internal ctors:
+ Task()
+ Task(object action, object state, Task parent, TaskCreationOptions options, TaskScheduler taskScheduler)
+
+ ASSUMES THAT m_creatingTask IS ALREADY SET.
+
+ </summary>
+ <param name="action">Action for task to execute.</param>
+ <param name="state">Object to which to pass to action (may be null)</param>
+ <param name="scheduler">Task scheduler on which to run thread (only used by continuation tasks).</param>
+ <param name="cancellationToken">A CancellationToken for the Task.</param>
+ <param name="creationOptions">Options to customize behavior of Task.</param>
+ <param name="internalOptions">Internal options to customize behavior of Task.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.DeregisterCancellationCallback">
+ <summary>
+ Checks if we registered a CT callback during construction, and deregisters it.
+ This should be called when we know the registration isn't useful anymore. Specifically from Finish() if the task has completed
+ successfully or with an exception.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.PossiblyCaptureContext(System.Threading.StackCrawlMark@)">
+ <summary>
+ Captures the ExecutionContext so long as flow isn't suppressed.
+ </summary>
+ <param name="stackMark">A stack crawl mark pointing to the frame of the caller.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddNewChild">
+ <summary>
+ Internal function that will be called by a new child task to add itself to
+ the children list of the parent (this).
+
+ Since a child task can only be created from the thread executing the action delegate
+ of this task, reentrancy is neither required nor supported. This should not be called from
+ anywhere other than the task construction/initialization codepaths.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Start">
+ <summary>
+ Starts the <see cref="T:System.Threading.Tasks.Task"/>, scheduling it for execution to the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </summary>
+ <remarks>
+ A task may only be started and run only once. Any attempts to schedule a task a second time
+ will result in an exception.
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Start(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Starts the <see cref="T:System.Threading.Tasks.Task"/>, scheduling it for execution to the specified <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </summary>
+ <remarks>
+ A task may only be started and run only once. Any attempts to schedule a task a second time will
+ result in an exception.
+ </remarks>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> with which to associate
+ and execute this task.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.RunSynchronously">
+ <summary>
+ Runs the <see cref="T:System.Threading.Tasks.Task"/> synchronously on the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </summary>
+ <remarks>
+ <para>
+ A task may only be started and run only once. Any attempts to schedule a task a second time will
+ result in an exception.
+ </para>
+ <para>
+ Tasks executed with <see cref="M:System.Threading.Tasks.Task.RunSynchronously"/> will be associated with the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </para>
+ <para>
+ If the target scheduler does not support running this Task on the current thread, the Task will
+ be scheduled for execution on the scheduler, and the current thread will block until the
+ Task has completed execution.
+ </para>
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.RunSynchronously(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Runs the <see cref="T:System.Threading.Tasks.Task"/> synchronously on the <see cref="T:System.Threading.Tasks.TaskScheduler">scheduler</see> provided.
+ </summary>
+ <remarks>
+ <para>
+ A task may only be started and run only once. Any attempts to schedule a task a second time will
+ result in an exception.
+ </para>
+ <para>
+ If the target scheduler does not support running this Task on the current thread, the Task will
+ be scheduled for execution on the scheduler, and the current thread will block until the
+ Task has completed execution.
+ </para>
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="scheduler"/> parameter
+ is null.</exception>
+ <param name="scheduler">The scheduler on which to attempt to run this task inline.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ThrowIfDisposed">
+ <summary>
+ Throws an exception if the task has been disposed, and hence can no longer be accessed.
+ </summary>
+ <exception cref="T:System.ObjectDisposedException">The task has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.SetCompleted">
+ <summary>
+ Sets the internal completion event.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Dispose">
+ <summary>
+ Disposes the <see cref="T:System.Threading.Tasks.Task"/>, releasing all of its unmanaged resources.
+ </summary>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.Tasks.Task"/>, this method is not thread-safe.
+ Also, <see cref="M:System.Threading.Tasks.Task.Dispose"/> may only be called on a <see cref="T:System.Threading.Tasks.Task"/> that is in one of
+ the final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The exception that is thrown if the <see cref="T:System.Threading.Tasks.Task"/> is not in
+ one of the final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Dispose(System.Boolean)">
+ <summary>
+ Disposes the <see cref="T:System.Threading.Tasks.Task"/>, releasing all of its unmanaged resources.
+ </summary>
+ <param name="disposing">
+ A Boolean value that indicates whether this method is being called due to a call to <see cref="M:System.Threading.Tasks.Task.Dispose"/>.
+ </param>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.Tasks.Task"/>, this method is not thread-safe.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ScheduleAndStart(System.Boolean)">
+ <summary>
+ Schedules the task for execution.
+ </summary>
+ <param name="needsProtection">If true, TASK_STATE_STARTED bit is turned on in
+ an atomic fashion, making sure that TASK_STATE_CANCELED does not get set
+ underneath us. If false, TASK_STATE_STARTED bit is OR-ed right in. This
+ allows us to streamline things a bit for StartNew(), where competing cancellations
+ are not a problem.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddException(System.Object)">
+ <summary>
+ Adds an exception to the list of exceptions this task has thrown.
+ </summary>
+ <param name="exceptionObject">An object representing either an Exception or a collection of Exceptions.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.GetExceptions(System.Boolean)">
+ <summary>
+ Returns a list of exceptions by aggregating the holder's contents. Or null if
+ no exceptions have been thrown.
+ </summary>
+ <param name="includeTaskCanceledExceptions">Whether to include a TCE if cancelled.</param>
+ <returns>An aggregate exception, or null if no exceptions have been caught.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ThrowIfExceptional(System.Boolean)">
+ <summary>
+ Throws an aggregate exception if the task contains exceptions.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.UpdateExceptionObservedStatus">
+ <summary>
+ Checks whether this is an attached task, and whether we are being called by the parent task.
+ And sets the TASK_STATE_EXCEPTIONOBSERVEDBYPARENT status flag based on that.
+
+ This is meant to be used internally when throwing an exception, and when WaitAll is gathering
+ exceptions for tasks it waited on. If this flag gets set, the implicit wait on children
+ will skip exceptions to prevent duplication.
+
+ This should only be called when this task has completed with an exception
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Finish(System.Boolean)">
+ <summary>
+ Signals completion of this particular task.
+
+ The bUserDelegateExecuted parameter indicates whether this Finish() call comes following the
+ full execution of the user delegate.
+
+ If bUserDelegateExecuted is false, it mean user delegate wasn't invoked at all (either due to
+ a cancellation request, or because this task is a promise style Task). In this case, the steps
+ involving child tasks (i.e. WaitForChildren) will be skipped.
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishStageTwo">
+ <summary>
+ FinishStageTwo is to be executed as soon as we known there are no more children to complete.
+ It can happen i) either on the thread that originally executed this task (if no children were spawned, or they all completed by the time this task's delegate quit)
+ ii) or on the thread that executed the last child.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishStageThree">
+ <summary>
+ Final stage of the task completion code path. Notifies the parent (if any) that another of its childre are done, and runs continuations.
+ This function is only separated out from FinishStageTwo because these two operations are also needed to be called from CancellationCleanupLogic()
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ProcessChildCompletion(System.Threading.Tasks.Task)">
+ <summary>
+ This is called by children of this task when they are completed.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddExceptionsFromChildren">
+ <summary>
+ This is to be called just before the task does its final state transition.
+ It traverses the list of exceptional children, and appends their aggregate exceptions into this one's exception list
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishThreadAbortedTask(System.Boolean,System.Boolean)">
+ <summary>
+ Special purpose Finish() entry point to be used when the task delegate throws a ThreadAbortedException
+ This makes a note in the state flags so that we avoid any costly synchronous operations in the finish codepath
+ such as inlined continuations
+ </summary>
+ <param name="bTAEAddedToExceptionHolder">
+ Indicates whether the ThreadAbortException was added to this task's exception holder.
+ This should always be true except for the case of non-root self replicating task copies.
+ </param>
+ <param name="delegateRan">Whether the delegate was executed.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Execute">
+ <summary>
+ Executes the task. This method will only be called once, and handles bookeeping associated with
+ self-replicating tasks, in addition to performing necessary exception marshaling.
+ </summary>
+ <exception cref="T:System.ObjectDisposedException">The task has already been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.System#Threading#Tasks#IThreadPoolWorkItem#ExecuteWorkItem">
+ <summary>
+ IThreadPoolWorkItem override, which is the entry function for this task when the TP scheduler decides to run it.
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ExecuteEntry(System.Boolean)">
+ <summary>
+ Outermost entry function to execute this task. Handles all aspects of executing a task on the caller thread.
+ Currently this is called by IThreadPoolWorkItem.ExecuteWorkItem(), and TaskManager.TryExecuteInline.
+
+ </summary>
+ <param name="bPreventDoubleExecution"> Performs atomic updates to prevent double execution. Should only be set to true
+ in codepaths servicing user provided TaskSchedulers. The ConcRT or ThreadPool schedulers don't need this. </param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InnerInvoke">
+ <summary>
+ The actual code which invokes the body of the task. This can be overriden in derived types.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task)">
+ <summary>
+ Alternate InnerInvoke prototype to be called from ExecuteSelfReplicating() so that
+ the Parallel Debugger can discover the actual task being invoked.
+ Details: Here, InnerInvoke is actually being called on the rootTask object while we are actually executing the
+ childTask. And the debugger needs to discover the childTask, so we pass that down as an argument.
+ The NoOptimization and NoInlining flags ensure that the childTask pointer is retained, and that this
+ function appears on the callstack.
+ </summary>
+ <param name="childTask"></param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.HandleException(System.Exception)">
+ <summary>
+ Performs whatever handling is necessary for an unhandled exception. Normally
+ this just entails adding the exception to the holder object.
+ </summary>
+ <param name="unhandledException">The exception that went unhandled.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during
+ the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.TimeSpan)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="timeout">
+ 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>
+ <returns>
+ true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise, false.
+ </returns>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="timeout"/> is a negative number other than -1 milliseconds, which represents an
+ infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.Threading.CancellationToken)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the task to complete.
+ </param>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.Int32)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.</param>
+ <returns>true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise,
+ false.
+ </returns>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the task to complete.
+ </param>
+ <returns>
+ true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise, false.
+ </returns>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InternalWait(System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ The core wait function, which is only accesible internally. It's meant to be used in places in TPL code where
+ the current context is known or cached.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InternalCancel(System.Boolean)">
+ <summary>
+ Cancels the <see cref="T:System.Threading.Tasks.Task"/>.
+ </summary>
+ <param name="bCancelNonExecutingOnly"> Indiactes whether we should only cancel non-invoked tasks.
+ For the default scheduler this option will only be serviced through TryDequeue.
+ For custom schedulers we also attempt an atomic state transition.</param>
+ <returns>true if the task was successfully canceled; otherwise, false.</returns>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.SetCancellationAcknowledged">
+ <summary>
+ Sets the task's cancellation acknowledged flag.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishContinuations">
+ <summary>
+ Runs all of the continuations, as appropriate.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWithIsRightKind(System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Helper function to determine whether the current task is in the state desired by the
+ continuation kind under evaluation. Three possibilities exist: the task failed with
+ an unhandled exception (OnFailed), the task was canceled before running (OnAborted),
+ or the task completed successfully (OnCompletedSuccessfully). Note that the last
+ one includes completing due to cancellation.
+ </summary>
+ <param name="options">The continuation options under evaluation.</param>
+ <returns>True if the continuation should be run given the task's current state.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken"> The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
+ instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
+ are not met, the continuation task will be canceled instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
+ instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
+ are not met, the continuation task will be canceled instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.CreationOptionsFromContinuationOptions(System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskCreationOptions@,System.Threading.Tasks.InternalTaskOptions@)">
+ <summary>
+ Converts TaskContinuationOptions to TaskCreationOptions, and also does
+ some validity checking along the way.
+ </summary>
+ <param name="continuationOptions">Incoming TaskContinuationOptions</param>
+ <param name="creationOptions">Outgoing TaskCreationOptions</param>
+ <param name="internalOptions">Outgoing InternalTaskOptions</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Registers the continuation and possibly runs it (if the task is already finished).
+ </summary>
+ <param name="continuationTask">The continuation task itself.</param>
+ <param name="scheduler">TaskScheduler with which to associate continuation task.</param>
+ <param name="options">Restrictions on when the continuation becomes active.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[])">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.TimeSpan)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="timeout">
+ 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>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="timeout"/> is a negative number other than -1 milliseconds, which represents an
+ infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Int32)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.</param>
+ <param name="tasks">An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Threading.CancellationToken)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the tasks to complete.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the tasks to complete.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAllSTAAnd64Aware(System.Threading.WaitHandle[],System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for a set of handles in a STA-aware way. In other words, it will wait for each
+ of the events individually if we're on a STA thread, because MsgWaitForMultipleObjectsEx
+ can't do a true wait-all due to its hidden message queue event. This is not atomic,
+ of course, but we only wait on one-way (MRE) events anyway so this is OK.
+ </summary>
+ <param name="waitHandles">An array of wait handles to wait on.</param>
+ <param name="millisecondsTimeout">The timeout to use during waits.</param>
+ <param name="cancellationToken">The cancellationToken that enables a wait to be canceled.</param>
+ <returns>True if all waits succeeded, false if a timeout occurred.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FastWaitAll(System.Threading.Tasks.Task[])">
+ <summary>
+ Internal WaitAll implementation which is meant to be used with small number of tasks,
+ optimized for Parallel.Invoke and other structured primitives.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddExceptionsForCompletedTask(System.Collections.Generic.List{System.Exception}@,System.Threading.Tasks.Task)">
+ <summary>
+ This internal function is only meant to be called by WaitAll()
+ If the completed task is canceled or it has other exceptions, here we will add those
+ into the passed in exception list (which will be lazily initialized here).
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[])">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <returns>The index of the completed task in the <paramref name="tasks"/> array argument.</returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.TimeSpan)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="timeout">
+ 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>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
+ timeout occurred.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="timeout"/> is a negative number other than -1 milliseconds, which represents an
+ infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Threading.CancellationToken)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for a task to complete.
+ </param>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Int32)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
+ timeout occurred.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for a task to complete.
+ </param>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
+ timeout occurred.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Id">
+ <summary>
+ Gets a unique ID for this <see cref="T:System.Threading.Tasks.Task">Task</see> instance.
+ </summary>
+ <remarks>
+ Task IDs are assigned on-demand and do not necessarily represent the order in the which Task
+ instances were created.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CurrentId">
+ <summary>
+ Returns the unique ID of the currently executing <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.InternalCurrent">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.Task">Task</see> instance currently executing, or
+ null if none exists.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Exception">
+ <summary>
+ Gets the <see cref="T:System.AggregateException">Exception</see> that caused the <see cref="T:System.Threading.Tasks.Task">Task</see> to end prematurely. If the <see cref="T:System.Threading.Tasks.Task">Task</see> completed successfully or has not yet thrown any
+ exceptions, this will return null.
+ </summary>
+ <remarks>
+ Tasks that throw unhandled exceptions store the resulting exception and propagate it wrapped in a
+ <see cref="T:System.AggregateException"/> in calls to <see cref="M:System.Threading.Tasks.Task.Wait">Wait</see>
+ or in accesses to the <see cref="P:System.Threading.Tasks.Task.Exception"/> property. Any exceptions not observed by the time
+ the Task instance is garbage collected will be propagated on the finalizer thread.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task">Task</see>
+ has been disposed.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Status">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> of this Task.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCanceled">
+ <summary>
+ Gets whether this <see cref="T:System.Threading.Tasks.Task">Task</see> instance has completed
+ execution due to being canceled.
+ </summary>
+ <remarks>
+ A <see cref="T:System.Threading.Tasks.Task">Task</see> will complete in Canceled state either if its <see cref="P:System.Threading.Tasks.Task.CancellationToken">CancellationToken</see>
+ was marked for cancellation before the task started executing, or if the task acknowledged the cancellation request on
+ its already signaled CancellationToken by throwing an
+ <see cref="T:System.OperationCanceledException">OperationCanceledException2</see> that bears the same
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCancellationRequested">
+ <summary>
+ Returns true if this task has a cancellation token and it was signaled.
+ To be used internally in execute entry codepaths.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CancellationToken">
+ <summary>
+ This internal property provides access to the CancellationToken that was set on the task
+ when it was constructed.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCancellationAcknowledged">
+ <summary>
+ Gets whether this <see cref="T:System.Threading.Tasks.Task"/> threw an OperationCanceledException2 while its CancellationToken was signaled.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCompleted">
+ <summary>
+ Gets whether this <see cref="T:System.Threading.Tasks.Task">Task</see> has completed.
+ </summary>
+ <remarks>
+ <see cref="P:System.Threading.Tasks.Task.IsCompleted"/> will return true when the Task is in one of the three
+ final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsDisposed">
+ <summary>
+ Checks whether this task has been disposed.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CreationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used
+ to create this task.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.System#IAsyncResult#AsyncWaitHandle">
+ <summary>
+ Gets a <see cref="T:System.Threading.WaitHandle"/> that can be used to wait for the task to
+ complete.
+ </summary>
+ <remarks>
+ Using the wait functionality provided by <see cref="M:System.Threading.Tasks.Task.Wait"/>
+ should be preferred over using <see cref="P:System.IAsyncResult.AsyncWaitHandle"/> for similar
+ functionality.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.AsyncState">
+ <summary>
+ Gets the state object supplied when the <see cref="T:System.Threading.Tasks.Task">Task</see> was created,
+ or null if none was supplied.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.System#IAsyncResult#CompletedSynchronously">
+ <summary>
+ Gets an indication of whether the asynchronous operation completed synchronously.
+ </summary>
+ <value>true if the asynchronous operation completed synchronously; otherwise, false.</value>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.ExecutingTaskScheduler">
+ <summary>
+ Provides access to the TaskScheduler responsible for executing this Task.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Factory">
+ <summary>
+ Provides access to factory methods for creating <see cref="T:System.Threading.Tasks.Task"/> and <see cref="T:System.Threading.Tasks.Task`1"/> instances.
+ </summary>
+ <remarks>
+ The factory returned from <see cref="P:System.Threading.Tasks.Task.Factory"/> is a default instance
+ of <see cref="T:System.Threading.Tasks.TaskFactory"/>, as would result from using
+ the default constructor on TaskFactory.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CompletedEvent">
+ <summary>
+ Provides an event that can be used to wait for completion.
+ Only called by Wait*(), which means that we really do need to instantiate a completion event.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsSelfReplicatingRoot">
+ <summary>
+ Determines whether this is the root task of a self replicating group.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsChildReplica">
+ <summary>
+ Determines whether the task is a replica itself.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.ExceptionRecorded">
+ <summary>
+ The property formerly known as IsFaulted.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsFaulted">
+ <summary>
+ Gets whether the <see cref="T:System.Threading.Tasks.Task"/> completed due to an unhandled exception.
+ </summary>
+ <remarks>
+ If <see cref="P:System.Threading.Tasks.Task.IsFaulted"/> is true, the Task's <see cref="P:System.Threading.Tasks.Task.Status"/> will be equal to
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">TaskStatus.Faulted</see>, and its
+ <see cref="P:System.Threading.Tasks.Task.Exception"/> property will be non-null.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsExceptionObservedByParent">
+ <summary>
+ Checks whether the TASK_STATE_EXCEPTIONOBSERVEDBYPARENT status flag is set,
+ This will only be used by the implicit wait to prevent double throws
+
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsDelegateInvoked">
+ <summary>
+ Checks whether the body was ever invoked. Used by task scheduler code to verify custom schedulers actually ran the task.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.Task.TaskContinuation">
+ <summary>
+ A structure to hold continuation information.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.TaskContinuation.#ctor(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Constructs a new continuation structure.
+ </summary>
+ <param name="task">The task to be activated.</param>
+ <param name="options">The continuation options.</param>
+ <param name="scheduler">The scheduler to use for the continuation.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.TaskContinuation.Run(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>
+ Invokes the continuation for the target completion task.
+ </summary>
+ <param name="completedTask">The completed task.</param>
+ <param name="bCanInlineContinuationTask">Whether the continuation can be inlined.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0})">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to this task.</param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and creation options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and creation options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and state.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the function.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to the new task.</param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the function.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the function.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a new future object.
+ </summary>
+ <param name="parent">The parent task for this future.</param>
+ <param name="valueSelector">A function that yields the future value.</param>
+ <param name="scheduler">The task scheduler which will be used to execute the future.</param>
+ <param name="cancellationToken">The CancellationToken for the task.</param>
+ <param name="creationOptions">Options to control the future's behavior.</param>
+ <param name="internalOptions">Internal options to control the future's behavior.</param>
+ <exception cref="T:ArgumentOutOfRangeException">The <paramref name="creationOptions"/> argument specifies
+ a SelfReplicating <see cref="T:System.Threading.Tasks.Task`1"/>, which is illegal."/&gt;.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a new future object.
+ </summary>
+ <param name="parent">The parent task for this future.</param>
+ <param name="state">An object containing data to be used by the action; may be null.</param>
+ <param name="valueSelector">A function that yields the future value.</param>
+ <param name="cancellationToken">The CancellationToken for the task.</param>
+ <param name="scheduler">The task scheduler which will be used to execute the future.</param>
+ <param name="creationOptions">Options to control the future's behavior.</param>
+ <param name="internalOptions">Internal options to control the future's behavior.</param>
+ <exception cref="T:ArgumentOutOfRangeException">The <paramref name="creationOptions"/> argument specifies
+ a SelfReplicating <see cref="T:System.Threading.Tasks.Task`1"/>, which is illegal."/&gt;.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.InvokeFuture(System.Object)">
+ <summary>
+ Evaluates the value selector of the Task which is passed in as an object and stores the result.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
+ instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
+ are not met, the continuation task will be canceled instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
+ task has completed, whether it completes due to running to completion successfully, faulting due
+ to an unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
+ task has completed, whether it completes due to running to completion successfully, faulting due
+ to an unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ <para>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
+ task has completed, whether it completes due to running to completion successfully, faulting due
+ to an unhandled exception, or exiting out early due to being canceled.
+ </para>
+ <para>
+ The <paramref name="continuationFunction"/>, when executed, should return a <see cref="T:System.Threading.Tasks.Task`1"/>. This task's completion state will be transferred to the task returned
+ from the ContinueWith call.
+ </para>
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be passed as
+ an argument this completed task.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ <para>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </para>
+ <para>
+ The <paramref name="continuationFunction"/>, when executed, should return a <see cref="T:System.Threading.Tasks.Task`1"/>.
+ This task's completion state will be transferred to the task returned from the
+ ContinueWith call.
+ </para>
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task`1.Result">
+ <summary>
+ Gets the result value of this <see cref="T:System.Threading.Tasks.Task`1"/>.
+ </summary>
+ <remarks>
+ The get accessor for this property ensures that the asynchronous operation is complete before
+ returning. Once the result of the computation is available, it is stored and will be returned
+ immediately on later calls to <see cref="P:System.Threading.Tasks.Task`1.Result"/>.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task`1.Factory">
+ <summary>
+ Provides access to factory methods for creating <see cref="T:System.Threading.Tasks.Task`1"/> instances.
+ </summary>
+ <remarks>
+ The factory returned from <see cref="P:System.Threading.Tasks.Task`1.Factory"/> is a default instance
+ of <see cref="T:System.Threading.Tasks.TaskFactory`1"/>, as would result from using
+ the default constructor on the factory type.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskFactory`1">
+ <summary>
+ Provides support for creating and scheduling
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task{TResult}</see> objects.
+ </summary>
+ <typeparam name="TResult">The type of the results that are available though
+ the <see cref="T:System.Threading.Tasks.Task{TResult}">Task{TResult}</see> objects that are associated with
+ the methods in this class.</typeparam>
+ <remarks>
+ <para>
+ There are many common patterns for which tasks are relevant. The <see cref="T:System.Threading.Tasks.TaskFactory`1"/>
+ class encodes some of these patterns into methods that pick up default settings, which are
+ configurable through its constructors.
+ </para>
+ <para>
+ A default instance of <see cref="T:System.Threading.Tasks.TaskFactory`1"/> is available through the
+ <see cref="P:System.Threading.Tasks.Task`1.Factory">Task{TResult}.Factory</see> property.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the default configuration.
+ </summary>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.CancellationToken)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the default configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
+ </summary>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any tasks created with this TaskFactory{TResult}. A null value
+ indicates that the current TaskScheduler should be used.
+ </param>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to <paramref name="scheduler"/>, unless it's null, in which case the property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
+ </summary>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory{TResult}.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory{TResult}.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argument specifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory{TResult}.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory{TResult}.
+ </param>
+ <param name="scheduler">
+ The default <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any Tasks created with this TaskFactory{TResult}. A null value
+ indicates that TaskScheduler.Current should be used.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argumentspecifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to
+ <paramref name="scheduler"/>, unless it's null, in which case the property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0})">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0})">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref name="asyncResult"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the task that executes the end method.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,``2,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref
+ name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.CancellationToken">
+ <summary>
+ Gets the default <see cref="T:System.Threading.CancellationToken">CancellationToken</see> of this
+ TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to all
+ tasks created by this factory unless another CancellationToken value is explicitly specified
+ during the call to the factory methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.Scheduler">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> of this
+ TaskFactory{TResult}.
+ </summary>
+ <remarks>
+ This property returns the default scheduler for this factory. It will be used to schedule all
+ tasks unless another scheduler is explicitly specified during calls to this factory's methods.
+ If null, <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>
+ will be used.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.CreationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions
+ </see> value of this TaskFactory{TResult}.
+ </summary>
+ <remarks>
+ This property returns the default creation options for this factory. They will be used to create all
+ tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.ContinuationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskContinuationOptions
+ </see> value of this TaskFactory{TResult}.
+ </summary>
+ <remarks>
+ This property returns the default continuation options for this factory. They will be used to create
+ all continuation tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskStatus">
+ <summary>
+ Represents the current stage in the lifecycle of a <see cref="T:System.Threading.Tasks.Task"/>.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Created">
+ <summary>
+ The task has been initialized but has not yet been scheduled.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.WaitingForActivation">
+ <summary>
+ The task is waiting to be activated and scheduled internally by the .NET Framework infrastructure.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.WaitingToRun">
+ <summary>
+ The task has been scheduled for execution but has not yet begun executing.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Running">
+ <summary>
+ The task is running but has not yet completed.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.WaitingForChildrenToComplete">
+ <summary>
+ The task has finished executing and is implicitly waiting for
+ attached child tasks to complete.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.RanToCompletion">
+ <summary>
+ The task completed execution successfully.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Canceled">
+ <summary>
+ The task acknowledged cancellation by throwing an OperationCanceledException2 with its own CancellationToken
+ while the token was in signaled state, or the task's CancellationToken was already signaled before the
+ task started executing.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Faulted">
+ <summary>
+ The task completed due to an unhandled exception.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskCreationOptions">
+ <summary>
+ Specifies flags that control optional behavior for the creation and execution of tasks.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.None">
+ <summary>
+ Specifies that the default behavior should be used.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.PreferFairness">
+ <summary>
+ A hint to a <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> to schedule a
+ task in as fair a manner as possible, meaning that tasks scheduled sooner will be more likely to
+ be run sooner, and tasks scheduled later will be more likely to be run later.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.LongRunning">
+ <summary>
+ Specifies that a task will be a long-running, course-grained operation. It provides a hint to the
+ <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> that oversubscription may be
+ warranted.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.AttachedToParent">
+ <summary>
+ Specifies that a task is attached to a parent in the task hierarchy.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.InternalTaskOptions">
+ <summary>
+ Task creation flags which are only used internally.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.InternalTaskOptions.None">
+ <summary> Specifies "No internal task options" </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.InternalTaskOptions.InternalOptionsMask">
+ <summary>Used to filter out internal vs. public task creation options.</summary>
+ </member>
+ <member name="F:System.Threading.Tasks.InternalTaskOptions.QueuedByRuntime">
+ <summary>Specifies that the task will be queued by the runtime before handing it over to the user.
+ This flag will be used to skip the cancellationtoken registration step, which is only meant for unstarted tasks.</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskContinuationOptions">
+ <summary>
+ Specifies flags that control optional behavior for the creation and execution of continuation tasks.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.None">
+ <summary>
+ Default = "Continue on any, no task options, run asynchronously"
+ Specifies that the default behavior should be used. Continuations, by default, will
+ be scheduled when the antecedent task completes, regardless of the task's final <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see>.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.PreferFairness">
+ <summary>
+ A hint to a <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> to schedule a
+ task in as fair a manner as possible, meaning that tasks scheduled sooner will be more likely to
+ be run sooner, and tasks scheduled later will be more likely to be run later.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.LongRunning">
+ <summary>
+ Specifies that a task will be a long-running, course-grained operation. It provides
+ a hint to the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> that
+ oversubscription may be warranted.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.AttachedToParent">
+ <summary>
+ Specifies that a task is attached to a parent in the task hierarchy.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnRanToCompletion">
+ <summary>
+ Specifies that the continuation task should not be scheduled if its antecedent ran to completion.
+ This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnFaulted">
+ <summary>
+ Specifies that the continuation task should not be scheduled if its antecedent threw an unhandled
+ exception. This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnCanceled">
+ <summary>
+ Specifies that the continuation task should not be scheduled if its antecedent was canceled. This
+ option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnRanToCompletion">
+ <summary>
+ Specifies that the continuation task should be scheduled only if its antecedent ran to
+ completion. This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnFaulted">
+ <summary>
+ Specifies that the continuation task should be scheduled only if its antecedent threw an
+ unhandled exception. This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">
+ <summary>
+ Specifies that the continuation task should be scheduled only if its antecedent was canceled.
+ This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">
+ <summary>
+ Specifies that the continuation task should be executed synchronously. With this option
+ specified, the continuation will be run on the same thread that causes the antecedent task to
+ transition into its final state. If the antecedent is already complete when the continuation is
+ created, the continuation will run on the thread creating the continuation. Only very
+ short-running continuations should be executed synchronously.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskCanceledException">
+ <summary>
+ Represents an exception used to communicate task cancellation.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> class.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
+ class with a specified error message.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.String,System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
+ class with a specified error message and a reference to the inner exception that is the cause of
+ this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.Threading.Tasks.Task)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> class
+ with a reference to the <see cref="T:System.Threading.Tasks.Task"/> that has been canceled.
+ </summary>
+ <param name="task">A task that has been canceled.</param>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskCanceledException.Task">
+ <summary>
+ Gets the task associated with this exception.
+ </summary>
+ <remarks>
+ It is permissible for no Task to be associated with a
+ <see cref="T:System.Threading.Tasks.TaskCanceledException"/>, in which case
+ this property will return null.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskCompletionSource`1">
+ <summary>
+ Represents the producer side of a <see cref="T:System.Threading.Tasks.Task{TResult}"/> unbound to a
+ delegate, providing access to the consumer side through the <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> property.
+ </summary>
+ <remarks>
+ <para>
+ It is often the case that a <see cref="T:System.Threading.Tasks.Task{TResult}"/> is desired to
+ represent another asynchronous operation.
+ <see cref="T:System.Threading.Tasks.TaskCompletionSource`1">TaskCompletionSource</see> is provided for this purpose. It enables
+ the creation of a task that can be handed out to consumers, and those consumers can use the members
+ of the task as they would any other. However, unlike most tasks, the state of a task created by a
+ TaskCompletionSource is controlled explicitly by the methods on TaskCompletionSource. This enables the
+ completion of the external asynchronous operation to be propagated to the underlying Task. The
+ separation also ensures that consumers are not able to transition the state without access to the
+ corresponding TaskCompletionSource.
+ </para>
+ <para>
+ All members of <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/> are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ </remarks>
+ <typeparam name="TResult">The type of the result value assocatied with this <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.</typeparam>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>
+ with the specified options.
+ </summary>
+ <remarks>
+ The <see cref="T:System.Threading.Tasks.Task{TResult}"/> created
+ by this instance and accessible through its <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> property
+ will be instantiated using the specified <paramref name="creationOptions"/>.
+ </remarks>
+ <param name="creationOptions">The options to use when creating the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> represent options invalid for use
+ with a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>
+ with the specified state.
+ </summary>
+ <param name="state">The state to use as the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>'s AsyncState.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/> with
+ the specified state and options.
+ </summary>
+ <param name="creationOptions">The options to use when creating the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">The state to use as the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>'s AsyncState.</param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> represent options invalid for use
+ with a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetException(System.Exception)">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exception">The exception to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetException(System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exceptions">The collection of exceptions to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exceptions"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">There are one or more null elements in <paramref name="exceptions"/>.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="exceptions"/> collection is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Exception)">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exception">The exception to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exceptions">The collection of exceptions to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exceptions"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">There are one or more null elements in <paramref name="exceptions"/>.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetResult(`0)">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>
+ state.
+ </summary>
+ <param name="result">The result value to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetResult(`0)">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>
+ state.
+ </summary>
+ <param name="result">The result value to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetCanceled">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>
+ state.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetCanceled">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>
+ state.
+ </summary>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskCompletionSource`1.Task">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.Task{TResult}"/> created
+ by this <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </summary>
+ <remarks>
+ This property enables a consumer access to the <see cref="T:System.Threading.Tasks.Task{TResult}"/> that is controlled by this instance.
+ The <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetResult(`0)"/>, <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Exception)"/>,
+ <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Collections.Generic.IEnumerable{System.Exception})"/>, and <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetCanceled"/>
+ methods (and their "Try" variants) on this instance all result in the relevant state
+ transitions on this underlying Task.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskExceptionHolder">
+ <summary>
+ An exception holder manages a list of exceptions for one particular task.
+ It offers the ability to aggregate, but more importantly, also offers intrinsic
+ support for propagating unhandled exceptions that are never observed. It does
+ this by aggregating and throwing if the holder is ever GC'd without the holder's
+ contents ever having been requested (e.g. by a Task.Wait, Task.get_Exception, etc).
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.#ctor(System.Threading.Tasks.Task)">
+ <summary>
+ Creates a new holder; it will be registered for finalization.
+ </summary>
+ <param name="task">The task this holder belongs to.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.Finalize">
+ <summary>
+ A finalizer that repropagates unhandled exceptions.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.Add(System.Object)">
+ <summary>
+ Add an exception to the internal list. This will ensure the holder is
+ in the proper state (handled/unhandled) depending on the list's contents.
+ </summary>
+ <param name="exceptionObject">An exception object (either an Exception or an
+ IEnumerable{Exception}) to add to the list.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.MarkAsUnhandled">
+ <summary>
+ A private helper method that ensures the holder is considered
+ unhandled, i.e. it is registered for finalization.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.MarkAsHandled(System.Boolean)">
+ <summary>
+ A private helper method that ensures the holder is considered
+ handled, i.e. it is not registered for finalization.
+ </summary>
+ <param name="calledFromFinalizer">Whether this is called from the finalizer thread.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.CreateExceptionObject(System.Boolean,System.Exception)">
+ <summary>
+ Allocates a new aggregate exception and adds the contents of the list to
+ it. By calling this method, the holder assumes exceptions to have been
+ "observed", such that the finalization check will be subsequently skipped.
+ </summary>
+ <param name="calledFromFinalizer">Whether this is being called from a finalizer.</param>
+ <param name="includeThisException">An extra exception to be included (optionally).</param>
+ <returns>The aggregate exception to throw.</returns>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskExtensions">
+ <summary>
+ Provides a set of static (Shared in Visual Basic) methods for working with specific kinds of
+ <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExtensions.Unwrap(System.Threading.Tasks.Task{System.Threading.Tasks.Task})">
+ <summary>
+ Creates a proxy <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation of a Task{Task}.
+ </summary>
+ <remarks>
+ It is often useful to be able to return a Task from a <see cref="T:System.Threading.Tasks.Task`1">
+ Task{TResult}</see>, where the inner Task represents work done as part of the outer Task{TResult}. However,
+ doing so results in a Task{Task}, which, if not dealt with carefully, could produce unexpected behavior. Unwrap
+ solves this problem by creating a proxy Task that represents the entire asynchronous operation of such a Task{Task}.
+ </remarks>
+ <param name="task">The Task{Task} to unwrap.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown if the
+ <paramref name="task"/> argument is null.</exception>
+ <returns>A Task that represents the asynchronous operation of the provided Task{Task}.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExtensions.Unwrap``1(System.Threading.Tasks.Task{System.Threading.Tasks.Task{``0}})">
+ <summary>
+ Creates a proxy <see cref="T:System.Threading.Tasks.Task`1">Task{TResult}</see> that represents the
+ asynchronous operation of a Task{Task{TResult}}.
+ </summary>
+ <remarks>
+ It is often useful to be able to return a Task{TResult} from a Task{TResult}, where the inner Task{TResult}
+ represents work done as part of the outer Task{TResult}. However, doing so results in a Task{Task{TResult}},
+ which, if not dealt with carefully, could produce unexpected behavior. Unwrap solves this problem by
+ creating a proxy Task{TResult} that represents the entire asynchronous operation of such a Task{Task{TResult}}.
+ </remarks>
+ <param name="task">The Task{Task{TResult}} to unwrap.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown if the
+ <paramref name="task"/> argument is null.</exception>
+ <returns>A Task{TResult} that represents the asynchronous operation of the provided Task{Task{TResult}}.</returns> /// <summary>Unwraps a Task that returns another Task.</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskFactory">
+ <summary>
+ Provides support for creating and scheduling
+ <see cref="T:System.Threading.Tasks.Task">Tasks</see>.
+ </summary>
+ <remarks>
+ <para>
+ There are many common patterns for which tasks are relevant. The <see cref="T:System.Threading.Tasks.TaskFactory"/>
+ class encodes some of these patterns into methods that pick up default settings, which are
+ configurable through its constructors.
+ </para>
+ <para>
+ A default instance of <see cref="T:System.Threading.Tasks.TaskFactory"/> is available through the
+ <see cref="P:System.Threading.Tasks.Task.Factory">Task.Factory</see> property.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the default configuration.
+ </summary>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.CancellationToken)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any tasks created with this TaskFactory. A null value
+ indicates that the current TaskScheduler should be used.
+ </param>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to <paramref name="scheduler"/>, unless it's null, in which case the property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argument specifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory.
+ </param>
+ <param name="scheduler">
+ The default <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any Tasks created with this TaskFactory. A null value
+ indicates that TaskScheduler.Current should be used.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argumentspecifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to
+ <paramref name="scheduler"/>, unless it's null, in which case the property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors
+ and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution. However,
+ unless creation and scheduling must be separated, StartNew is the recommended
+ approach for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors
+ and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution. However,
+ unless creation and scheduling must be separated, StartNew is the recommended
+ approach for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0})">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult})">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
+ when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The action delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
+ operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
+ when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The action delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
+ operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
+ when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The action delegate that processes the completed <paramref name="asyncResult"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the task that executes the end method.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
+ operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,``2,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0})">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref name="asyncResult"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the task that executes the end method.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``0},System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``1},``0,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``1},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``2},``0,``1,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``2},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``4(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``3},``0,``1,``2,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``4(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``3},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.CheckFromAsyncOptions(System.Threading.Tasks.TaskCreationOptions,System.Boolean)">
+ <summary>
+ Check validity of options passed to FromAsync method
+ </summary>
+ <param name="creationOptions">The options to be validated.</param>
+ <param name="hasBeginMethod">determines type of FromAsync method that called this method</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref
+ name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.CancellationToken">
+ <summary>
+ Gets the default <see cref="T:System.Threading.CancellationToken">CancellationToken</see> of this
+ TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to all
+ tasks created by this factory unless another CancellationToken value is explicitly specified
+ during the call to the factory methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.Scheduler">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> of this
+ TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default scheduler for this factory. It will be used to schedule all
+ tasks unless another scheduler is explicitly specified during calls to this factory's methods.
+ If null, <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>
+ will be used.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.CreationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions
+ </see> value of this TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default creation options for this factory. They will be used to create all
+ tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.ContinuationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskContinuationOptions
+ </see> value of this TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default continuation options for this factory. They will be used to create
+ all continuation tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskScheduler">
+ <summary>
+ Represents an abstract scheduler for tasks.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> acts as the extension point for all
+ pluggable scheduling logic. This includes mechanisms such as how to schedule a task for execution, and
+ how scheduled tasks should be exposed to debuggers.
+ </para>
+ <para>
+ All members of the abstract <see cref="T:System.Threading.Tasks.TaskScheduler"/> type are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)">
+ <summary>
+ Queues a <see cref="T:System.Threading.Tasks.Task">Task</see> to the scheduler.
+ </summary>
+ <remarks>
+ <para>
+ A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ implements this method to accept tasks being scheduled on the scheduler.
+ A typical implementation would store the task in an internal data structure, which would
+ be serviced by threads that would execute those tasks at some time in the future.
+ </para>
+ <para>
+ This method is only meant to be called by the .NET Framework and
+ should not be called directly by the derived class. This is necessary
+ for maintaining the consistency of the system.
+ </para>
+ </remarks>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be queued.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>
+ Determines whether the provided <see cref="T:System.Threading.Tasks.Task">Task</see>
+ can be executed synchronously in this call, and if it can, executes it.
+ </summary>
+ <remarks>
+ <para>
+ A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> implements this function to
+ support inline execution of a task on a thread that initiates a wait on that task object. Inline
+ execution is optional, and the request may be rejected by returning false. However, better
+ scalability typically results the more tasks that can be inlined, and in fact a scheduler that
+ inlines too little may be prone to deadlocks. A proper implementation should ensure that a
+ request executing under the policies guaranteed by the scheduler can successfully inline. For
+ example, if a scheduler uses a dedicated thread to execute tasks, any inlining requests from that
+ thread should succeed.
+ </para>
+ <para>
+ If a scheduler decides to perform the inline execution, it should do so by calling to the base
+ TaskScheduler's
+ <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)">TryExecuteTask</see> method with the provided task object, propagating
+ the return value. It may also be appropriate for the scheduler to remove an inlined task from its
+ internal data structures if it decides to honor the inlining request. Note, however, that under
+ some circumstances a scheduler may be asked to inline a task that was not previously provided to
+ it with the <see cref="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)"/> method.
+ </para>
+ <para>
+ The derived scheduler is responsible for making sure that the calling thread is suitable for
+ executing the given task as far as its own scheduling and execution policies are concerned.
+ </para>
+ </remarks>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be
+ executed.</param>
+ <param name="taskWasPreviouslyQueued">A Boolean denoting whether or not task has previously been
+ queued. If this parameter is True, then the task may have been previously queued (scheduled); if
+ False, then the task is known not to have been queued, and this call is being made in order to
+ execute the task inline without queueing it.</param>
+ <returns>A Boolean value indicating whether the task was executed inline.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is
+ null.</exception>
+ <exception cref="T:System.InvalidOperationException">The <paramref name="task"/> was already
+ executed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasks">
+ <summary>
+ Generates an enumerable of <see cref="T:System.Threading.Tasks.Task">Task</see> instances
+ currently queued to the scheduler waiting to be executed.
+ </summary>
+ <remarks>
+ <para>
+ A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler"/> implements this method in order to support
+ integration with debuggers. This method will only be invoked by the .NET Framework when the
+ debugger requests access to the data. The enumerable returned will be traversed by debugging
+ utilities to access the tasks currently queued to this scheduler, enabling the debugger to
+ provide a representation of this information in the user interface.
+ </para>
+ <para>
+ It is important to note that, when this method is called, all other threads in the process will
+ be frozen. Therefore, it's important to avoid synchronization with other threads that may lead to
+ blocking. If synchronization is necessary, the method should prefer to throw a <see cref="T:System.NotSupportedException"/>
+ than to block, which could cause a debugger to experience delays. Additionally, this method and
+ the enumerable returned must not modify any globally visible state.
+ </para>
+ <para>
+ The returned enumerable should never be null. If there are currently no queued tasks, an empty
+ enumerable should be returned instead.
+ </para>
+ <para>
+ For developers implementing a custom debugger, this method shouldn't be called directly, but
+ rather this functionality should be accessed through the internal wrapper method
+ GetScheduledTasksForDebugger:
+ <c>internal Task[] GetScheduledTasksForDebugger()</c>. This method returns an array of tasks,
+ rather than an enumerable. In order to retrieve a list of active schedulers, a debugger may use
+ another internal method: <c>internal static TaskScheduler[] GetTaskSchedulersForDebugger()</c>.
+ This static method returns an array of all active TaskScheduler instances.
+ GetScheduledTasksForDebugger then may be used on each of these scheduler instances to retrieve
+ the list of scheduled tasks for each.
+ </para>
+ </remarks>
+ <returns>An enumerable that allows traversal of tasks currently queued to this scheduler.
+ </returns>
+ <exception cref="T:System.NotSupportedException">
+ This scheduler is unable to generate a list of queued tasks at this time.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetThreadStatics">
+ <summary>
+ Retrieves some thread static state that can be cached and passed to multiple
+ TryRunInline calls, avoiding superflous TLS fetches.
+ </summary>
+ <returns>A bag of TLS state (or null if none exists).</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task,System.Boolean,System.Object)">
+ <summary>
+ Attempts to execute the target task synchronously.
+ </summary>
+ <param name="task">The task to run.</param>
+ <param name="taskWasPreviouslyQueued">True if the task may have been previously queued,
+ false if the task was absolutely not previously queued.</param>
+ <param name="threadStatics">The state retrieved from GetThreadStatics</param>
+ <returns>True if it ran, false otherwise.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryDequeue(System.Threading.Tasks.Task)">
+ <summary>
+ Attempts to dequeue a <see cref="T:System.Threading.Tasks.Task">Task</see> that was previously queued to
+ this scheduler.
+ </summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be dequeued.</param>
+ <returns>A Boolean denoting whether the <paramref name="task"/> argument was successfully dequeued.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.NotifyWorkItemProgress">
+ <summary>
+ Notifies the scheduler that a work item has made progress.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.#ctor">
+ <summary>
+ Initializes the <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.Finalize">
+ <summary>
+ Frees all resources associated with this scheduler.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.FromCurrentSynchronizationContext">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskScheduler"/>
+ associated with the current <see cref="T:System.Threading.SynchronizationContext"/>.
+ </summary>
+ <remarks>
+ All <see cref="T:System.Threading.Tasks.Task">Task</see> instances queued to
+ the returned scheduler will be executed through a call to the
+ <see cref="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)">Post</see> method
+ on that context.
+ </remarks>
+ <returns>
+ A <see cref="T:System.Threading.Tasks.TaskScheduler"/> associated with
+ the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see>, as
+ determined by <see cref="P:System.Threading.SynchronizationContext.Current">SynchronizationContext.Current</see>.
+ </returns>
+ <exception cref="T:System.InvalidOperationException">
+ The current SynchronizationContext may not be used as a TaskScheduler.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)">
+ <summary>
+ Attempts to execute the provided <see cref="T:System.Threading.Tasks.Task">Task</see>
+ on this scheduler.
+ </summary>
+ <remarks>
+ <para>
+ Scheduler implementations are provided with <see cref="T:System.Threading.Tasks.Task">Task</see>
+ instances to be executed through either the <see cref="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)"/> method or the
+ <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)"/> method. When the scheduler deems it appropriate to run the
+ provided task, <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)"/> should be used to do so. TryExecuteTask handles all
+ aspects of executing a task, including action invocation, exception handling, state management,
+ and lifecycle control.
+ </para>
+ <para>
+ <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)"/> must only be used for tasks provided to this scheduler by the .NET
+ Framework infrastructure. It should not be used to execute arbitrary tasks obtained through
+ custom mechanisms.
+ </para>
+ </remarks>
+ <param name="task">
+ A <see cref="T:System.Threading.Tasks.Task">Task</see> object to be executed.</param>
+ <exception cref="T:System.InvalidOperationException">
+ The <paramref name="task"/> is not associated with this scheduler.
+ </exception>
+ <returns>A Boolean that is true if <paramref name="task"/> was successfully executed, false if it
+ was not. A common reason for execution failure is that the task had previously been executed or
+ is in the process of being executed by another thread.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasksForDebugger">
+ <summary>
+ Provides an array of all queued <see cref="T:System.Threading.Tasks.Task">Task</see> instances
+ for the debugger.
+ </summary>
+ <remarks>
+ The returned array is populated through a call to <see cref="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasks"/>.
+ Note that this function is only meant to be invoked by a debugger remotely.
+ It should not be called by any other codepaths.
+ </remarks>
+ <returns>An array of <see cref="T:System.Threading.Tasks.Task">Task</see> instances.</returns>
+ <exception cref="T:System.NotSupportedException">
+ This scheduler is unable to generate a list of queued tasks at this time.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetTaskSchedulersForDebugger">
+ <summary>
+ Provides an array of all active <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ instances for the debugger.
+ </summary>
+ <remarks>
+ This function is only meant to be invoked by a debugger remotely.
+ It should not be called by any other codepaths.
+ </remarks>
+ <returns>An array of <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> instances.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.RegisterTaskScheduler(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Registers a new TaskScheduler instance in the global collection of schedulers.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.UnregisterTaskScheduler(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Removes a TaskScheduler instance from the global collection of schedulers.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.MaximumConcurrencyLevel">
+ <summary>
+ Indicates the maximum concurrency level this
+ <see cref="T:System.Threading.Tasks.TaskScheduler"/> is able to support.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.RequiresAtomicStartTransition">
+ <summary>
+ Indicates whether this is a custom scheduler, in which case the safe code paths will be taken upon task entry
+ using a CAS to transition from queued state to executing.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.Default">
+ <summary>
+ Gets the default <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> instance.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.Current">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ associated with the currently executing task.
+ </summary>
+ <remarks>
+ When not called from within a task, <see cref="P:System.Threading.Tasks.TaskScheduler.Current"/> will return the <see cref="P:System.Threading.Tasks.TaskScheduler.Default"/> scheduler.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.Id">
+ <summary>
+ Gets the unique ID for this <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
+ </summary>
+ </member>
+ <member name="E:System.Threading.Tasks.TaskScheduler.UnobservedTaskException">
+ <summary>
+ Occurs when a faulted <see cref="T:System.Threading.Tasks.Task"/>'s unobserved exception is about to trigger exception escalation
+ policy, which, by default, would terminate the process.
+ </summary>
+ <remarks>
+ This AppDomain-wide event provides a mechanism to prevent exception
+ escalation policy (which, by default, terminates the process) from triggering.
+ Each handler is passed a <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/>
+ instance, which may be used to examine the exception and to mark it as observed.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskScheduler.SystemThreadingTasks_TaskSchedulerDebugView">
+ <summary>
+ Nested class that provides debugger view for TaskScheduler
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.ThreadPoolTaskScheduler">
+ <summary>Default thread pool scheduler.</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.SynchronizationContextTaskScheduler">
+ <summary>
+ A TaskScheduler implementation that executes all tasks queued to it through a call to
+ <see cref="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)"/> on the <see cref="T:System.Threading.SynchronizationContext"/>
+ that its associated with. The default constructor for this class binds to the current <see cref="T:System.Threading.SynchronizationContext"/>
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.#ctor">
+ <summary>
+ Constructs a SynchronizationContextTaskScheduler associated with <see cref="T:System.Threading.SynchronizationContext.Current"/>
+ </summary>
+ <exception cref="T:System.InvalidOperationException">This constructor expects <see cref="T:System.Threading.SynchronizationContext.Current"/> to be set.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
+ <summary>
+ Implemetation of <see cref="T:System.Threading.Tasks.TaskScheduler.QueueTask"/> for this scheduler class.
+
+ Simply posts the tasks to be executed on the associated <see cref="T:System.Threading.SynchronizationContext"/>.
+ </summary>
+ <param name="task"></param>
+ </member>
+ <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>
+ Implementation of <see cref="T:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline"/> for this scheduler class.
+
+ The task will be executed inline only if the call happens within
+ the associated <see cref="T:System.Threading.SynchronizationContext"/>.
+ </summary>
+ <param name="task"></param>
+ <param name="taskWasPreviouslyQueued"></param>
+ </member>
+ <member name="P:System.Threading.Tasks.SynchronizationContextTaskScheduler.MaximumConcurrencyLevel">
+ <summary>
+ Implementes the <see cref="T:System.Threading.Tasks.TaskScheduler.MaximumConcurrencyLevel"/> property for
+ this scheduler class.
+
+ By default it returns 1, because a <see cref="T:System.Threading.SynchronizationContext"/> based
+ scheduler only supports execution on a single thread.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs">
+ <summary>
+ Provides data for the event that is raised when a faulted <see cref="T:System.Threading.Tasks.Task"/>'s
+ exception goes unobserved.
+ </summary>
+ <remarks>
+ The Exception property is used to examine the exception without marking it
+ as observed, whereas the <see cref="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.SetObserved"/> method is used to mark the exception
+ as observed. Marking the exception as observed prevents it from triggering exception escalation policy
+ which, by default, terminates the process.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.#ctor(System.AggregateException)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/> class
+ with the unobserved exception.
+ </summary>
+ <param name="exception">The Exception that has gone unobserved.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.SetObserved">
+ <summary>
+ Marks the <see cref="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Exception"/> as "observed," thus preventing it
+ from triggering exception escalation policy which, by default, terminates the process.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Observed">
+ <summary>
+ Gets whether this exception has been marked as "observed."
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Exception">
+ <summary>
+ The Exception that went unobserved.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskSchedulerException">
+ <summary>
+ Represents an exception used to communicate an invalid operation by a
+ <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/> class.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
+ class with a specified error message.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
+ class using the default error message and a reference to the inner exception that is the cause of
+ this exception.
+ </summary>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.String,System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
+ class with a specified error message and a reference to the inner exception that is the cause of
+ this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/ensureRedirect.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/ensureRedirect.xml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl4+win8/ensureRedirect.xml
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/System.Runtime.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/System.Runtime.dll
new file mode 100644
index 0000000..fa831ad
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/System.Runtime.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/System.Runtime.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/System.Runtime.xml
new file mode 100644
index 0000000..93cb00d
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/System.Runtime.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Runtime</name>
+ </assembly>
+ <members>
+ <member name="T:System.IProgress`1">
+ <summary>Defines a provider for progress updates.</summary>
+ <typeparam name="T">The type of progress update value.</typeparam>
+ </member>
+ <member name="M:System.IProgress`1.Report(`0)">
+ <summary>Reports a progress update.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncStateMachineAttribute">
+ <summary>Identities the async state machine type for this method.</summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.StateMachineAttribute">
+ <summary>Identities the state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.StateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.StateMachineAttribute.StateMachineType">
+ <summary>Gets the type that implements the state machine.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerMemberNameAttribute">
+ <summary>
+ Allows you to obtain the method or property name of the caller to the method.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerLineNumberAttribute">
+ <summary>
+ Allows you to obtain the line number in the source file at which the method is called.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerFilePathAttribute">
+ <summary>
+ Allows you to obtain the full path of the source file that contains the caller.
+ This is the file path at the time of compile.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IteratorStateMachineAttribute">
+ <summary>Identities the iterator state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IteratorStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/System.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/System.Threading.Tasks.dll
new file mode 100644
index 0000000..ebbac4c
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/System.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/System.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/System.Threading.Tasks.xml
new file mode 100644
index 0000000..b47921e
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/System.Threading.Tasks.xml
@@ -0,0 +1,475 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore">
+ <summary>Holds state related to the builder's IAsyncStateMachine.</summary>
+ <remarks>This is a mutable struct. Be very delicate with it.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.m_stateMachine">
+ <summary>A reference to the heap-allocated state machine object associated with this builder.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.GetCompletionAction``2(``0@,``1@)">
+ <summary>
+ Gets the Action to use with an awaiter's OnCompleted or UnsafeOnCompleted method.
+ On first invocation, the supplied state machine will be boxed.
+ </summary>
+ <typeparam name="TMethodBuilder">Specifies the type of the method builder used.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine used.</typeparam>
+ <param name="builder">The builder.</param>
+ <param name="stateMachine">The state machine.</param>
+ <returns>An Action to provide to the awaiter.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner">
+ <summary>Provides the ability to invoke a state machine's MoveNext method under a supplied ExecutionContext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_context">
+ <summary>The context with which to run MoveNext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_stateMachine">
+ <summary>The state machine whose MoveNext method should be invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.#ctor(System.ExecutionContextLightup)">
+ <summary>Initializes the runner.</summary>
+ <param name="context">The context with which to run MoveNext.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run">
+ <summary>Invokes MoveNext under the provided context.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.s_invokeMoveNext">
+ <summary>Cached delegate used with ExecutionContext.Run.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(System.Object)">
+ <summary>Invokes the MoveNext method on the supplied IAsyncStateMachine.</summary>
+ <param name="stateMachine">The IAsyncStateMachine machine instance.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1">
+ <summary>Provides a base class used to cache tasks of a specific return type.</summary>
+ <typeparam name="TResult">Specifies the type of results the cached tasks return.</typeparam>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.Singleton">
+ <summary>
+ A singleton cache for this result type.
+ This may be null if there are no cached tasks for this TResult.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCompleted(`0)">
+ <summary>Creates a non-disposable task.</summary>
+ <param name="result">The result for the task.</param>
+ <returns>The cacheable task.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCache">
+ <summary>Creates a cache.</summary>
+ <returns>A task cache for this result type.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.FromResult(`0)">
+ <summary>Gets a cached task if one exists.</summary>
+ <param name="result">The result for which we want a cached task.</param>
+ <returns>A cached task if one exists; otherwise, null.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache">
+ <summary>Provides a cache for Boolean tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_true">
+ <summary>A true task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_false">
+ <summary>A false task.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.FromResult(System.Boolean)">
+ <summary>Gets a cached task for the Boolean result.</summary>
+ <param name="result">true or false</param>
+ <returns>A cached task for the Boolean result.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache">
+ <summary>Provides a cache for zero Int32 tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.INCLUSIVE_INT32_MIN">
+ <summary>The minimum value, inclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.EXCLUSIVE_INT32_MAX">
+ <summary>The maximum value, exclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.Int32Tasks">
+ <summary>The cache of Task{Int32}.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.CreateInt32Tasks">
+ <summary>Creates an array of cached tasks for the values in the range [INCLUSIVE_MIN,EXCLUSIVE_MAX).</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.FromResult(System.Int32)">
+ <summary>Gets a cached task for the zero Int32 result.</summary>
+ <param name="result">The integer value</param>
+ <returns>A cached task for the Int32 result or null if not cached.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncMethodBuilder">
+ <summary>Represents an asynchronous method builder.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.s_cachedCompleted">
+ <summary>A cached VoidTaskResult task used for builders that complete synchronously.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.m_builder">
+ <summary>The generic builder object to which this non-generic instance delegates.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetResult">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task"/> representing the builder's asynchronous operation.</returns>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task`1"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder{TResult} is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.s_defaultResultTask">
+ <summary>A cached task for default(TResult).</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_task">
+ <summary>The lazily-initialized task.</summary>
+ <remarks>Must be named m_task for debugger step-over to work correctly.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_taskCompletionSource">
+ <summary>The lazily-initialized task completion source.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(`0)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state with the specified result.
+ </summary>
+ <param name="result">The result to use to complete the task.</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(System.Threading.Tasks.TaskCompletionSource{`0})">
+ <summary>
+ Completes the builder by using either the supplied completed task, or by completing
+ the builder's previously accessed task using default(TResult).
+ </summary>
+ <param name="completedTask">A task already completed with the value default(TResult).</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ <remarks>
+ This should only be invoked from within an asynchronous method,
+ and only by the debugger.
+ </remarks>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.GetTaskForResult(`0)">
+ <summary>
+ Gets a task for the specified result. This will either
+ be a cached or new task, never null.
+ </summary>
+ <param name="result">The result for which we need a task.</param>
+ <returns>The completed task containing the result.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.CompletionSource">
+ <summary>Gets the lazily-initialized TaskCompletionSource.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task`1"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task`1"/> representing the builder's asynchronous operation.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return void.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_synchronizationContext">
+ <summary>The synchronization context associated with this operation.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_objectIdForDebugger">
+ <summary>An object used by the debugger to uniquely identify this builder. Lazily initialized.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.PreventUnobservedTaskExceptions">
+ <summary>Registers with UnobservedTaskException to suppress exception crashing.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.s_preventUnobservedTaskExceptionsInvoked">
+ <summary>Non-zero if PreventUnobservedTaskExceptions has already been invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#ctor(System.Threading.SynchronizationContext)">
+ <summary>Initializes the <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <param name="synchronizationContext">The synchronizationContext associated with this operation. This may be null.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetResult">
+ <summary>Completes the method builder successfully.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetException(System.Exception)">
+ <summary>Faults the method builder with an exception.</summary>
+ <param name="exception">The exception that is the cause of this fault.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.NotifySynchronizationContextOfCompletion">
+ <summary>Notifies the current synchronization context that the operation completed.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger and only in a single-threaded manner.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncStateMachine">
+ <summary>
+ Represents state machines generated for asynchronous methods.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.MoveNext">
+ <summary>Moves the state machine to its next state.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Configures the state machine with a heap-allocated replica.</summary>
+ <param name="stateMachine">The heap-allocated replica.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.ICriticalNotifyCompletion">
+ <summary>
+ Represents an awaiter used to schedule continuations when an await operation completes.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.INotifyCompletion">
+ <summary>
+ Represents an operation that will schedule continuations when the operation completes.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.INotifyCompletion.OnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.ICriticalNotifyCompletion.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <remarks>Unlike OnCompleted, UnsafeOnCompleted need not propagate ExecutionContext information.</remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.VoidTaskResult">
+ <summary>Used with Task(of void)</summary>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/ensureRedirect.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/ensureRedirect.xml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+sl5+win8+wp8/ensureRedirect.xml
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/System.Runtime.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/System.Runtime.dll
new file mode 100644
index 0000000..fa831ad
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/System.Runtime.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/System.Runtime.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/System.Runtime.xml
new file mode 100644
index 0000000..93cb00d
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/System.Runtime.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Runtime</name>
+ </assembly>
+ <members>
+ <member name="T:System.IProgress`1">
+ <summary>Defines a provider for progress updates.</summary>
+ <typeparam name="T">The type of progress update value.</typeparam>
+ </member>
+ <member name="M:System.IProgress`1.Report(`0)">
+ <summary>Reports a progress update.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncStateMachineAttribute">
+ <summary>Identities the async state machine type for this method.</summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.StateMachineAttribute">
+ <summary>Identities the state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.StateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.StateMachineAttribute.StateMachineType">
+ <summary>Gets the type that implements the state machine.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerMemberNameAttribute">
+ <summary>
+ Allows you to obtain the method or property name of the caller to the method.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerLineNumberAttribute">
+ <summary>
+ Allows you to obtain the line number in the source file at which the method is called.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerFilePathAttribute">
+ <summary>
+ Allows you to obtain the full path of the source file that contains the caller.
+ This is the file path at the time of compile.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IteratorStateMachineAttribute">
+ <summary>Identities the iterator state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IteratorStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/System.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/System.Threading.Tasks.dll
new file mode 100644
index 0000000..ebbac4c
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/System.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/System.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/System.Threading.Tasks.xml
new file mode 100644
index 0000000..b47921e
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/System.Threading.Tasks.xml
@@ -0,0 +1,475 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore">
+ <summary>Holds state related to the builder's IAsyncStateMachine.</summary>
+ <remarks>This is a mutable struct. Be very delicate with it.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.m_stateMachine">
+ <summary>A reference to the heap-allocated state machine object associated with this builder.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.GetCompletionAction``2(``0@,``1@)">
+ <summary>
+ Gets the Action to use with an awaiter's OnCompleted or UnsafeOnCompleted method.
+ On first invocation, the supplied state machine will be boxed.
+ </summary>
+ <typeparam name="TMethodBuilder">Specifies the type of the method builder used.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine used.</typeparam>
+ <param name="builder">The builder.</param>
+ <param name="stateMachine">The state machine.</param>
+ <returns>An Action to provide to the awaiter.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner">
+ <summary>Provides the ability to invoke a state machine's MoveNext method under a supplied ExecutionContext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_context">
+ <summary>The context with which to run MoveNext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_stateMachine">
+ <summary>The state machine whose MoveNext method should be invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.#ctor(System.ExecutionContextLightup)">
+ <summary>Initializes the runner.</summary>
+ <param name="context">The context with which to run MoveNext.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run">
+ <summary>Invokes MoveNext under the provided context.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.s_invokeMoveNext">
+ <summary>Cached delegate used with ExecutionContext.Run.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(System.Object)">
+ <summary>Invokes the MoveNext method on the supplied IAsyncStateMachine.</summary>
+ <param name="stateMachine">The IAsyncStateMachine machine instance.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1">
+ <summary>Provides a base class used to cache tasks of a specific return type.</summary>
+ <typeparam name="TResult">Specifies the type of results the cached tasks return.</typeparam>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.Singleton">
+ <summary>
+ A singleton cache for this result type.
+ This may be null if there are no cached tasks for this TResult.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCompleted(`0)">
+ <summary>Creates a non-disposable task.</summary>
+ <param name="result">The result for the task.</param>
+ <returns>The cacheable task.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCache">
+ <summary>Creates a cache.</summary>
+ <returns>A task cache for this result type.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.FromResult(`0)">
+ <summary>Gets a cached task if one exists.</summary>
+ <param name="result">The result for which we want a cached task.</param>
+ <returns>A cached task if one exists; otherwise, null.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache">
+ <summary>Provides a cache for Boolean tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_true">
+ <summary>A true task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_false">
+ <summary>A false task.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.FromResult(System.Boolean)">
+ <summary>Gets a cached task for the Boolean result.</summary>
+ <param name="result">true or false</param>
+ <returns>A cached task for the Boolean result.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache">
+ <summary>Provides a cache for zero Int32 tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.INCLUSIVE_INT32_MIN">
+ <summary>The minimum value, inclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.EXCLUSIVE_INT32_MAX">
+ <summary>The maximum value, exclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.Int32Tasks">
+ <summary>The cache of Task{Int32}.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.CreateInt32Tasks">
+ <summary>Creates an array of cached tasks for the values in the range [INCLUSIVE_MIN,EXCLUSIVE_MAX).</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.FromResult(System.Int32)">
+ <summary>Gets a cached task for the zero Int32 result.</summary>
+ <param name="result">The integer value</param>
+ <returns>A cached task for the Int32 result or null if not cached.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncMethodBuilder">
+ <summary>Represents an asynchronous method builder.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.s_cachedCompleted">
+ <summary>A cached VoidTaskResult task used for builders that complete synchronously.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.m_builder">
+ <summary>The generic builder object to which this non-generic instance delegates.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetResult">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task"/> representing the builder's asynchronous operation.</returns>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task`1"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder{TResult} is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.s_defaultResultTask">
+ <summary>A cached task for default(TResult).</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_task">
+ <summary>The lazily-initialized task.</summary>
+ <remarks>Must be named m_task for debugger step-over to work correctly.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_taskCompletionSource">
+ <summary>The lazily-initialized task completion source.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(`0)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state with the specified result.
+ </summary>
+ <param name="result">The result to use to complete the task.</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(System.Threading.Tasks.TaskCompletionSource{`0})">
+ <summary>
+ Completes the builder by using either the supplied completed task, or by completing
+ the builder's previously accessed task using default(TResult).
+ </summary>
+ <param name="completedTask">A task already completed with the value default(TResult).</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ <remarks>
+ This should only be invoked from within an asynchronous method,
+ and only by the debugger.
+ </remarks>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.GetTaskForResult(`0)">
+ <summary>
+ Gets a task for the specified result. This will either
+ be a cached or new task, never null.
+ </summary>
+ <param name="result">The result for which we need a task.</param>
+ <returns>The completed task containing the result.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.CompletionSource">
+ <summary>Gets the lazily-initialized TaskCompletionSource.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task`1"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task`1"/> representing the builder's asynchronous operation.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return void.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_synchronizationContext">
+ <summary>The synchronization context associated with this operation.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_objectIdForDebugger">
+ <summary>An object used by the debugger to uniquely identify this builder. Lazily initialized.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.PreventUnobservedTaskExceptions">
+ <summary>Registers with UnobservedTaskException to suppress exception crashing.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.s_preventUnobservedTaskExceptionsInvoked">
+ <summary>Non-zero if PreventUnobservedTaskExceptions has already been invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#ctor(System.Threading.SynchronizationContext)">
+ <summary>Initializes the <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <param name="synchronizationContext">The synchronizationContext associated with this operation. This may be null.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetResult">
+ <summary>Completes the method builder successfully.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetException(System.Exception)">
+ <summary>Faults the method builder with an exception.</summary>
+ <param name="exception">The exception that is the cause of this fault.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.NotifySynchronizationContextOfCompletion">
+ <summary>Notifies the current synchronization context that the operation completed.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger and only in a single-threaded manner.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncStateMachine">
+ <summary>
+ Represents state machines generated for asynchronous methods.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.MoveNext">
+ <summary>Moves the state machine to its next state.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Configures the state machine with a heap-allocated replica.</summary>
+ <param name="stateMachine">The heap-allocated replica.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.ICriticalNotifyCompletion">
+ <summary>
+ Represents an awaiter used to schedule continuations when an await operation completes.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.INotifyCompletion">
+ <summary>
+ Represents an operation that will schedule continuations when the operation completes.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.INotifyCompletion.OnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.ICriticalNotifyCompletion.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <remarks>Unlike OnCompleted, UnsafeOnCompleted need not propagate ExecutionContext information.</remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.VoidTaskResult">
+ <summary>Used with Task(of void)</summary>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/ensureRedirect.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/ensureRedirect.xml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8+wp8/ensureRedirect.xml
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/System.Runtime.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/System.Runtime.dll
new file mode 100644
index 0000000..fa831ad
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/System.Runtime.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/System.Runtime.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/System.Runtime.xml
new file mode 100644
index 0000000..93cb00d
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/System.Runtime.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Runtime</name>
+ </assembly>
+ <members>
+ <member name="T:System.IProgress`1">
+ <summary>Defines a provider for progress updates.</summary>
+ <typeparam name="T">The type of progress update value.</typeparam>
+ </member>
+ <member name="M:System.IProgress`1.Report(`0)">
+ <summary>Reports a progress update.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncStateMachineAttribute">
+ <summary>Identities the async state machine type for this method.</summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.StateMachineAttribute">
+ <summary>Identities the state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.StateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.StateMachineAttribute.StateMachineType">
+ <summary>Gets the type that implements the state machine.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerMemberNameAttribute">
+ <summary>
+ Allows you to obtain the method or property name of the caller to the method.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerLineNumberAttribute">
+ <summary>
+ Allows you to obtain the line number in the source file at which the method is called.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerFilePathAttribute">
+ <summary>
+ Allows you to obtain the full path of the source file that contains the caller.
+ This is the file path at the time of compile.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IteratorStateMachineAttribute">
+ <summary>Identities the iterator state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IteratorStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/System.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/System.Threading.Tasks.dll
new file mode 100644
index 0000000..ebbac4c
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/System.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/System.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/System.Threading.Tasks.xml
new file mode 100644
index 0000000..b47921e
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/System.Threading.Tasks.xml
@@ -0,0 +1,475 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore">
+ <summary>Holds state related to the builder's IAsyncStateMachine.</summary>
+ <remarks>This is a mutable struct. Be very delicate with it.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.m_stateMachine">
+ <summary>A reference to the heap-allocated state machine object associated with this builder.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.GetCompletionAction``2(``0@,``1@)">
+ <summary>
+ Gets the Action to use with an awaiter's OnCompleted or UnsafeOnCompleted method.
+ On first invocation, the supplied state machine will be boxed.
+ </summary>
+ <typeparam name="TMethodBuilder">Specifies the type of the method builder used.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine used.</typeparam>
+ <param name="builder">The builder.</param>
+ <param name="stateMachine">The state machine.</param>
+ <returns>An Action to provide to the awaiter.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner">
+ <summary>Provides the ability to invoke a state machine's MoveNext method under a supplied ExecutionContext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_context">
+ <summary>The context with which to run MoveNext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_stateMachine">
+ <summary>The state machine whose MoveNext method should be invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.#ctor(System.ExecutionContextLightup)">
+ <summary>Initializes the runner.</summary>
+ <param name="context">The context with which to run MoveNext.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run">
+ <summary>Invokes MoveNext under the provided context.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.s_invokeMoveNext">
+ <summary>Cached delegate used with ExecutionContext.Run.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(System.Object)">
+ <summary>Invokes the MoveNext method on the supplied IAsyncStateMachine.</summary>
+ <param name="stateMachine">The IAsyncStateMachine machine instance.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1">
+ <summary>Provides a base class used to cache tasks of a specific return type.</summary>
+ <typeparam name="TResult">Specifies the type of results the cached tasks return.</typeparam>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.Singleton">
+ <summary>
+ A singleton cache for this result type.
+ This may be null if there are no cached tasks for this TResult.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCompleted(`0)">
+ <summary>Creates a non-disposable task.</summary>
+ <param name="result">The result for the task.</param>
+ <returns>The cacheable task.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCache">
+ <summary>Creates a cache.</summary>
+ <returns>A task cache for this result type.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.FromResult(`0)">
+ <summary>Gets a cached task if one exists.</summary>
+ <param name="result">The result for which we want a cached task.</param>
+ <returns>A cached task if one exists; otherwise, null.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache">
+ <summary>Provides a cache for Boolean tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_true">
+ <summary>A true task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_false">
+ <summary>A false task.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.FromResult(System.Boolean)">
+ <summary>Gets a cached task for the Boolean result.</summary>
+ <param name="result">true or false</param>
+ <returns>A cached task for the Boolean result.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache">
+ <summary>Provides a cache for zero Int32 tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.INCLUSIVE_INT32_MIN">
+ <summary>The minimum value, inclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.EXCLUSIVE_INT32_MAX">
+ <summary>The maximum value, exclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.Int32Tasks">
+ <summary>The cache of Task{Int32}.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.CreateInt32Tasks">
+ <summary>Creates an array of cached tasks for the values in the range [INCLUSIVE_MIN,EXCLUSIVE_MAX).</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.FromResult(System.Int32)">
+ <summary>Gets a cached task for the zero Int32 result.</summary>
+ <param name="result">The integer value</param>
+ <returns>A cached task for the Int32 result or null if not cached.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncMethodBuilder">
+ <summary>Represents an asynchronous method builder.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.s_cachedCompleted">
+ <summary>A cached VoidTaskResult task used for builders that complete synchronously.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.m_builder">
+ <summary>The generic builder object to which this non-generic instance delegates.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetResult">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task"/> representing the builder's asynchronous operation.</returns>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task`1"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder{TResult} is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.s_defaultResultTask">
+ <summary>A cached task for default(TResult).</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_task">
+ <summary>The lazily-initialized task.</summary>
+ <remarks>Must be named m_task for debugger step-over to work correctly.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_taskCompletionSource">
+ <summary>The lazily-initialized task completion source.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(`0)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state with the specified result.
+ </summary>
+ <param name="result">The result to use to complete the task.</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(System.Threading.Tasks.TaskCompletionSource{`0})">
+ <summary>
+ Completes the builder by using either the supplied completed task, or by completing
+ the builder's previously accessed task using default(TResult).
+ </summary>
+ <param name="completedTask">A task already completed with the value default(TResult).</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ <remarks>
+ This should only be invoked from within an asynchronous method,
+ and only by the debugger.
+ </remarks>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.GetTaskForResult(`0)">
+ <summary>
+ Gets a task for the specified result. This will either
+ be a cached or new task, never null.
+ </summary>
+ <param name="result">The result for which we need a task.</param>
+ <returns>The completed task containing the result.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.CompletionSource">
+ <summary>Gets the lazily-initialized TaskCompletionSource.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task`1"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task`1"/> representing the builder's asynchronous operation.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return void.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_synchronizationContext">
+ <summary>The synchronization context associated with this operation.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_objectIdForDebugger">
+ <summary>An object used by the debugger to uniquely identify this builder. Lazily initialized.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.PreventUnobservedTaskExceptions">
+ <summary>Registers with UnobservedTaskException to suppress exception crashing.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.s_preventUnobservedTaskExceptionsInvoked">
+ <summary>Non-zero if PreventUnobservedTaskExceptions has already been invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#ctor(System.Threading.SynchronizationContext)">
+ <summary>Initializes the <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <param name="synchronizationContext">The synchronizationContext associated with this operation. This may be null.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetResult">
+ <summary>Completes the method builder successfully.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetException(System.Exception)">
+ <summary>Faults the method builder with an exception.</summary>
+ <param name="exception">The exception that is the cause of this fault.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.NotifySynchronizationContextOfCompletion">
+ <summary>Notifies the current synchronization context that the operation completed.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger and only in a single-threaded manner.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncStateMachine">
+ <summary>
+ Represents state machines generated for asynchronous methods.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.MoveNext">
+ <summary>Moves the state machine to its next state.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Configures the state machine with a heap-allocated replica.</summary>
+ <param name="stateMachine">The heap-allocated replica.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.ICriticalNotifyCompletion">
+ <summary>
+ Represents an awaiter used to schedule continuations when an await operation completes.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.INotifyCompletion">
+ <summary>
+ Represents an operation that will schedule continuations when the operation completes.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.INotifyCompletion.OnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.ICriticalNotifyCompletion.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <remarks>Unlike OnCompleted, UnsafeOnCompleted need not propagate ExecutionContext information.</remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.VoidTaskResult">
+ <summary>Used with Task(of void)</summary>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/ensureRedirect.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/ensureRedirect.xml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net40+win8/ensureRedirect.xml
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net45+win8+wp8/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net45+win8+wp8/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/portable-net45+win8+wp8/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/System.Runtime.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/System.Runtime.dll
new file mode 100644
index 0000000..97ab730
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/System.Runtime.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/System.Runtime.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/System.Runtime.xml
new file mode 100644
index 0000000..53f5bef
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/System.Runtime.xml
@@ -0,0 +1,860 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Runtime</name>
+ </assembly>
+ <members>
+ <member name="T:System.Strings">
+ <summary>
+ A strongly-typed resource class, for looking up localized strings, etc.
+ </summary>
+ </member>
+ <member name="P:System.Strings.ResourceManager">
+ <summary>
+ Returns the cached ResourceManager instance used by this class.
+ </summary>
+ </member>
+ <member name="P:System.Strings.Culture">
+ <summary>
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+ </summary>
+ </member>
+ <member name="P:System.Strings.ArgumentException_TupleIncorrectType">
+ <summary>
+ Looks up a localized string similar to Argument must be of type {0}..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ArgumentException_TupleLastArgumentNotATuple">
+ <summary>
+ Looks up a localized string similar to The last element of an eight element tuple must be a Tuple..
+ </summary>
+ </member>
+ <member name="T:System.Collections.IStructuralEquatable">
+ <summary>
+ Defines methods to support the comparison of objects for structural equality.
+ </summary>
+ </member>
+ <member name="M:System.Collections.IStructuralEquatable.Equals(System.Object,System.Collections.IEqualityComparer)">
+ <summary>
+ Determines whether an object is structurally equal to the current instance.
+ </summary>
+ <param name="other">The object to compare with the current instance.</param>
+ <param name="comparer">An object that determines whether the current instance and other are equal. </param>
+ <returns>true if the two objects are equal; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Collections.IStructuralEquatable.GetHashCode(System.Collections.IEqualityComparer)">
+ <summary>
+ Returns a hash code for the current instance.
+ </summary>
+ <param name="comparer">An object that computes the hash code of the current object.</param>
+ <returns>The hash code for the current instance.</returns>
+ </member>
+ <member name="T:System.Collections.IStructuralComparable">
+ <summary>
+ Supports the structural comparison of collection objects.
+ </summary>
+ </member>
+ <member name="M:System.Collections.IStructuralComparable.CompareTo(System.Object,System.Collections.IComparer)">
+ <summary>
+ Determines whether the current collection object precedes, occurs in the same position as, or follows another object in the sort order.
+ </summary>
+ <param name="other">The object to compare with the current instance.</param>
+ <param name="comparer">An object that compares members of the current collection object with the corresponding members of other.</param>
+ <returns>An integer that indicates the relationship of the current collection object to other.</returns>
+ <exception cref="T:System.ArgumentException">
+ This instance and other are not the same type.
+ </exception>
+ </member>
+ <member name="T:System.Func`6">
+ <summary>
+ Encapsulates a method that has five parameters and returns a value of the type specified by the TResult parameter.
+ </summary>
+ <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
+ <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
+ <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
+ <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
+ <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
+ <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
+ <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
+ <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
+ <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
+ <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
+ <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
+ <returns>The return value of the method that this delegate encapsulates.</returns>
+ </member>
+ <member name="T:System.IProgress`1">
+ <summary>Defines a provider for progress updates.</summary>
+ <typeparam name="T">The type of progress update value.</typeparam>
+ </member>
+ <member name="M:System.IProgress`1.Report(`0)">
+ <summary>Reports a progress update.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncStateMachineAttribute">
+ <summary>Identities the async state machine type for this method.</summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.StateMachineAttribute">
+ <summary>Identities the state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.StateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.StateMachineAttribute.StateMachineType">
+ <summary>Gets the type that implements the state machine.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerMemberNameAttribute">
+ <summary>
+ Allows you to obtain the method or property name of the caller to the method.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerLineNumberAttribute">
+ <summary>
+ Allows you to obtain the line number in the source file at which the method is called.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerFilePathAttribute">
+ <summary>
+ Allows you to obtain the full path of the source file that contains the caller.
+ This is the file path at the time of compile.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IteratorStateMachineAttribute">
+ <summary>Identities the iterator state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IteratorStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="T:System.ITuple">
+ <summary>
+ Helper so we can call some tuple methods recursively without knowing the underlying types.
+ </summary>
+ </member>
+ <member name="T:System.Tuple">
+ <summary>
+ Provides static methods for creating tuple objects.
+ </summary>
+ </member>
+ <member name="M:System.Tuple.Create``1(``0)">
+ <summary>
+ Creates a new 1-tuple, or singleton.
+ </summary>
+ <typeparam name="T1">The type of the only component of the tuple.</typeparam>
+ <param name="item1">The value of the only component of the tuple.</param>
+ <returns>A tuple whose value is (item1).</returns>
+ </member>
+ <member name="M:System.Tuple.Create``2(``0,``1)">
+ <summary>
+ Creates a new 3-tuple, or pair.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <returns>An 2-tuple (pair) whose value is (item1, item2).</returns>
+ </member>
+ <member name="M:System.Tuple.Create``3(``0,``1,``2)">
+ <summary>
+ Creates a new 3-tuple, or triple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <returns>An 3-tuple (triple) whose value is (item1, item2, item3).</returns>
+ </member>
+ <member name="M:System.Tuple.Create``4(``0,``1,``2,``3)">
+ <summary>
+ Creates a new 4-tuple, or quadruple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ <returns>An 4-tuple (quadruple) whose value is (item1, item2, item3, item4).</returns>
+ </member>
+ <member name="M:System.Tuple.Create``5(``0,``1,``2,``3,``4)">
+ <summary>
+ Creates a new 5-tuple, or quintuple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ <typeparam name="T5">The type of the fifth component of the tuple.</typeparam>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ <param name="item5">The value of the fifth component of the tuple.</param>
+ <returns>An 5-tuple (quintuple) whose value is (item1, item2, item3, item4, item5).</returns>
+ </member>
+ <member name="M:System.Tuple.Create``6(``0,``1,``2,``3,``4,``5)">
+ <summary>
+ Creates a new 6-tuple, or sextuple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ <typeparam name="T5">The type of the fifth component of the tuple.</typeparam>
+ <typeparam name="T6">The type of the sixth component of the tuple.</typeparam>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ <param name="item5">The value of the fifth component of the tuple.</param>
+ <param name="item6">The value of the sixth component of the tuple.</param>
+ <returns>An 6-tuple (sextuple) whose value is (item1, item2, item3, item4, item5, item6).</returns>
+ </member>
+ <member name="M:System.Tuple.Create``7(``0,``1,``2,``3,``4,``5,``6)">
+ <summary>
+ Creates a new 7-tuple, or septuple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ <typeparam name="T5">The type of the fifth component of the tuple.</typeparam>
+ <typeparam name="T6">The type of the sixth component of the tuple.</typeparam>
+ <typeparam name="T7">The type of the seventh component of the tuple.</typeparam>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ <param name="item5">The value of the fifth component of the tuple.</param>
+ <param name="item6">The value of the sixth component of the tuple.</param>
+ <param name="item7">The value of the seventh component of the tuple.</param>
+ <returns>An 7-tuple (septuple) whose value is (item1, item2, item3, item4, item5, item6, item7).</returns>
+ </member>
+ <member name="M:System.Tuple.Create``8(``0,``1,``2,``3,``4,``5,``6,``7)">
+ <summary>
+ Creates a new 8-tuple, or octuple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ <typeparam name="T5">The type of the fifth component of the tuple.</typeparam>
+ <typeparam name="T6">The type of the sixth component of the tuple.</typeparam>
+ <typeparam name="T7">The type of the seventh component of the tuple.</typeparam>
+ <typeparam name="T8">The type of the eighth component of the tuple.</typeparam>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ <param name="item5">The value of the fifth component of the tuple.</param>
+ <param name="item6">The value of the sixth component of the tuple.</param>
+ <param name="item7">The value of the seventh component of the tuple.</param>
+ <param name="item8">The value of the eighth component of the tuple.</param>
+ <returns>An 8-tuple (octuple) whose value is (item1, item2, item3, item4, item5, item6, item7, item8).</returns>
+ </member>
+ <member name="T:System.Tuple`1">
+ <summary>
+ Represents a 1-tuple, or singleton.
+ </summary>
+ <typeparam name="T1">The type of the tuple's only component.</typeparam>
+ </member>
+ <member name="M:System.Tuple`1.#ctor(`0)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Tuple`1"/> class.
+ </summary>
+ <param name="item1">The value of the current tuple object's single component.</param>
+ </member>
+ <member name="M:System.Tuple`1.Equals(System.Object)">
+ <summary>
+ Returns a value that indicates whether the current tuple object is equal to a specified object.
+ </summary>
+ <param name="obj">The object to compare with this instance.</param>
+ <returns>true if the current instance is equal to the specified object; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Tuple`1.GetHashCode">
+ <summary>
+ Calculates the hash code for the current tuple object.
+ </summary>
+ <returns>A 32-bit signed integer hash code.</returns>
+ </member>
+ <member name="M:System.Tuple`1.ToString">
+ <summary>
+ Returns a string that represents the value of this tuple instance.
+ </summary>
+ <returns>The string representation of this tuple object.</returns>
+ </member>
+ <member name="P:System.Tuple`1.Item1">
+ <summary>
+ Gets the value of the tuple object's single component.
+ </summary>
+ <value>
+ The value of the current tuple object's single component.
+ </value>
+ </member>
+ <member name="T:System.Tuple`2">
+ <summary>
+ Represents an 2-tuple, or pair.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ </member>
+ <member name="M:System.Tuple`2.#ctor(`0,`1)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Tuple`2"/> class.
+ </summary>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ </member>
+ <member name="M:System.Tuple`2.Equals(System.Object)">
+ <summary>
+ Returns a value that indicates whether the current tuple object is equal to a specified object.
+ </summary>
+ <param name="obj">The object to compare with this instance.</param>
+ <returns>true if the current instance is equal to the specified object; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Tuple`2.GetHashCode">
+ <summary>
+ Calculates the hash code for the current tuple object.
+ </summary>
+ <returns>A 32-bit signed integer hash code.</returns>
+ </member>
+ <member name="M:System.Tuple`2.ToString">
+ <summary>
+ Returns a string that represents the value of this tuple instance.
+ </summary>
+ <returns>The string representation of this tuple object.</returns>
+ </member>
+ <member name="P:System.Tuple`2.Item1">
+ <summary>
+ Gets the value of the current tuple object's first component.
+ </summary>
+ <value>
+ The value of the current tuple object's first component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`2.Item2">
+ <summary>
+ Gets the value of the current tuple object's second component.
+ </summary>
+ <value>
+ The value of the current tuple object's second component.
+ </value>
+ </member>
+ <member name="T:System.Tuple`3">
+ <summary>
+ Represents an 3-tuple, or triple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ </member>
+ <member name="M:System.Tuple`3.#ctor(`0,`1,`2)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Tuple`3"/> class.
+ </summary>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ </member>
+ <member name="M:System.Tuple`3.Equals(System.Object)">
+ <summary>
+ Returns a value that indicates whether the current tuple object is equal to a specified object.
+ </summary>
+ <param name="obj">The object to compare with this instance.</param>
+ <returns>true if the current instance is equal to the specified object; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Tuple`3.GetHashCode">
+ <summary>
+ Calculates the hash code for the current tuple object.
+ </summary>
+ <returns>A 32-bit signed integer hash code.</returns>
+ </member>
+ <member name="M:System.Tuple`3.ToString">
+ <summary>
+ Returns a string that represents the value of this tuple instance.
+ </summary>
+ <returns>The string representation of this tuple object.</returns>
+ </member>
+ <member name="P:System.Tuple`3.Item1">
+ <summary>
+ Gets the value of the current tuple object's first component.
+ </summary>
+ <value>
+ The value of the current tuple object's first component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`3.Item2">
+ <summary>
+ Gets the value of the current tuple object's second component.
+ </summary>
+ <value>
+ The value of the current tuple object's second component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`3.Item3">
+ <summary>
+ Gets the value of the current tuple object's third component.
+ </summary>
+ <value>
+ The value of the current tuple object's third component.
+ </value>
+ </member>
+ <member name="T:System.Tuple`4">
+ <summary>
+ Represents an 4-tuple, or quadruple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ </member>
+ <member name="M:System.Tuple`4.#ctor(`0,`1,`2,`3)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Tuple`4"/> class.
+ </summary>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ </member>
+ <member name="M:System.Tuple`4.Equals(System.Object)">
+ <summary>
+ Returns a value that indicates whether the current tuple object is equal to a specified object.
+ </summary>
+ <param name="obj">The object to compare with this instance.</param>
+ <returns>true if the current instance is equal to the specified object; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Tuple`4.GetHashCode">
+ <summary>
+ Calculates the hash code for the current tuple object.
+ </summary>
+ <returns>A 32-bit signed integer hash code.</returns>
+ </member>
+ <member name="M:System.Tuple`4.ToString">
+ <summary>
+ Returns a string that represents the value of this tuple instance.
+ </summary>
+ <returns>The string representation of this tuple object.</returns>
+ </member>
+ <member name="P:System.Tuple`4.Item1">
+ <summary>
+ Gets the value of the current tuple object's first component.
+ </summary>
+ <value>
+ The value of the current tuple object's first component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`4.Item2">
+ <summary>
+ Gets the value of the current tuple object's second component.
+ </summary>
+ <value>
+ The value of the current tuple object's second component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`4.Item3">
+ <summary>
+ Gets the value of the current tuple object's third component.
+ </summary>
+ <value>
+ The value of the current tuple object's third component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`4.Item4">
+ <summary>
+ Gets the value of the current tuple object's fourth component.
+ </summary>
+ <value>
+ The value of the current tuple object's fourth component.
+ </value>
+ </member>
+ <member name="T:System.Tuple`5">
+ <summary>
+ Represents an 5-tuple, or quintuple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ <typeparam name="T5">The type of the fifth component of the tuple.</typeparam>
+ </member>
+ <member name="M:System.Tuple`5.#ctor(`0,`1,`2,`3,`4)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Tuple`5"/> class.
+ </summary>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ <param name="item5">The value of the fifth component of the tuple.</param>
+ </member>
+ <member name="M:System.Tuple`5.Equals(System.Object)">
+ <summary>
+ Returns a value that indicates whether the current tuple object is equal to a specified object.
+ </summary>
+ <param name="obj">The object to compare with this instance.</param>
+ <returns>true if the current instance is equal to the specified object; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Tuple`5.GetHashCode">
+ <summary>
+ Calculates the hash code for the current tuple object.
+ </summary>
+ <returns>A 32-bit signed integer hash code.</returns>
+ </member>
+ <member name="M:System.Tuple`5.ToString">
+ <summary>
+ Returns a string that represents the value of this tuple instance.
+ </summary>
+ <returns>The string representation of this tuple object.</returns>
+ </member>
+ <member name="P:System.Tuple`5.Item1">
+ <summary>
+ Gets the value of the current tuple object's first component.
+ </summary>
+ <value>
+ The value of the current tuple object's first component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`5.Item2">
+ <summary>
+ Gets the value of the current tuple object's second component.
+ </summary>
+ <value>
+ The value of the current tuple object's second component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`5.Item3">
+ <summary>
+ Gets the value of the current tuple object's third component.
+ </summary>
+ <value>
+ The value of the current tuple object's third component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`5.Item4">
+ <summary>
+ Gets the value of the current tuple object's fourth component.
+ </summary>
+ <value>
+ The value of the current tuple object's fourth component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`5.Item5">
+ <summary>
+ Gets the value of the current tuple object's fifth component.
+ </summary>
+ <value>
+ The value of the current tuple object's fifth component.
+ </value>
+ </member>
+ <member name="T:System.Tuple`6">
+ <summary>
+ Represents an 6-tuple, or sextuple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ <typeparam name="T5">The type of the fifth component of the tuple.</typeparam>
+ <typeparam name="T6">The type of the sixth component of the tuple.</typeparam>
+ </member>
+ <member name="M:System.Tuple`6.#ctor(`0,`1,`2,`3,`4,`5)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Tuple`6"/> class.
+ </summary>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ <param name="item5">The value of the fifth component of the tuple.</param>
+ <param name="item6">The value of the sixth component of the tuple.</param>
+ </member>
+ <member name="M:System.Tuple`6.Equals(System.Object)">
+ <summary>
+ Returns a value that indicates whether the current tuple object is equal to a specified object.
+ </summary>
+ <param name="obj">The object to compare with this instance.</param>
+ <returns>true if the current instance is equal to the specified object; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Tuple`6.GetHashCode">
+ <summary>
+ Calculates the hash code for the current tuple object.
+ </summary>
+ <returns>A 32-bit signed integer hash code.</returns>
+ </member>
+ <member name="M:System.Tuple`6.ToString">
+ <summary>
+ Returns a string that represents the value of this tuple instance.
+ </summary>
+ <returns>The string representation of this tuple object.</returns>
+ </member>
+ <member name="P:System.Tuple`6.Item1">
+ <summary>
+ Gets the value of the current tuple object's first component.
+ </summary>
+ <value>
+ The value of the current tuple object's first component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`6.Item2">
+ <summary>
+ Gets the value of the current tuple object's second component.
+ </summary>
+ <value>
+ The value of the current tuple object's second component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`6.Item3">
+ <summary>
+ Gets the value of the current tuple object's third component.
+ </summary>
+ <value>
+ The value of the current tuple object's third component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`6.Item4">
+ <summary>
+ Gets the value of the current tuple object's fourth component.
+ </summary>
+ <value>
+ The value of the current tuple object's fourth component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`6.Item5">
+ <summary>
+ Gets the value of the current tuple object's fifth component.
+ </summary>
+ <value>
+ The value of the current tuple object's fifth component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`6.Item6">
+ <summary>
+ Gets the value of the current tuple object's sixth component.
+ </summary>
+ <value>
+ The value of the current tuple object's sixth component.
+ </value>
+ </member>
+ <member name="T:System.Tuple`7">
+ <summary>
+ Represents an 7-tuple, or septuple.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ <typeparam name="T5">The type of the fifth component of the tuple.</typeparam>
+ <typeparam name="T6">The type of the sixth component of the tuple.</typeparam>
+ <typeparam name="T7">The type of the seventh component of the tuple.</typeparam>
+ </member>
+ <member name="M:System.Tuple`7.#ctor(`0,`1,`2,`3,`4,`5,`6)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Tuple`7"/> class.
+ </summary>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ <param name="item5">The value of the fifth component of the tuple.</param>
+ <param name="item6">The value of the sixth component of the tuple.</param>
+ <param name="item7">The value of the seventh component of the tuple.</param>
+ </member>
+ <member name="M:System.Tuple`7.Equals(System.Object)">
+ <summary>
+ Returns a value that indicates whether the current tuple object is equal to a specified object.
+ </summary>
+ <param name="obj">The object to compare with this instance.</param>
+ <returns>true if the current instance is equal to the specified object; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Tuple`7.GetHashCode">
+ <summary>
+ Calculates the hash code for the current tuple object.
+ </summary>
+ <returns>A 32-bit signed integer hash code.</returns>
+ </member>
+ <member name="M:System.Tuple`7.ToString">
+ <summary>
+ Returns a string that represents the value of this tuple instance.
+ </summary>
+ <returns>The string representation of this tuple object.</returns>
+ </member>
+ <member name="P:System.Tuple`7.Item1">
+ <summary>
+ Gets the value of the current tuple object's first component.
+ </summary>
+ <value>
+ The value of the current tuple object's first component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`7.Item2">
+ <summary>
+ Gets the value of the current tuple object's second component.
+ </summary>
+ <value>
+ The value of the current tuple object's second component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`7.Item3">
+ <summary>
+ Gets the value of the current tuple object's third component.
+ </summary>
+ <value>
+ The value of the current tuple object's third component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`7.Item4">
+ <summary>
+ Gets the value of the current tuple object's fourth component.
+ </summary>
+ <value>
+ The value of the current tuple object's fourth component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`7.Item5">
+ <summary>
+ Gets the value of the current tuple object's fifth component.
+ </summary>
+ <value>
+ The value of the current tuple object's fifth component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`7.Item6">
+ <summary>
+ Gets the value of the current tuple object's sixth component.
+ </summary>
+ <value>
+ The value of the current tuple object's sixth component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`7.Item7">
+ <summary>
+ Gets the value of the current tuple object's seventh component.
+ </summary>
+ <value>
+ The value of the current tuple object's seventh component.
+ </value>
+ </member>
+ <member name="T:System.Tuple`8">
+ <summary>
+ Represents an n-tuple, where n is 8 or greater.
+ </summary>
+ <typeparam name="T1">The type of the first component of the tuple.</typeparam>
+ <typeparam name="T2">The type of the second component of the tuple.</typeparam>
+ <typeparam name="T3">The type of the third component of the tuple.</typeparam>
+ <typeparam name="T4">The type of the fourth component of the tuple.</typeparam>
+ <typeparam name="T5">The type of the fifth component of the tuple.</typeparam>
+ <typeparam name="T6">The type of the sixth component of the tuple.</typeparam>
+ <typeparam name="T7">The type of the seventh component of the tuple.</typeparam>
+ <typeparam name="TRest">Any generic Tuple object that defines the types of the tuple's remaining components.</typeparam>
+ </member>
+ <member name="M:System.Tuple`8.#ctor(`0,`1,`2,`3,`4,`5,`6,`7)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Tuple`8"/> class.
+ </summary>
+ <param name="item1">The value of the first component of the tuple.</param>
+ <param name="item2">The value of the second component of the tuple.</param>
+ <param name="item3">The value of the third component of the tuple.</param>
+ <param name="item4">The value of the fourth component of the tuple.</param>
+ <param name="item5">The value of the fifth component of the tuple.</param>
+ <param name="item6">The value of the sixth component of the tuple.</param>
+ <param name="item7">The value of the seventh component of the tuple.</param>
+ <param name="rest">Any generic Tuple object that contains the values of the tuple's remaining components.</param>
+ <exception cref="T:System.ArgumentException">
+ rest is not a generic Tuple object.
+ </exception>
+ </member>
+ <member name="M:System.Tuple`8.Equals(System.Object)">
+ <summary>
+ Returns a value that indicates whether the current tuple object is equal to a specified object.
+ </summary>
+ <param name="obj">The object to compare with this instance.</param>
+ <returns>true if the current instance is equal to the specified object; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Tuple`8.GetHashCode">
+ <summary>
+ Calculates the hash code for the current tuple object.
+ </summary>
+ <returns>A 32-bit signed integer hash code.</returns>
+ </member>
+ <member name="M:System.Tuple`8.ToString">
+ <summary>
+ Returns a string that represents the value of this tuple instance.
+ </summary>
+ <returns>The string representation of this tuple object.</returns>
+ </member>
+ <member name="P:System.Tuple`8.Item1">
+ <summary>
+ Gets the value of the current tuple object's first component.
+ </summary>
+ <value>
+ The value of the current tuple object's first component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`8.Item2">
+ <summary>
+ Gets the value of the current tuple object's second component.
+ </summary>
+ <value>
+ The value of the current tuple object's second component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`8.Item3">
+ <summary>
+ Gets the value of the current tuple object's third component.
+ </summary>
+ <value>
+ The value of the current tuple object's third component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`8.Item4">
+ <summary>
+ Gets the value of the current tuple object's fourth component.
+ </summary>
+ <value>
+ The value of the current tuple object's fourth component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`8.Item5">
+ <summary>
+ Gets the value of the current tuple object's fifth component.
+ </summary>
+ <value>
+ The value of the current tuple object's fifth component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`8.Item6">
+ <summary>
+ Gets the value of the current tuple object's sixth component.
+ </summary>
+ <value>
+ The value of the current tuple object's sixth component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`8.Item7">
+ <summary>
+ Gets the value of the current tuple object's seventh component.
+ </summary>
+ <value>
+ The value of the current tuple object's seventh component.
+ </value>
+ </member>
+ <member name="P:System.Tuple`8.Rest">
+ <summary>
+ Gets the current tuple object's remaining components.
+ </summary>
+ <value>
+ The value of the current tuple object's remaining components.
+ </value>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/System.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/System.Threading.Tasks.dll
new file mode 100644
index 0000000..74f5e2c
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/System.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/System.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/System.Threading.Tasks.xml
new file mode 100644
index 0000000..6c77012
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/System.Threading.Tasks.xml
@@ -0,0 +1,8969 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:System.AggregateException">
+ <summary>Represents one or more errors that occur during application execution.</summary>
+ <remarks>
+ <see cref="T:System.AggregateException"/> is used to consolidate multiple failures into a single, throwable
+ exception object.
+ </remarks>
+ </member>
+ <member name="M:System.AggregateException.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class.
+ </summary>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
+ a specified error message.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
+ message and a reference to the inner exception that is the cause of this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerException"/> argument
+ is null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
+ references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.Exception[])">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
+ references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
+ message and references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Exception[])">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
+ message and references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Collections.Generic.IList{System.Exception})">
+ <summary>
+ Allocates a new aggregate exception with the specified message and list of inner exceptions.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.GetBaseException">
+ <summary>
+ Returns the <see cref="T:System.AggregateException"/> that is the root cause of this exception.
+ </summary>
+ </member>
+ <member name="M:System.AggregateException.Handle(System.Func{System.Exception,System.Boolean})">
+ <summary>
+ Invokes a handler on each <see cref="T:System.Exception"/> contained by this <see cref="T:System.AggregateException"/>.
+ </summary>
+ <param name="predicate">The predicate to execute for each exception. The predicate accepts as an
+ argument the <see cref="T:System.Exception"/> to be processed and returns a Boolean to indicate
+ whether the exception was handled.</param>
+ <remarks>
+ Each invocation of the <paramref name="predicate"/> returns true or false to indicate whether the
+ <see cref="T:System.Exception"/> was handled. After all invocations, if any exceptions went
+ unhandled, all unhandled exceptions will be put into a new <see cref="T:System.AggregateException"/>
+ which will be thrown. Otherwise, the <see cref="M:System.AggregateException.Handle(System.Func{System.Exception,System.Boolean})"/> method simply returns. If any
+ invocations of the <paramref name="predicate"/> throws an exception, it will halt the processing
+ of any more exceptions and immediately propagate the thrown exception as-is.
+ </remarks>
+ <exception cref="T:System.AggregateException">An exception contained by this <see cref="T:System.AggregateException"/> was not handled.</exception>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="predicate"/> argument is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.Flatten">
+ <summary>
+ Flattens an <see cref="T:System.AggregateException"/> instances into a single, new instance.
+ </summary>
+ <returns>A new, flattened <see cref="T:System.AggregateException"/>.</returns>
+ <remarks>
+ If any inner exceptions are themselves instances of
+ <see cref="T:System.AggregateException"/>, this method will recursively flatten all of them. The
+ inner exceptions returned in the new <see cref="T:System.AggregateException"/>
+ will be the union of all of the the inner exceptions from exception tree rooted at the provided
+ <see cref="T:System.AggregateException"/> instance.
+ </remarks>
+ </member>
+ <member name="M:System.AggregateException.ToString">
+ <summary>
+ Creates and returns a string representation of the current <see cref="T:System.AggregateException"/>.
+ </summary>
+ <returns>A string representation of the current exception.</returns>
+ </member>
+ <member name="P:System.AggregateException.InnerExceptions">
+ <summary>
+ Gets a read-only collection of the <see cref="T:System.Exception"/> instances that caused the
+ current exception.
+ </summary>
+ </member>
+ <member name="T:System.Strings">
+ <summary>
+ A strongly-typed resource class, for looking up localized strings, etc.
+ </summary>
+ </member>
+ <member name="P:System.Strings.ResourceManager">
+ <summary>
+ Returns the cached ResourceManager instance used by this class.
+ </summary>
+ </member>
+ <member name="P:System.Strings.Culture">
+ <summary>
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+ </summary>
+ </member>
+ <member name="P:System.Strings.AggregateException_ctor_DefaultMessage">
+ <summary>
+ Looks up a localized string similar to One or more errors occurred..
+ </summary>
+ </member>
+ <member name="P:System.Strings.AggregateException_ctor_InnerExceptionNull">
+ <summary>
+ Looks up a localized string similar to An element of innerExceptions was null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.AggregateException_ToString">
+ <summary>
+ Looks up a localized string similar to {0}{1}---&gt; (Inner Exception #{2}) {3}{4}{5}.
+ </summary>
+ </member>
+ <member name="P:System.Strings.CancellationToken_CreateLinkedToken_TokensIsEmpty">
+ <summary>
+ Looks up a localized string similar to No tokens were supplied..
+ </summary>
+ </member>
+ <member name="P:System.Strings.CancellationToken_SourceDisposed">
+ <summary>
+ Looks up a localized string similar to The CancellationTokenSource associated with this CancellationToken has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.CancellationTokenSource_Disposed">
+ <summary>
+ Looks up a localized string similar to The CancellationTokenSource has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentCollection_SyncRoot_NotSupported">
+ <summary>
+ Looks up a localized string similar to The SyncRoot property may not be used for the synchronization of concurrent collections..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ArrayIncorrectType">
+ <summary>
+ Looks up a localized string similar to The array is multidimensional, or the type parameter for the set cannot be cast automatically to the type of the destination array..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ArrayNotLargeEnough">
+ <summary>
+ Looks up a localized string similar to The index is equal to or greater than the length of the array, or the number of elements in the dictionary is greater than the available space from index to the end of the destination array..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_CapacityMustNotBeNegative">
+ <summary>
+ Looks up a localized string similar to The capacity argument must be greater than or equal to zero..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ConcurrencyLevelMustBePositive">
+ <summary>
+ Looks up a localized string similar to The concurrencyLevel argument must be positive..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_IndexIsNegative">
+ <summary>
+ Looks up a localized string similar to The index argument is less than zero..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ItemKeyIsNull">
+ <summary>
+ Looks up a localized string similar to TKey is a reference type and item.Key is null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_KeyAlreadyExisted">
+ <summary>
+ Looks up a localized string similar to The key already existed in the dictionary..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_SourceContainsDuplicateKeys">
+ <summary>
+ Looks up a localized string similar to The source argument contains duplicate keys..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_TypeOfKeyIncorrect">
+ <summary>
+ Looks up a localized string similar to The key was of an incorrect type for this dictionary..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_TypeOfValueIncorrect">
+ <summary>
+ Looks up a localized string similar to The value was of an incorrect type for this dictionary..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Lazy_CreateValue_NoParameterlessCtorForT">
+ <summary>
+ Looks up a localized string similar to The lazily-initialized type does not have a public, parameterless constructor..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Lazy_StaticInit_InvalidOperation">
+ <summary>
+ Looks up a localized string similar to ValueFactory returned null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ManualResetEventSlim_ctor_SpinCountOutOfRange">
+ <summary>
+ Looks up a localized string similar to The spinCount argument must be in the range 0 to {0}, inclusive..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ManualResetEventSlim_ctor_TooManyWaiters">
+ <summary>
+ Looks up a localized string similar to There are too many threads currently waiting on the event. A maximum of {0} waiting threads are supported..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ManualResetEventSlim_Disposed">
+ <summary>
+ Looks up a localized string similar to The event has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.OperationCanceled">
+ <summary>
+ Looks up a localized string similar to The operation was canceled..
+ </summary>
+ </member>
+ <member name="P:System.Strings.SpinWait_SpinUntil_ArgumentNull">
+ <summary>
+ Looks up a localized string similar to The condition argument is null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.SpinWait_SpinUntil_TimeoutWrong">
+ <summary>
+ Looks up a localized string similar to The timeout must represent a value between -1 and Int32.MaxValue, inclusive..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ContinueWith_ESandLR">
+ <summary>
+ Looks up a localized string similar to The specified TaskContinuationOptions combined LongRunning and ExecuteSynchronously. Synchronous continuations should not be long running..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ContinueWith_NotOnAnything">
+ <summary>
+ Looks up a localized string similar to The specified TaskContinuationOptions excluded all continuation kinds..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ctor_LRandSR">
+ <summary>
+ Looks up a localized string similar to (Internal)An attempt was made to create a LongRunning SelfReplicating task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Delay_InvalidDelay">
+ <summary>
+ Looks up a localized string similar to The value needs to translate in milliseconds to -1 (signifying an infinite timeout), 0 or a positive integer less than or equal to Int32.MaxValue..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Delay_InvalidMillisecondsDelay">
+ <summary>
+ Looks up a localized string similar to The value needs to be either -1 (signifying an infinite timeout), 0 or a positive integer..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Dispose_NotCompleted">
+ <summary>
+ Looks up a localized string similar to A task may only be disposed if it is in a completion state (RanToCompletion, Faulted or Canceled)..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_LongRunning">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.LongRunning in calls to FromAsync..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_PreferFairness">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.PreferFairness in calls to FromAsync..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_SelfReplicating">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.SelfReplicating in calls to FromAsync..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_TaskManagerShutDown">
+ <summary>
+ Looks up a localized string similar to FromAsync was called with a TaskManager that had already shut down..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_MultiTaskContinuation_EmptyTaskList">
+ <summary>
+ Looks up a localized string similar to The tasks argument contains no tasks..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_MultiTaskContinuation_FireOptions">
+ <summary>
+ Looks up a localized string similar to It is invalid to exclude specific continuation kinds for continuations off of multiple tasks..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_MultiTaskContinuation_NullTask">
+ <summary>
+ Looks up a localized string similar to The tasks argument included a null value..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_AlreadyStarted">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a task that was already started..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_Continuation">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a continuation task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_Promise">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a task not bound to a delegate, such as the task returned from an asynchronous method..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_TaskCompleted">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a task that has already completed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_AlreadyStarted">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a task that was already started..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_ContinuationTask">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a continuation task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_NullAction">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a task with null action..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_Promise">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a promise-style task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_TaskCompleted">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a task that has completed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ThrowIfDisposed">
+ <summary>
+ Looks up a localized string similar to The task has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_WaitMulti_NullTask">
+ <summary>
+ Looks up a localized string similar to The tasks array included at least one null element..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskAwaiter_TaskNotCompleted">
+ <summary>
+ Looks up a localized string similar to The awaited task has not yet completed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskCanceledException_ctor_DefaultMessage">
+ <summary>
+ Looks up a localized string similar to A task was canceled..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskCompletionSourceT_TrySetException_NoExceptions">
+ <summary>
+ Looks up a localized string similar to The exceptions collection was empty..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskCompletionSourceT_TrySetException_NullException">
+ <summary>
+ Looks up a localized string similar to The exceptions collection included at least one null element..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskExceptionHolder_UnhandledException">
+ <summary>
+ Looks up a localized string similar to A Task&apos;s exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskExceptionHolder_UnknownExceptionType">
+ <summary>
+ Looks up a localized string similar to (Internal)Expected an Exception or an IEnumerable&lt;Exception&gt;.
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_ExecuteTask_TaskAlreadyExecuted">
+ <summary>
+ Looks up a localized string similar to ExecuteTask may not be called for a task which was already executed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_ExecuteTask_WrongTaskScheduler">
+ <summary>
+ Looks up a localized string similar to ExecuteTask may not be called for a task which was previously queued to a different TaskScheduler..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_FromCurrentSynchronizationContext_NoCurrent">
+ <summary>
+ Looks up a localized string similar to The current SynchronizationContext may not be used as a TaskScheduler..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_InconsistentStateAfterTryExecuteTaskInline">
+ <summary>
+ Looks up a localized string similar to The TryExecuteTaskInline call to the underlying scheduler succeeded, but the task body was not invoked..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskSchedulerException_ctor_DefaultMessage">
+ <summary>
+ Looks up a localized string similar to An exception was thrown by a TaskScheduler..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_ctor_SelfReplicating">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.SelfReplicating for a Task&lt;TResult&gt;..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_DebuggerNoResult">
+ <summary>
+ Looks up a localized string similar to {Not yet computed}.
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_SetException_HasAnInitializer">
+ <summary>
+ Looks up a localized string similar to A task&apos;s Exception may only be set directly if the task was created without a function..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_TransitionToFinal_AlreadyCompleted">
+ <summary>
+ Looks up a localized string similar to An attempt was made to transition a task to a final state when it had already completed..
+ </summary>
+ </member>
+ <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2">
+ <summary>
+ Represents a thread-safe collection of keys and values.
+ </summary>
+ <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
+ <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
+ <remarks>
+ All public and protected members of <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> are thread-safe and may be used
+ concurrently from multiple threads.
+ </remarks>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the default concurrency level, has the default initial capacity, and
+ uses the default comparer for the key type.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Int32)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the specified concurrency level and capacity, and uses the default
+ comparer for the key type.
+ </summary>
+ <param name="concurrencyLevel">The estimated number of threads that will update the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
+ <param name="capacity">The initial number of elements that the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ can contain.</param>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="concurrencyLevel"/> is
+ less than 1.</exception>
+ <exception cref="T:ArgumentOutOfRangeException"> <paramref name="capacity"/> is less than
+ 0.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/>, has the default concurrency
+ level, has the default initial capacity, and uses the default comparer for the key type.
+ </summary>
+ <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to
+ the new
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentException"><paramref name="collection"/> contains one or more
+ duplicate keys.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the specified concurrency level and capacity, and uses the specified
+ <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
+ implementation to use when comparing keys.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable"/>, has the default concurrency level, has the default
+ initial capacity, and uses the specified
+ <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to
+ the new
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
+ implementation to use when comparing keys.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is a null reference
+ (Nothing in Visual Basic). -or-
+ <paramref name="comparer"/> is a null reference (Nothing in Visual Basic).
+ </exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable"/>,
+ has the specified concurrency level, has the specified initial capacity, and uses the specified
+ <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="concurrencyLevel">The estimated number of threads that will update the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
+ <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to the new
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/> implementation to use
+ when comparing keys.</param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="collection"/> is a null reference (Nothing in Visual Basic).
+ -or-
+ <paramref name="comparer"/> is a null reference (Nothing in Visual Basic).
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="concurrencyLevel"/> is less than 1.
+ </exception>
+ <exception cref="T:System.ArgumentException"><paramref name="collection"/> contains one or more duplicate keys.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the specified concurrency level, has the specified initial capacity, and
+ uses the specified <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="concurrencyLevel">The estimated number of threads that will update the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
+ <param name="capacity">The initial number of elements that the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ can contain.</param>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
+ implementation to use when comparing keys.</param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="concurrencyLevel"/> is less than 1. -or-
+ <paramref name="capacity"/> is less than 0.
+ </exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryAdd(`0,`1)">
+ <summary>
+ Attempts to add the specified key and value to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <param name="key">The key of the element to add.</param>
+ <param name="value">The value of the element to add. The value can be a null reference (Nothing
+ in Visual Basic) for reference types.</param>
+ <returns>true if the key/value pair was added to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ successfully; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ contains too many elements.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ContainsKey(`0)">
+ <summary>
+ Determines whether the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> contains the specified
+ key.
+ </summary>
+ <param name="key">The key to locate in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <returns>true if the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> contains an element with
+ the specified key; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryRemove(`0,`1@)">
+ <summary>
+ Attempts to remove and return the the value with the specified key from the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <param name="key">The key of the element to remove and return.</param>
+ <param name="value">When this method returns, <paramref name="value"/> contains the object removed from the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> or the default value of <typeparamref name="TValue"/>
+ if the operation failed.</param>
+ <returns>true if an object was removed successfully; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryRemoveInternal(`0,`1@,System.Boolean,`1)">
+ <summary>
+ Removes the specified key from the dictionary if it exists and returns its associated value.
+ If matchValue flag is set, the key will be removed only if is associated with a particular
+ value.
+ </summary>
+ <param name="key">The key to search for and remove if it exists.</param>
+ <param name="value">The variable into which the removed value, if found, is stored.</param>
+ <param name="matchValue">Whether removal of the key is conditional on its value.</param>
+ <param name="oldValue">The conditional value to compare against if <paramref name="matchValue"/> is true</param>
+ <returns></returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryGetValue(`0,`1@)">
+ <summary>
+ Attempts to get the value associated with the specified key from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <param name="key">The key of the value to get.</param>
+ <param name="value">When this method returns, <paramref name="value"/> contains the object from
+ the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> with the spedified key or the default value of
+ <typeparamref name="TValue"/>, if the operation failed.</param>
+ <returns>true if the key was found in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>;
+ otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryUpdate(`0,`1,`1)">
+ <summary>
+ Compares the existing value for the specified key with a specified value, and if they’re equal,
+ updates the key with a third value.
+ </summary>
+ <param name="key">The key whose value is compared with <paramref name="comparisonValue"/> and
+ possibly replaced.</param>
+ <param name="newValue">The value that replaces the value of the element with <paramref
+ name="key"/> if the comparison results in equality.</param>
+ <param name="comparisonValue">The value that is compared to the value of the element with
+ <paramref name="key"/>.</param>
+ <returns>true if the value with <paramref name="key"/> was equal to <paramref
+ name="comparisonValue"/> and replaced with <paramref name="newValue"/>; otherwise,
+ false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null
+ reference.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.Clear">
+ <summary>
+ Removes all keys and values from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
+ <summary>
+ Copies the elements of the <see cref="T:System.Collections.Generic.ICollection"/> to an array of
+ type <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>, starting at the
+ specified array index.
+ </summary>
+ <param name="array">The one-dimensional array of type <see
+ cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ that is the destination of the <see
+ cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/> elements copied from the <see
+ cref="T:System.Collections.ICollection"/>. The array must have zero-based indexing.</param>
+ <param name="index">The zero-based index in <paramref name="array"/> at which copying
+ begins.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="index"/> is less than
+ 0.</exception>
+ <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than
+ the length of the <paramref name="array"/>. -or- The number of elements in the source <see
+ cref="T:System.Collections.ICollection"/>
+ is greater than the available space from <paramref name="index"/> to the end of the destination
+ <paramref name="array"/>.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ToArray">
+ <summary>
+ Copies the key and value pairs stored in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> to a
+ new array.
+ </summary>
+ <returns>A new array containing a snapshot of key and value pairs copied from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToPairs(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
+ <summary>
+ Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
+
+ Important: the caller must hold all locks in m_locks before calling CopyToPairs.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToEntries(System.Collections.DictionaryEntry[],System.Int32)">
+ <summary>
+ Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
+
+ Important: the caller must hold all locks in m_locks before calling CopyToEntries.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToObjects(System.Object[],System.Int32)">
+ <summary>
+ Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
+
+ Important: the caller must hold all locks in m_locks before calling CopyToObjects.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator">
+ <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</summary>
+ <returns>An enumerator for the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
+ <remarks>
+ The enumerator returned from the dictionary is safe to use concurrently with
+ reads and writes to the dictionary, however it does not represent a moment-in-time snapshot
+ of the dictionary. The contents exposed through the enumerator may contain modifications
+ made to the dictionary after <see cref="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator"/> was called.
+ </remarks>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryAddInternal(`0,`1,System.Boolean,System.Boolean,`1@)">
+ <summary>
+ Shared internal implementation for inserts and updates.
+ If key exists, we always return false; and if updateIfExists == true we force update with value;
+ If key doesn't exist, we always add value and return true;
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(`0,System.Func{`0,`1})">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ if the key does not already exist.
+ </summary>
+ <param name="key">The key of the element to add.</param>
+ <param name="valueFactory">The function used to generate a value for the key</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="valueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The value for the key. This will be either the existing value for the key if the
+ key is already in the dictionary, or the new value for the key as returned by valueFactory
+ if the key was not in the dictionary.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(`0,`1)">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ if the key does not already exist.
+ </summary>
+ <param name="key">The key of the element to add.</param>
+ <param name="value">the value to be added, if the key does not already exist</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The value for the key. This will be either the existing value for the key if the
+ key is already in the dictionary, or the new value if the key was not in the dictionary.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(`0,System.Func{`0,`1},System.Func{`0,`1,`1})">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key does not already
+ exist, or updates a key/value pair in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key
+ already exists.
+ </summary>
+ <param name="key">The key to be added or whose value should be updated</param>
+ <param name="addValueFactory">The function used to generate a value for an absent key</param>
+ <param name="updateValueFactory">The function used to generate a new value for an existing key
+ based on the key's existing value</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="addValueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="updateValueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The new value for the key. This will be either be the result of addValueFactory (if the key was
+ absent) or the result of updateValueFactory (if the key was present).</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(`0,`1,System.Func{`0,`1,`1})">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key does not already
+ exist, or updates a key/value pair in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key
+ already exists.
+ </summary>
+ <param name="key">The key to be added or whose value should be updated</param>
+ <param name="addValue">The value to be added for an absent key</param>
+ <param name="updateValueFactory">The function used to generate a new value for an existing key based on
+ the key's existing value</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="updateValueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The new value for the key. This will be either be the result of addValueFactory (if the key was
+ absent) or the result of updateValueFactory (if the key was present).</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Add(`0,`1)">
+ <summary>
+ Adds the specified key and value to the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </summary>
+ <param name="key">The object to use as the key of the element to add.</param>
+ <param name="value">The object to use as the value of the element to add.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <exception cref="T:System.ArgumentException">
+ An element with the same key already exists in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Remove(`0)">
+ <summary>
+ Removes the element with the specified key from the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </summary>
+ <param name="key">The key of the element to remove.</param>
+ <returns>true if the element is successfully remove; otherwise false. This method also returns
+ false if
+ <paramref name="key"/> was not found in the original <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Add(System.Collections.Generic.KeyValuePair{`0,`1})">
+ <summary>
+ Adds the specified value to the <see cref="T:System.Collections.Generic.ICollection{TValue}"/>
+ with the specified key.
+ </summary>
+ <param name="keyValuePair">The <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ structure representing the key and value to add to the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="keyValuePair"/> of <paramref
+ name="keyValuePair"/> is null.</exception>
+ <exception cref="T:System.OverflowException">The <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>
+ contains too many elements.</exception>
+ <exception cref="T:System.ArgumentException">An element with the same key already exists in the
+ <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/></exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
+ <summary>
+ Determines whether the <see cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/>
+ contains a specific key and value.
+ </summary>
+ <param name="keyValuePair">The <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ structure to locate in the <see
+ cref="T:System.Collections.Generic.ICollection{TValue}"/>.</param>
+ <returns>true if the <paramref name="keyValuePair"/> is found in the <see
+ cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/>; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
+ <summary>
+ Removes a key and value from the dictionary.
+ </summary>
+ <param name="keyValuePair">The <see
+ cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ structure representing the key and value to remove from the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</param>
+ <returns>true if the key and value represented by <paramref name="keyValuePair"/> is successfully
+ found and removed; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException">The Key property of <paramref
+ name="keyValuePair"/> is a null reference (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IEnumerable#GetEnumerator">
+ <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</summary>
+ <returns>An enumerator for the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
+ <remarks>
+ The enumerator returned from the dictionary is safe to use concurrently with
+ reads and writes to the dictionary, however it does not represent a moment-in-time snapshot
+ of the dictionary. The contents exposed through the enumerator may contain modifications
+ made to the dictionary after <see cref="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator"/> was called.
+ </remarks>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Add(System.Object,System.Object)">
+ <summary>
+ Adds the specified key and value to the dictionary.
+ </summary>
+ <param name="key">The object to use as the key.</param>
+ <param name="value">The object to use as the value.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <exception cref="T:System.ArgumentException">
+ <paramref name="key"/> is of a type that is not assignable to the key type <typeparamref
+ name="TKey"/> of the <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>. -or-
+ <paramref name="value"/> is of a type that is not assignable to <typeparamref name="TValue"/>,
+ the type of values in the <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ -or- A value with the same key already exists in the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ </exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Contains(System.Object)">
+ <summary>
+ Gets whether the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> contains an
+ element with the specified key.
+ </summary>
+ <param name="key">The key to locate in the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</param>
+ <returns>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> contains
+ an element with the specified key; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"> <paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#GetEnumerator">
+ <summary>Provides an <see cref="T:System.Collections.Generics.IDictionaryEnumerator"/> for the
+ <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</summary>
+ <returns>An <see cref="T:System.Collections.Generics.IDictionaryEnumerator"/> for the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Remove(System.Object)">
+ <summary>
+ Removes the element with the specified key from the <see
+ cref="T:System.Collections.IDictionary"/>.
+ </summary>
+ <param name="key">The key of the element to remove.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
+ <summary>
+ Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an array, starting
+ at the specified array index.
+ </summary>
+ <param name="array">The one-dimensional array that is the destination of the elements copied from
+ the <see cref="T:System.Collections.ICollection"/>. The array must have zero-based
+ indexing.</param>
+ <param name="index">The zero-based index in <paramref name="array"/> at which copying
+ begins.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="index"/> is less than
+ 0.</exception>
+ <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than
+ the length of the <paramref name="array"/>. -or- The number of elements in the source <see
+ cref="T:System.Collections.ICollection"/>
+ is greater than the available space from <paramref name="index"/> to the end of the destination
+ <paramref name="array"/>.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GrowTable(System.Collections.Concurrent.ConcurrentDictionary{`0,`1}.Node[])">
+ <summary>
+ Replaces the internal table with a larger one. To prevent multiple threads from resizing the
+ table as a result of races, the table of buckets that was deemed too small is passed in as
+ an argument to GrowTable(). GrowTable() obtains a lock, and then checks whether the bucket
+ table has been replaced in the meantime or not.
+ </summary>
+ <param name="buckets">Reference to the bucket table that was deemed too small.</param>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetBucketAndLockNo(System.Int32,System.Int32@,System.Int32@,System.Int32)">
+ <summary>
+ Computes the bucket and lock number for a particular key.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AcquireAllLocks(System.Int32@)">
+ <summary>
+ Acquires all locks for this hash table, and increments locksAcquired by the number
+ of locks that were successfully acquired. The locks are acquired in an increasing
+ order.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AcquireLocks(System.Int32,System.Int32,System.Int32@)">
+ <summary>
+ Acquires a contiguous range of locks for this hash table, and increments locksAcquired
+ by the number of locks that were successfully acquired. The locks are acquired in an
+ increasing order.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ReleaseLocks(System.Int32,System.Int32)">
+ <summary>
+ Releases a contiguous range of locks.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetKeys">
+ <summary>
+ Gets a collection containing the keys in the dictionary.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetValues">
+ <summary>
+ Gets a collection containing the values in the dictionary.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.Assert(System.Boolean)">
+ <summary>
+ A helper method for asserts.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.OnSerializing(System.Runtime.Serialization.StreamingContext)">
+ <summary>
+ Get the data array to be serialized
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.OnDeserialized(System.Runtime.Serialization.StreamingContext)">
+ <summary>
+ Construct the dictionary from a previously seiralized one
+ </summary>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Item(`0)">
+ <summary>
+ Gets or sets the value associated with the specified key.
+ </summary>
+ <param name="key">The key of the value to get or set.</param>
+ <value>The value associated with the specified key. If the specified key is not found, a get
+ operation throws a
+ <see cref="T:Sytem.Collections.Generic.KeyNotFoundException"/>, and a set operation creates a new
+ element with the specified key.</value>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and
+ <paramref name="key"/>
+ does not exist in the collection.</exception>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Count">
+ <summary>
+ Gets the number of key/value pairs contained in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <value>The number of key/value paris contained in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</value>
+ <remarks>Count has snapshot semantics and represents the number of items in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ at the moment when Count was accessed.</remarks>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.IsEmpty">
+ <summary>
+ Gets a value that indicates whether the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> is empty.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> is empty; otherwise,
+ false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Keys">
+ <summary>
+ Gets a collection containing the keys in the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.Generic.ICollection{TKey}"/> containing the keys in the
+ <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Values">
+ <summary>
+ Gets a collection containing the values in the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.Generic.ICollection{TValue}"/> containing the values in
+ the
+ <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#IsReadOnly">
+ <summary>
+ Gets a value indicating whether the dictionary is read-only.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/> is
+ read-only; otherwise, false. For <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>, this property always returns
+ false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#IsFixedSize">
+ <summary>
+ Gets a value indicating whether the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> has a fixed size.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> has a
+ fixed size; otherwise, false. For <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>, this property always
+ returns false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#IsReadOnly">
+ <summary>
+ Gets a value indicating whether the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> is read-only.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> is
+ read-only; otherwise, false. For <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>, this property always
+ returns false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Keys">
+ <summary>
+ Gets an <see cref="T:System.Collections.ICollection"/> containing the keys of the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.ICollection"/> containing the keys of the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Values">
+ <summary>
+ Gets an <see cref="T:System.Collections.ICollection"/> containing the values in the <see
+ cref="T:System.Collections.IDictionary"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.ICollection"/> containing the values in the <see
+ cref="T:System.Collections.IDictionary"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Item(System.Object)">
+ <summary>
+ Gets or sets the value associated with the specified key.
+ </summary>
+ <param name="key">The key of the value to get or set.</param>
+ <value>The value associated with the specified key, or a null reference (Nothing in Visual Basic)
+ if <paramref name="key"/> is not in the dictionary or <paramref name="key"/> is of a type that is
+ not assignable to the key type <typeparamref name="TKey"/> of the <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>.</value>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentException">
+ A value is being assigned, and <paramref name="key"/> is of a type that is not assignable to the
+ key type <typeparamref name="TKey"/> of the <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>. -or- A value is being
+ assigned, and <paramref name="key"/> is of a type that is not assignable to the value type
+ <typeparamref name="TValue"/> of the <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>
+ </exception>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#IsSynchronized">
+ <summary>
+ Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is
+ synchronized with the SyncRoot.
+ </summary>
+ <value>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized
+ (thread safe); otherwise, false. For <see
+ cref="T:System.Collections.Concurrent.ConcurrentDictionary{TKey,TValue}"/>, this property always
+ returns false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#SyncRoot">
+ <summary>
+ Gets an object that can be used to synchronize access to the <see
+ cref="T:System.Collections.ICollection"/>. This property is not supported.
+ </summary>
+ <exception cref="T:System.NotSupportedException">The SyncRoot property is not supported.</exception>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.DefaultConcurrencyLevel">
+ <summary>
+ The number of concurrent writes for which to optimize by default.
+ </summary>
+ </member>
+ <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2.Node">
+ <summary>
+ A node in a singly-linked list representing a particular hash table bucket.
+ </summary>
+ </member>
+ <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2.DictionaryEnumerator">
+ <summary>
+ A private class to represent enumeration over the dictionary that implements the
+ IDictionaryEnumerator interface.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncMethodBuilder">
+ <summary>Represents an asynchronous method builder.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.s_cachedCompleted">
+ <summary>A cached VoidTaskResult task used for builders that complete synchronously.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.m_builder">
+ <summary>The generic builder object to which this non-generic instance delegates.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetResult">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task"/> representing the builder's asynchronous operation.</returns>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore">
+ <summary>Holds state related to the builder's IAsyncStateMachine.</summary>
+ <remarks>This is a mutable struct. Be very delicate with it.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.m_stateMachine">
+ <summary>A reference to the heap-allocated state machine object associated with this builder.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.GetCompletionAction``2(``0@,``1@)">
+ <summary>
+ Gets the Action to use with an awaiter's OnCompleted or UnsafeOnCompleted method.
+ On first invocation, the supplied state machine will be boxed.
+ </summary>
+ <typeparam name="TMethodBuilder">Specifies the type of the method builder used.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine used.</typeparam>
+ <param name="builder">The builder.</param>
+ <param name="stateMachine">The state machine.</param>
+ <returns>An Action to provide to the awaiter.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner">
+ <summary>Provides the ability to invoke a state machine's MoveNext method under a supplied ExecutionContext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_context">
+ <summary>The context with which to run MoveNext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_stateMachine">
+ <summary>The state machine whose MoveNext method should be invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.#ctor(System.ExecutionContextLightup)">
+ <summary>Initializes the runner.</summary>
+ <param name="context">The context with which to run MoveNext.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run">
+ <summary>Invokes MoveNext under the provided context.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.s_invokeMoveNext">
+ <summary>Cached delegate used with ExecutionContext.Run.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(System.Object)">
+ <summary>Invokes the MoveNext method on the supplied IAsyncStateMachine.</summary>
+ <param name="stateMachine">The IAsyncStateMachine machine instance.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return void.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_synchronizationContext">
+ <summary>The synchronization context associated with this operation.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_objectIdForDebugger">
+ <summary>An object used by the debugger to uniquely identify this builder. Lazily initialized.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.PreventUnobservedTaskExceptions">
+ <summary>Registers with UnobservedTaskException to suppress exception crashing.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.s_preventUnobservedTaskExceptionsInvoked">
+ <summary>Non-zero if PreventUnobservedTaskExceptions has already been invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#ctor(System.Threading.SynchronizationContext)">
+ <summary>Initializes the <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <param name="synchronizationContext">The synchronizationContext associated with this operation. This may be null.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetResult">
+ <summary>Completes the method builder successfully.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetException(System.Exception)">
+ <summary>Faults the method builder with an exception.</summary>
+ <param name="exception">The exception that is the cause of this fault.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.NotifySynchronizationContextOfCompletion">
+ <summary>Notifies the current synchronization context that the operation completed.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger and only in a single-threaded manner.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task`1"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder{TResult} is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.s_defaultResultTask">
+ <summary>A cached task for default(TResult).</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_task">
+ <summary>The lazily-initialized task.</summary>
+ <remarks>Must be named m_task for debugger step-over to work correctly.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_taskCompletionSource">
+ <summary>The lazily-initialized task completion source.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(`0)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state with the specified result.
+ </summary>
+ <param name="result">The result to use to complete the task.</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(System.Threading.Tasks.TaskCompletionSource{`0})">
+ <summary>
+ Completes the builder by using either the supplied completed task, or by completing
+ the builder's previously accessed task using default(TResult).
+ </summary>
+ <param name="completedTask">A task already completed with the value default(TResult).</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ <remarks>
+ This should only be invoked from within an asynchronous method,
+ and only by the debugger.
+ </remarks>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.GetTaskForResult(`0)">
+ <summary>
+ Gets a task for the specified result. This will either
+ be a cached or new task, never null.
+ </summary>
+ <param name="result">The result for which we need a task.</param>
+ <returns>The completed task containing the result.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.CompletionSource">
+ <summary>Gets the lazily-initialized TaskCompletionSource.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task`1"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task`1"/> representing the builder's asynchronous operation.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1">
+ <summary>Provides a base class used to cache tasks of a specific return type.</summary>
+ <typeparam name="TResult">Specifies the type of results the cached tasks return.</typeparam>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.Singleton">
+ <summary>
+ A singleton cache for this result type.
+ This may be null if there are no cached tasks for this TResult.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCompleted(`0)">
+ <summary>Creates a non-disposable task.</summary>
+ <param name="result">The result for the task.</param>
+ <returns>The cacheable task.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCache">
+ <summary>Creates a cache.</summary>
+ <returns>A task cache for this result type.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.FromResult(`0)">
+ <summary>Gets a cached task if one exists.</summary>
+ <param name="result">The result for which we want a cached task.</param>
+ <returns>A cached task if one exists; otherwise, null.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache">
+ <summary>Provides a cache for Boolean tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_true">
+ <summary>A true task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_false">
+ <summary>A false task.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.FromResult(System.Boolean)">
+ <summary>Gets a cached task for the Boolean result.</summary>
+ <param name="result">true or false</param>
+ <returns>A cached task for the Boolean result.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache">
+ <summary>Provides a cache for zero Int32 tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.INCLUSIVE_INT32_MIN">
+ <summary>The minimum value, inclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.EXCLUSIVE_INT32_MAX">
+ <summary>The maximum value, exclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.Int32Tasks">
+ <summary>The cache of Task{Int32}.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.CreateInt32Tasks">
+ <summary>Creates an array of cached tasks for the values in the range [INCLUSIVE_MIN,EXCLUSIVE_MAX).</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.FromResult(System.Int32)">
+ <summary>Gets a cached task for the zero Int32 result.</summary>
+ <param name="result">The integer value</param>
+ <returns>A cached task for the Int32 result or null if not cached.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncStateMachine">
+ <summary>
+ Represents state machines generated for asynchronous methods.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.MoveNext">
+ <summary>Moves the state machine to its next state.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Configures the state machine with a heap-allocated replica.</summary>
+ <param name="stateMachine">The heap-allocated replica.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.ICriticalNotifyCompletion">
+ <summary>
+ Represents an awaiter used to schedule continuations when an await operation completes.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.INotifyCompletion">
+ <summary>
+ Represents an operation that will schedule continuations when the operation completes.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.INotifyCompletion.OnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.ICriticalNotifyCompletion.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <remarks>Unlike OnCompleted, UnsafeOnCompleted need not propagate ExecutionContext information.</remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.VoidTaskResult">
+ <summary>Used with Task(of void)</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.IThreadPoolWorkItem">
+ <summary>
+ An interface similar to the one added in .NET 4.0.
+ </summary>
+ </member>
+ <member name="T:System.OperationCanceledException">
+ <summary>The exception that is thrown in a thread upon cancellation of an operation that the thread was executing.</summary>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor">
+ <summary>Initializes the exception.</summary>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String,System.Exception)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.Threading.CancellationToken)">
+ <summary>Initializes the exception.</summary>
+ <param name="token">A cancellation token associated with the operation that was canceled.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String,System.Threading.CancellationToken)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="token">A cancellation token associated with the operation that was canceled.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String,System.Exception,System.Threading.CancellationToken)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ <param name="token">A cancellation token associated with the operation that was canceled.</param>
+ </member>
+ <member name="P:System.OperationCanceledException.CancellationToken">
+ <summary>Gets a token associated with the operation that was canceled.</summary>
+ </member>
+ <member name="T:System.Threading.StackCrawlMark">
+ <summary>
+ A dummy replacement for the .NET internal class StackCrawlMark.
+ </summary>
+ </member>
+ <member name="T:System.Threading.CancellationToken">
+ <summary>
+ Propogates notification that operations should be canceled.
+ </summary>
+ <remarks>
+ <para>
+ A <see cref="T:System.Threading.CancellationToken"/> may be created directly in an unchangeable canceled or non-canceled state
+ using the CancellationToken's constructors. However, to have a CancellationToken that can change
+ from a non-canceled to a canceled state,
+ <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> must be used.
+ CancellationTokenSource exposes the associated CancellationToken that may be canceled by the source through its
+ <see cref="P:System.Threading.CancellationTokenSource.Token">Token</see> property.
+ </para>
+ <para>
+ Once canceled, a token may not transition to a non-canceled state, and a token whose
+ <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> is false will never change to one that can be canceled.
+ </para>
+ <para>
+ All members of this struct are thread-safe and may be used concurrently from multiple threads.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationToken.#ctor(System.Threading.CancellationTokenSource)">
+ <summary>
+ Internal constructor only a CancellationTokenSource should create a CancellationToken
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationToken.#ctor(System.Boolean)">
+ <summary>
+ Initializes the <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <param name="canceled">
+ The canceled state for the token.
+ </param>
+ <remarks>
+ Tokens created with this constructor will remain in the canceled state specified
+ by the <paramref name="canceled"/> parameter. If <paramref name="canceled"/> is false,
+ both <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> and <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will be false.
+ If <paramref name="canceled"/> is true,
+ both <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> and <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will be true.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action)">
+ <summary>
+ Registers a delegate that will be called when this <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action,System.Boolean)">
+ <summary>
+ Registers a delegate that will be called when this
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <param name="useSynchronizationContext">A Boolean value that indicates whether to capture
+ the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see> and use it
+ when invoking the <paramref name="callback"/>.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action{System.Object},System.Object)">
+ <summary>
+ Registers a delegate that will be called when this
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <param name="state">The state to pass to the <paramref name="callback"/> when the delegate is invoked. This may be null.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action{System.Object},System.Object,System.Boolean)">
+ <summary>
+ Registers a delegate that will be called when this
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <param name="state">The state to pass to the <paramref name="callback"/> when the delegate is invoked. This may be null.</param>
+ <param name="useSynchronizationContext">A Boolean value that indicates whether to capture
+ the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see> and use it
+ when invoking the <paramref name="callback"/>.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Equals(System.Threading.CancellationToken)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
+ specified token.
+ </summary>
+ <param name="other">The other <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to which to compare this
+ instance.</param>
+ <returns>True if the instances are equal; otherwise, false. Two tokens are equal if they are associated
+ with the same <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> or if they were both constructed
+ from public CancellationToken constructors and their <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> values are equal.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Equals(System.Object)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
+ specified <see cref="T:System.Object"/>.
+ </summary>
+ <param name="other">The other object to which to compare this instance.</param>
+ <returns>True if <paramref name="other"/> is a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ and if the two instances are equal; otherwise, false. Two tokens are equal if they are associated
+ with the same <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> or if they were both constructed
+ from public CancellationToken constructors and their <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> values are equal.</returns>
+ <exception cref="T:System.ObjectDisposedException">An associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.GetHashCode">
+ <summary>
+ Serves as a hash function for a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <returns>A hash code for the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationToken.op_Equality(System.Threading.CancellationToken,System.Threading.CancellationToken)">
+ <summary>
+ Determines whether two <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances are equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are equal; otherwise, false.</returns>
+ <exception cref="T:System.ObjectDisposedException">An associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.op_Inequality(System.Threading.CancellationToken,System.Threading.CancellationToken)">
+ <summary>
+ Determines whether two <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances are not equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are not equal; otherwise, false.</returns>
+ <exception cref="T:System.ObjectDisposedException">An associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.ThrowIfCancellationRequested">
+ <summary>
+ Throws a <see cref="T:System.OperationCanceledException">OperationCanceledException</see> if
+ this token has had cancellation requested.
+ </summary>
+ <remarks>
+ This method provides functionality equivalent to:
+ <code>
+ if (token.IsCancellationRequested)
+ throw new OperationCanceledException(token);
+ </code>
+ </remarks>
+ <exception cref="T:System.OperationCanceledException">The token has had cancellation requested.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="P:System.Threading.CancellationToken.None">
+ <summary>
+ Returns an empty CancellationToken value.
+ </summary>
+ <remarks>
+ The <see cref="T:System.Threading.CancellationToken"/> value returned by this property will be non-cancelable by default.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationToken.IsCancellationRequested">
+ <summary>
+ Gets whether cancellation has been requested for this token.
+ </summary>
+ <value>Whether cancellation has been requested for this token.</value>
+ <remarks>
+ <para>
+ This property indicates whether cancellation has been requested for this token,
+ either through the token initially being construted in a canceled state, or through
+ calling <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see>
+ on the token's associated <see cref="T:System.Threading.CancellationTokenSource"/>.
+ </para>
+ <para>
+ If this property is true, it only guarantees that cancellation has been requested.
+ It does not guarantee that every registered handler
+ has finished executing, nor that cancellation requests have finished propagating
+ to all registered handlers. Additional synchronization may be required,
+ particularly in situations where related objects are being canceled concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationToken.CanBeCanceled">
+ <summary>
+ Gets whether this token is capable of being in the canceled state.
+ </summary>
+ <remarks>
+ If CanBeCanceled returns false, it is guaranteed that the token will never transition
+ into a canceled state, meaning that <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will never
+ return true.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationToken.WaitHandle">
+ <summary>
+ Gets a <see cref="T:System.Threading.WaitHandle"/> that is signaled when the token is canceled.</summary>
+ <remarks>
+ Accessing this property causes a <see cref="T:System.Threading.WaitHandle">WaitHandle</see>
+ to be instantiated. It is preferable to only use this property when necessary, and to then
+ dispose the associated <see cref="T:System.Threading.CancellationTokenSource"/> instance at the earliest opportunity (disposing
+ the source will dispose of this allocated handle). The handle should not be closed or disposed directly.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="T:System.Threading.CancellationTokenRegistration">
+ <summary>
+ Represents a callback delegate that has been registered with a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <remarks>
+ To unregister a callback, dispose the corresponding Registration instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.TryDeregister">
+ <summary>
+ Attempts to deregister the item. If it's already being run, this may fail.
+ Entails a full memory fence.
+ </summary>
+ <returns>True if the callback was found and deregistered, false otherwise.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.Dispose">
+ <summary>
+ Disposes of the registration and unregisters the target callback from the associated
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ If the target callback is currently executing this method will wait until it completes, except
+ in the degenerate cases where a callback method deregisters itself.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.op_Equality(System.Threading.CancellationTokenRegistration,System.Threading.CancellationTokenRegistration)">
+ <summary>
+ Determines whether two <see
+ cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see>
+ instances are equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are equal; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.op_Inequality(System.Threading.CancellationTokenRegistration,System.Threading.CancellationTokenRegistration)">
+ <summary>
+ Determines whether two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are not equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are not equal; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.Equals(System.Object)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instance is equal to the
+ specified <see cref="T:System.Object"/>.
+ </summary>
+ <param name="obj">The other object to which to compare this instance.</param>
+ <returns>True, if both this and <paramref name="obj"/> are equal. False, otherwise.
+ Two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are equal if
+ they both refer to the output of a single call to the same Register method of a
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.Equals(System.Threading.CancellationTokenRegistration)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
+ specified <see cref="T:System.Object"/>.
+ </summary>
+ <param name="other">The other <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> to which to compare this instance.</param>
+ <returns>True, if both this and <paramref name="other"/> are equal. False, otherwise.
+ Two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are equal if
+ they both refer to the output of a single call to the same Register method of a
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.GetHashCode">
+ <summary>
+ Serves as a hash function for a <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration.</see>.
+ </summary>
+ <returns>A hash code for the current <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instance.</returns>
+ </member>
+ <member name="T:System.Threading.CancellationTokenSource">
+ <summary>
+ Signals to a <see cref="T:System.Threading.CancellationToken"/> that it should be canceled.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.CancellationTokenSource"/> is used to instantiate a <see cref="T:System.Threading.CancellationToken"/>
+ (via the source's <see cref="P:System.Threading.CancellationTokenSource.Token">Token</see> property)
+ that can be handed to operations that wish to be notified of cancellation or that can be used to
+ register asynchronous operations for cancellation. That token may have cancellation requested by
+ calling to the source's <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see>
+ method.
+ </para>
+ <para>
+ All members of this class, except <see cref="M:System.Threading.CancellationTokenSource.Dispose">Dispose</see>, are thread-safe and may be used
+ concurrently from multiple threads.
+ </para>
+ </remarks>
+ </member>
+ <member name="F:System.Threading.CancellationTokenSource.m_threadIDExecutingCallbacks">
+ The ID of the thread currently executing the main body of CTS.Cancel()
+ this helps us to know if a call to ctr.Dispose() is running 'within' a cancellation callback.
+ This is updated as we move between the main thread calling cts.Cancel() and any syncContexts that are used to
+ actually run the callbacks.
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.#ctor">
+ <summary>
+ Initializes the <see cref="T:System.Threading.CancellationTokenSource"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.Cancel">
+ <summary>
+ Communicates a request for cancellation.
+ </summary>
+ <remarks>
+ <para>
+ The associated <see cref="T:System.Threading.CancellationToken"/> will be
+ notified of the cancellation and will transition to a state where
+ <see cref="P:System.Threading.CancellationToken.IsCancellationRequested">IsCancellationRequested</see> returns true.
+ Any callbacks or cancelable operations
+ registered with the <see cref="T:System.Threading.CancellationToken"/> will be executed.
+ </para>
+ <para>
+ Cancelable operations and callbacks registered with the token should not throw exceptions.
+ However, this overload of Cancel will aggregate any exceptions thrown into a <see cref="T:System.AggregateException"/>,
+ such that one callback throwing an exception will not prevent other registered callbacks from being executed.
+ </para>
+ <para>
+ The <see cref="T:System.Threading.ExecutionContext"/> that was captured when each callback was registered
+ will be reestablished when the callback is invoked.
+ </para>
+ </remarks>
+ <exception cref="T:System.AggregateException">An aggregate exception containing all the exceptions thrown
+ by the registered callbacks on the associated <see cref="T:System.Threading.CancellationToken"/>.</exception>
+ <exception cref="T:System.ObjectDisposedException">This <see cref="T:System.Threading.CancellationTokenSource"/> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.Cancel(System.Boolean)">
+ <summary>
+ Communicates a request for cancellation.
+ </summary>
+ <remarks>
+ <para>
+ The associated <see cref="T:System.Threading.CancellationToken"/> will be
+ notified of the cancellation and will transition to a state where
+ <see cref="P:System.Threading.CancellationToken.IsCancellationRequested">IsCancellationRequested</see> returns true.
+ Any callbacks or cancelable operations
+ registered with the <see cref="T:System.Threading.CancellationToken"/> will be executed.
+ </para>
+ <para>
+ Cancelable operations and callbacks registered with the token should not throw exceptions.
+ If <paramref name="throwOnFirstException"/> is true, an exception will immediately propagate out of the
+ call to Cancel, preventing the remaining callbacks and cancelable operations from being processed.
+ If <paramref name="throwOnFirstException"/> is false, this overload will aggregate any
+ exceptions thrown into a <see cref="T:System.AggregateException"/>,
+ such that one callback throwing an exception will not prevent other registered callbacks from being executed.
+ </para>
+ <para>
+ The <see cref="T:System.Threading.ExecutionContext"/> that was captured when each callback was registered
+ will be reestablished when the callback is invoked.
+ </para>
+ </remarks>
+ <param name="throwOnFirstException">Specifies whether exceptions should immediately propagate.</param>
+ <exception cref="T:System.AggregateException">An aggregate exception containing all the exceptions thrown
+ by the registered callbacks on the associated <see cref="T:System.Threading.CancellationToken"/>.</exception>
+ <exception cref="T:System.ObjectDisposedException">This <see cref="T:System.Threading.CancellationTokenSource"/> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.Dispose">
+ <summary>
+ Releases the resources used by this <see cref="T:System.Threading.CancellationTokenSource" />.
+ </summary>
+ <remarks>
+ This method is not thread-safe for any other concurrent calls.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.ThrowIfDisposed">
+ <summary>
+ Throws an exception if the source has been disposed.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.InternalGetStaticSource(System.Boolean)">
+ <summary>
+ InternalGetStaticSource()
+ </summary>
+ <param name="set">Whether the source should be set.</param>
+ <returns>A static source to be shared among multiple tokens.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.InternalRegister(System.Action{System.Object},System.Object,System.Threading.SynchronizationContext)">
+ <summary>
+ Registers a callback object. If cancellation has already occurred, the
+ callback will have been run by the time this method returns.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.NotifyCancellation(System.Boolean)">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(System.Boolean)">
+ <summary>
+ Invoke the Canceled event.
+ </summary>
+ <remarks>
+ The handlers are invoked synchronously in LIFO order.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.CreateLinkedTokenSource(System.Threading.CancellationToken,System.Threading.CancellationToken)">
+ <summary>
+ Creates a <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that will be in the canceled state
+ when any of the source tokens are in the canceled state.
+ </summary>
+ <param name="token1">The first <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to observe.</param>
+ <param name="token2">The second <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to observe.</param>
+ <returns>A <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that is linked
+ to the source tokens.</returns>
+ <exception cref="T:System.ObjectDisposedException">A <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with
+ one of the source tokens has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.CreateLinkedTokenSource(System.Threading.CancellationToken[])">
+ <summary>
+ Creates a <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that will be in the canceled state
+ when any of the source tokens are in the canceled state.
+ </summary>
+ <param name="tokens">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances to observe.</param>
+ <returns>A <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that is linked
+ to the source tokens.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="tokens"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">A <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with
+ one of the source tokens has been disposed.</exception>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.IsCancellationRequested">
+ <summary>
+ Gets whether cancellation has been requested for this <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see>.
+ </summary>
+ <value>Whether cancellation has been requested for this <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see>.</value>
+ <remarks>
+ <para>
+ This property indicates whether cancellation has been requested for this token source, such as
+ due to a call to its
+ <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see> method.
+ </para>
+ <para>
+ If this property returns true, it only guarantees that cancellation has been requested. It does not
+ guarantee that every handler registered with the corresponding token has finished executing, nor
+ that cancellation requests have finished propagating to all registered handlers. Additional
+ synchronization may be required, particularly in situations where related objects are being
+ canceled concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.IsCancellationCompleted">
+ <summary>
+ A simple helper to determine whether cancellation has finished.
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.IsDisposed">
+ <summary>
+ A simple helper to determine whether disposal has occured.
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.ThreadIDExecutingCallbacks">
+ <summary>
+ The ID of the thread that is running callbacks.
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.Token">
+ <summary>
+ Gets the <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ associated with this <see cref="T:System.Threading.CancellationTokenSource"/>.
+ </summary>
+ <value>The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ associated with this <see cref="T:System.Threading.CancellationTokenSource"/>.</value>
+ <exception cref="T:System.ObjectDisposedException">The token source has been
+ disposed.</exception>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.CanBeCanceled">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.WaitHandle">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.ExecutingCallback">
+ <summary>
+ The currently executing callback
+ </summary>
+ </member>
+ <member name="T:System.Threading.CancellationCallbackInfo">
+ <summary>
+ A helper class for collating the various bits of information required to execute
+ cancellation callbacks.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationCallbackInfo.ExecuteCallback">
+ <summary>
+ InternalExecuteCallbackSynchronously_GeneralPath
+ This will be called on the target synchronization context, however, we still need to restore the required execution context
+ </summary>
+ </member>
+ <member name="T:System.Threading.SparselyPopulatedArray`1">
+ <summary>
+ A sparsely populated array. Elements can be sparse and some null, but this allows for
+ lock-free additions and growth, and also for constant time removal (by nulling out).
+ </summary>
+ <typeparam name="T">The kind of elements contained within.</typeparam>
+ </member>
+ <member name="M:System.Threading.SparselyPopulatedArray`1.#ctor(System.Int32)">
+ <summary>
+ Allocates a new array with the given initial size.
+ </summary>
+ <param name="initialSize">How many array slots to pre-allocate.</param>
+ </member>
+ <member name="M:System.Threading.SparselyPopulatedArray`1.Add(`0)">
+ <summary>
+ Adds an element in the first available slot, beginning the search from the tail-to-head.
+ If no slots are available, the array is grown. The method doesn't return until successful.
+ </summary>
+ <param name="element">The element to add.</param>
+ <returns>Information about where the add happened, to enable O(1) deregistration.</returns>
+ </member>
+ <member name="P:System.Threading.SparselyPopulatedArray`1.Tail">
+ <summary>
+ The tail of the doubly linked list.
+ </summary>
+ </member>
+ <member name="T:System.Threading.SparselyPopulatedArrayAddInfo`1">
+ <summary>
+ A struct to hold a link to the exact spot in an array an element was inserted, enabling
+ constant time removal later on.
+ </summary>
+ </member>
+ <member name="T:System.Threading.SparselyPopulatedArrayFragment`1">
+ <summary>
+ A fragment of a sparsely populated array, doubly linked.
+ </summary>
+ <typeparam name="T">The kind of elements contained within.</typeparam>
+ </member>
+ <member name="T:System.Threading.LazyInitializer">
+ <summary>
+ Provides lazy initialization routines.
+ </summary>
+ <remarks>
+ These routines avoid needing to allocate a dedicated, lazy-initialization instance, instead using
+ references to ensure targets have been initialized as they are accessed.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@)">
+ <summary>
+ Initializes a target reference type with the type's default constructor if the target has not
+ already been initialized.
+ </summary>
+ <typeparam name="T">The refence type of the reference to be initialized.</typeparam>
+ <param name="target">A reference of type <typeparamref name="T"/> to initialize if it has not
+ already been initialized.</param>
+ <returns>The initialized reference of type <typeparamref name="T"/>.</returns>
+ <exception cref="T:System.MissingMemberException">Type <typeparamref name="T"/> does not have a default
+ constructor.</exception>
+ <exception cref="T:System.MemberAccessException">
+ Permissions to access the constructor of type <typeparamref name="T"/> were missing.
+ </exception>
+ <remarks>
+ <para>
+ This method may only be used on reference types. To ensure initialization of value
+ types, see other overloads of EnsureInitialized.
+ </para>
+ <para>
+ This method may be used concurrently by multiple threads to initialize <paramref name="target"/>.
+ In the event that multiple threads access this method concurrently, multiple instances of <typeparamref name="T"/>
+ may be created, but only one will be stored into <paramref name="target"/>. In such an occurrence, this method will not dispose of the
+ objects that were not stored. If such objects must be disposed, it is up to the caller to determine
+ if an object was not used and to then dispose of the object appropriately.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Func{``0})">
+ <summary>
+ Initializes a target reference type using the specified function if it has not already been
+ initialized.
+ </summary>
+ <typeparam name="T">The reference type of the reference to be initialized.</typeparam>
+ <param name="target">The reference of type <typeparamref name="T"/> to initialize if it has not
+ already been initialized.</param>
+ <param name="valueFactory">The <see cref="T:System.Func{T}"/> invoked to initialize the
+ reference.</param>
+ <returns>The initialized reference of type <typeparamref name="T"/>.</returns>
+ <exception cref="T:System.MissingMemberException">Type <typeparamref name="T"/> does not have a
+ default constructor.</exception>
+ <exception cref="T:System.InvalidOperationException"><paramref name="valueFactory"/> returned
+ null.</exception>
+ <remarks>
+ <para>
+ This method may only be used on reference types, and <paramref name="valueFactory"/> may
+ not return a null reference (Nothing in Visual Basic). To ensure initialization of value types or
+ to allow null reference types, see other overloads of EnsureInitialized.
+ </para>
+ <para>
+ This method may be used concurrently by multiple threads to initialize <paramref name="target"/>.
+ In the event that multiple threads access this method concurrently, multiple instances of <typeparamref name="T"/>
+ may be created, but only one will be stored into <paramref name="target"/>. In such an occurrence, this method will not dispose of the
+ objects that were not stored. If such objects must be disposed, it is up to the caller to determine
+ if an object was not used and to then dispose of the object appropriately.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitializedCore``1(``0@,System.Func{``0})">
+ <summary>
+ Initialize the target using the given delegate (slow path).
+ </summary>
+ <typeparam name="T">The reference type of the reference to be initialized.</typeparam>
+ <param name="target">The variable that need to be initialized</param>
+ <param name="valueFactory">The delegate that will be executed to initialize the target</param>
+ <returns>The initialized variable</returns>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Boolean@,System.Object@)">
+ <summary>
+ Initializes a target reference or value type with its default constructor if it has not already
+ been initialized.
+ </summary>
+ <typeparam name="T">The type of the reference to be initialized.</typeparam>
+ <param name="target">A reference or value of type <typeparamref name="T"/> to initialize if it
+ has not already been initialized.</param>
+ <param name="initialized">A reference to a boolean that determines whether the target has already
+ been initialized.</param>
+ <param name="syncLock">A reference to an object used as the mutually exclusive lock for initializing
+ <paramref name="target"/>.</param>
+ <returns>The initialized value of type <typeparamref name="T"/>.</returns>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Boolean@,System.Object@,System.Func{``0})">
+ <summary>
+ Initializes a target reference or value type with a specified function if it has not already been
+ initialized.
+ </summary>
+ <typeparam name="T">The type of the reference to be initialized.</typeparam>
+ <param name="target">A reference or value of type <typeparamref name="T"/> to initialize if it
+ has not already been initialized.</param>
+ <param name="initialized">A reference to a boolean that determines whether the target has already
+ been initialized.</param>
+ <param name="syncLock">A reference to an object used as the mutually exclusive lock for initializing
+ <paramref name="target"/>.</param>
+ <param name="valueFactory">The <see cref="T:System.Func{T}"/> invoked to initialize the
+ reference or value.</param>
+ <returns>The initialized value of type <typeparamref name="T"/>.</returns>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitializedCore``1(``0@,System.Boolean@,System.Object@,System.Func{``0})">
+ <summary>
+ Ensure the target is initialized and return the value (slow path). This overload permits nulls
+ and also works for value type targets. Uses the supplied function to create the value.
+ </summary>
+ <typeparam name="T">The type of target.</typeparam>
+ <param name="target">A reference to the target to be initialized.</param>
+ <param name="initialized">A reference to a location tracking whether the target has been initialized.</param>
+ <param name="syncLock">A reference to a location containing a mutual exclusive lock.</param>
+ <param name="valueFactory">
+ The <see cref="T:System.Func{T}"/> to invoke in order to produce the lazily-initialized value.
+ </param>
+ <returns>The initialized object.</returns>
+ </member>
+ <member name="T:System.Threading.ManualResetEventSlim">
+ <summary>
+ Provides a slimmed down version of <see cref="T:System.Threading.ManualResetEvent"/>.
+ </summary>
+ <remarks>
+ All public and protected members of <see cref="T:System.Threading.ManualResetEventSlim"/> are thread-safe and may be used
+ concurrently from multiple threads, with the exception of Dispose, which
+ must only be used when all other operations on the <see cref="T:System.Threading.ManualResetEventSlim"/> have
+ completed, and Reset, which should only be used when no other threads are
+ accessing the event.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
+ class with an initial state of nonsignaled.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.#ctor(System.Boolean)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
+ class with a Boolen value indicating whether to set the intial state to signaled.
+ </summary>
+ <param name="initialState">true to set the initial state signaled; false to set the initial state
+ to nonsignaled.</param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.#ctor(System.Boolean,System.Int32)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
+ class with a Boolen value indicating whether to set the intial state to signaled and a specified
+ spin count.
+ </summary>
+ <param name="initialState">true to set the initial state to signaled; false to set the initial state
+ to nonsignaled.</param>
+ <param name="spinCount">The number of spin waits that will occur before falling back to a true
+ wait.</param>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="spinCount"/> is less than
+ 0 or greater than the maximum allowed value.</exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Initialize(System.Boolean,System.Int32)">
+ <summary>
+ Initializes the internal state of the event.
+ </summary>
+ <param name="initialState">Whether the event is set initially or not.</param>
+ <param name="spinCount">The spin count that decides when the event will block.</param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.EnsureLockObjectCreated">
+ <summary>
+ Helper to ensure the lock object is created before first use.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.LazyInitializeEvent">
+ <summary>
+ This method lazily initializes the event object. It uses CAS to guarantee that
+ many threads racing to call this at once don't result in more than one event
+ being stored and used. The event will be signaled or unsignaled depending on
+ the state of the thin-event itself, with synchronization taken into account.
+ </summary>
+ <returns>True if a new event was created and stored, false otherwise.</returns>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Set">
+ <summary>
+ Sets the state of the event to signaled, which allows one or more threads waiting on the event to
+ proceed.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Set(System.Boolean)">
+ <summary>
+ Private helper to actually perform the Set.
+ </summary>
+ <param name="duringCancellation">Indicates whether we are calling Set() during cancellation.</param>
+ <exception cref="T:System.OperationCanceledException">The object has been canceled.</exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Reset">
+ <summary>
+ Sets the state of the event to nonsignaled, which causes threads to block.
+ </summary>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Reset"/> is not
+ thread-safe and may not be used concurrently with other members of this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ <remarks>
+ 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.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Threading.CancellationToken)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> receives a signal,
+ while observing a <see cref="T:System.Threading.CancellationToken"/>.
+ </summary>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
+ observe.</param>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ <exception cref="T:System.OperationCanceledExcepton"><paramref name="cancellationToken"/> was
+ canceled.</exception>
+ <remarks>
+ 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.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.TimeSpan)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ <see cref="T:System.TimeSpan"/> to measure the time interval.
+ </summary>
+ <param name="timeout">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>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
+ number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
+ than <see cref="F:System.Int32.MaxValue"/>.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.TimeSpan,System.Threading.CancellationToken)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ <see cref="T:System.TimeSpan"/> to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
+ </summary>
+ <param name="timeout">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">The <see cref="T:System.Threading.CancellationToken"/> to
+ observe.</param>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
+ number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
+ than <see cref="F:System.Int32.MaxValue"/>.</exception>
+ <exception cref="T:System.Threading.OperationCanceledException"><paramref name="cancellationToken"/> was canceled.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Int32)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ 32-bit signed integer to measure the time interval.
+ </summary>
+ <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
+ negative number other than -1, which represents an infinite time-out.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ 32-bit signed integer to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
+ </summary>
+ <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
+ observe.</param>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
+ negative number other than -1, which represents an infinite time-out.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ <exception cref="T:System.Threading.OperationCanceledException"><paramref name="cancellationToken"/> was canceled.</exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Dispose">
+ <summary>
+ Releases all resources used by the current instance of <see cref="T:System.Threading.ManualResetEventSlim"/>.
+ </summary>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Dispose"/> is not
+ thread-safe and may not be used concurrently with other members of this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Dispose(System.Boolean)">
+ <summary>
+ When overridden in a derived class, releases the unmanaged resources used by the
+ <see cref="T:System.Threading.ManualResetEventSlim"/>, and optionally releases the managed resources.
+ </summary>
+ <param name="disposing">true to release both managed and unmanaged resources;
+ false to release only unmanaged resources.</param>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Dispose(System.Boolean)"/> is not
+ thread-safe and may not be used concurrently with other members of this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.ThrowIfDisposed">
+ <summary>
+ Throw ObjectDisposedException if the MRES is disposed
+ </summary>
+ </member>
+ <member name="F:System.Threading.ManualResetEventSlim.s_cancellationTokenCallback">
+ <summary>
+ Private helper method to wake up waiters when a cancellationToken gets canceled.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.UpdateStateAtomically(System.Int32,System.Int32)">
+ <summary>
+ Private helper method for updating parts of a bit-string state value.
+ Mainly called from the IsSet and Waiters properties setters
+ </summary>
+ <remarks>
+ Note: the parameter types must be int as CompareExchange cannot take a Uint
+ </remarks>
+ <param name="newBits">The new value</param>
+ <param name="updateBitsMask">The mask used to set the bits</param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.ExtractStatePortionAndShiftRight(System.Int32,System.Int32,System.Int32)">
+ <summary>
+ Private helper method - performs Mask and shift, particular helpful to extract a field from a packed word.
+ eg ExtractStatePortionAndShiftRight(0x12345678, 0xFF000000, 24) => 0x12, ie extracting the top 8-bits as a simple integer
+
+ ?? is there a common place to put this rather than being private to MRES?
+ </summary>
+ <param name="state"></param>
+ <param name="mask"></param>
+ <param name="rightBitShiftCount"></param>
+ <returns></returns>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.ExtractStatePortion(System.Int32,System.Int32)">
+ <summary>
+ Performs a Mask operation, but does not perform the shift.
+ This is acceptable for boolean values for which the shift is unnecessary
+ eg (val &amp; Mask) != 0 is an appropriate way to extract a boolean rather than using
+ ((val &amp; Mask) &gt;&gt; shiftAmount) == 1
+
+ ?? is there a common place to put this rather than being private to MRES?
+ </summary>
+ <param name="state"></param>
+ <param name="mask"></param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.UpdateTimeOut(System.Int64,System.Int32)">
+ <summary>
+ Helper function to measure and update the wait time
+ </summary>
+ <param name="startTimeTicks"> The first time (in Ticks) observed when the wait started.</param>
+ <param name="originalWaitMillisecondsTimeout">The orginal wait timeoutout in milliseconds.</param>
+ <returns>The new wait time in milliseconds, -1 if the time expired, -2 if overflow in counters
+ has occurred.</returns>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.WaitHandle">
+ <summary>
+ Gets the underlying <see cref="T:System.Threading.WaitHandle"/> object for this <see cref="T:System.Threading.ManualResetEventSlim"/>.
+ </summary>
+ <value>The underlying <see cref="T:System.Threading.WaitHandle"/> event object fore this <see cref="T:System.Threading.ManualResetEventSlim"/>.</value>
+ <remarks>
+ Accessing this property forces initialization of an underlying event object if one hasn't
+ already been created. To simply wait on this <see cref="T:System.Threading.ManualResetEventSlim"/>,
+ the public Wait methods should be preferred.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.IsSet">
+ <summary>
+ Gets whether the event is set.
+ </summary>
+ <value>true if the event has is set; otherwise, false.</value>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.SpinCount">
+ <summary>
+ Gets the number of spin waits that will be occur before falling back to a true wait.
+ </summary>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.Waiters">
+ <summary>
+ How many threads are waiting.
+ </summary>
+ </member>
+ <member name="T:System.Threading.SpinWait">
+ <summary>
+ Provides support for spin-based waiting.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.SpinWait"/> encapsulates common spinning logic. On single-processor machines, yields are
+ always used instead of busy waits, and on computers with Intel™ processors employing Hyper-Threading™
+ technology, it helps to prevent hardware thread starvation. SpinWait encapsulates a good mixture of
+ spinning and true yielding.
+ </para>
+ <para>
+ <see cref="T:System.Threading.SpinWait"/> is a value type, which means that low-level code can utilize SpinWait without
+ fear of unnecessary allocation overheads. SpinWait is not generally useful for ordinary applications.
+ In most cases, you should use the synchronization classes provided by the .NET Framework, such as
+ <see cref="T:System.Threading.Monitor"/>. For most purposes where spin waiting is required, however,
+ the <see cref="T:System.Threading.SpinWait"/> type should be preferred over the System.Threading.Thread.SpinWait method.
+ </para>
+ <para>
+ While SpinWait is designed to be used in concurrent applications, it is not designed to be
+ used from multiple threads concurrently. SpinWait's members are not thread-safe. If multiple
+ threads must spin, each should use its own instance of SpinWait.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinOnce">
+ <summary>
+ Performs a single spin.
+ </summary>
+ <remarks>
+ This is typically called in a loop, and may change in behavior based on the number of times a
+ <see cref="M:System.Threading.SpinWait.SpinOnce"/> has been called thus far on this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.SpinWait.Reset">
+ <summary>
+ Resets the spin counter.
+ </summary>
+ <remarks>
+ This makes <see cref="M:System.Threading.SpinWait.SpinOnce"/> and <see cref="P:System.Threading.SpinWait.NextSpinWillYield"/> behave as though no calls
+ to <see cref="M:System.Threading.SpinWait.SpinOnce"/> had been issued on this instance. If a <see cref="T:System.Threading.SpinWait"/> instance
+ is reused many times, it may be useful to reset it to avoid yielding too soon.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean})">
+ <summary>
+ Spins until the specified condition is satisfied.
+ </summary>
+ <param name="condition">A delegate to be executed over and over until it returns true.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.TimeSpan)">
+ <summary>
+ Spins until the specified condition is satisfied or until the specified timeout is expired.
+ </summary>
+ <param name="condition">A delegate to be executed over and over until it returns true.</param>
+ <param name="timeout">
+ A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait,
+ or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
+ <returns>True if the condition is satisfied within the timeout; otherwise, false</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative number
+ other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.</exception>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.Int32)">
+ <summary>
+ Spins until the specified condition is satisfied or until the specified timeout is expired.
+ </summary>
+ <param name="condition">A delegate to be executed over and over until it returns true.</param>
+ <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
+ <returns>True if the condition is satisfied within the timeout; otherwise, false</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
+ negative number other than -1, which represents an infinite time-out.</exception>
+ </member>
+ <member name="P:System.Threading.SpinWait.Count">
+ <summary>
+ Gets the number of times <see cref="M:System.Threading.SpinWait.SpinOnce"/> has been called on this instance.
+ </summary>
+ </member>
+ <member name="P:System.Threading.SpinWait.NextSpinWillYield">
+ <summary>
+ Gets whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"/> will yield the processor, triggering a
+ forced context switch.
+ </summary>
+ <value>Whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"/> will yield the processor, triggering a
+ forced context switch.</value>
+ <remarks>
+ On a single-CPU machine, <see cref="M:System.Threading.SpinWait.SpinOnce"/> always yields the processor. On machines with
+ multiple CPUs, <see cref="M:System.Threading.SpinWait.SpinOnce"/> may yield after an unspecified number of calls.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.PlatformHelper">
+ <summary>
+ A helper class to get the number of preocessors, it updates the numbers of processors every sampling interval
+ </summary>
+ </member>
+ <member name="P:System.Threading.PlatformHelper.ProcessorCount">
+ <summary>
+ Gets the number of available processors
+ </summary>
+ </member>
+ <member name="P:System.Threading.PlatformHelper.IsSingleProcessor">
+ <summary>
+ Gets whether the current machine has only a single processor.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.Task`1">
+ <summary>
+ Represents an asynchronous operation that produces a result at some time in the future.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by this <see cref="T:System.Threading.Tasks.Task`1"/>.
+ </typeparam>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.Tasks.Task`1"/> instances may be created in a variety of ways. The most common approach is by
+ using the task's <see cref="P:System.Threading.Tasks.Task`1.Factory"/> property to retrieve a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance that can be used to create tasks for several
+ purposes. For example, to create a <see cref="T:System.Threading.Tasks.Task`1"/> that runs a function, the factory's StartNew
+ method may be used:
+ <code>
+ // C#
+ var t = Task&lt;int&gt;.Factory.StartNew(() =&gt; GenerateResult());
+ - or -
+ var t = Task.Factory.StartNew(() =&gt; GenerateResult());
+
+ ' Visual Basic
+ Dim t = Task&lt;int&gt;.Factory.StartNew(Function() GenerateResult())
+ - or -
+ Dim t = Task.Factory.StartNew(Function() GenerateResult())
+ </code>
+ </para>
+ <para>
+ The <see cref="T:System.Threading.Tasks.Task`1"/> class also provides constructors that initialize the task but that do not
+ schedule it for execution. For performance reasons, the StartNew method should be the
+ preferred mechanism for creating and scheduling computational tasks, but for scenarios where creation
+ and scheduling must be separated, the constructors may be used, and the task's
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see>
+ method may then be used to schedule the task for execution at a later time.
+ </para>
+ <para>
+ All members of <see cref="T:System.Threading.Tasks.Task`1"/>, except for
+ <see cref="M:System.Threading.Tasks.Task.Dispose">Dispose</see>, are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.Task">
+ <summary>
+ Represents an asynchronous operation.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.Tasks.Task"/> instances may be created in a variety of ways. The most common approach is by
+ using the Task type's <see cref="P:System.Threading.Tasks.Task.Factory"/> property to retrieve a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance that can be used to create tasks for several
+ purposes. For example, to create a <see cref="T:System.Threading.Tasks.Task"/> that runs an action, the factory's StartNew
+ method may be used:
+ <code>
+ // C#
+ var t = Task.Factory.StartNew(() =&gt; DoAction());
+
+ ' Visual Basic
+ Dim t = Task.Factory.StartNew(Function() DoAction())
+ </code>
+ </para>
+ <para>
+ The <see cref="T:System.Threading.Tasks.Task"/> class also provides constructors that initialize the Task but that do not
+ schedule it for execution. For performance reasons, TaskFactory's StartNew method should be the
+ preferred mechanism for creating and scheduling computational tasks, but for scenarios where creation
+ and scheduling must be separated, the constructors may be used, and the task's <see cref="M:System.Threading.Tasks.Task.Start"/>
+ method may then be used to schedule the task for execution at a later time.
+ </para>
+ <para>
+ All members of <see cref="T:System.Threading.Tasks.Task"/>, except for <see cref="M:System.Threading.Tasks.Task.Dispose"/>, are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ <para>
+ For operations that return values, the <see cref="T:System.Threading.Tasks.Task`1"/> class
+ should be used.
+ </para>
+ <para>
+ For developers implementing custom debuggers, several internal and private members of Task may be
+ useful (these may change from release to release). The Int32 m_taskId field serves as the backing
+ store for the <see cref="P:System.Threading.Tasks.Task.Id"/> property, however accessing this field directly from a debugger may be
+ more efficient than accessing the same value through the property's getter method (the
+ s_taskIdCounter Int32 counter is used to retrieve the next available ID for a Task). Similarly, the
+ Int32 m_stateFlags field stores information about the current lifecycle stage of the Task,
+ information also accessible through the <see cref="P:System.Threading.Tasks.Task.Status"/> property. The m_action System.Object
+ field stores a reference to the Task's delegate, and the m_stateObject System.Object field stores the
+ async state passed to the Task by the developer. Finally, for debuggers that parse stack frames, the
+ InternalWait method serves a potential marker for when a Task is entering a wait operation.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#cctor">
+ <summary>
+ A type initializer that runs with the appropriate permissions.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the Task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the Task.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new Task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and creation options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and creation options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and state.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Object,System.Object,System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ An internal constructor used by the factory methods on task and its descendent(s).
+ This variant does not capture the ExecutionContext; it is up to the caller to do that.
+ </summary>
+ <param name="action">An action to execute.</param>
+ <param name="state">Optional state to pass to the action.</param>
+ <param name="parent">Parent of Task.</param>
+ <param name="cancellationToken">A CancellationToken for the task.</param>
+ <param name="scheduler">A task scheduler under which the task will run.</param>
+ <param name="creationOptions">Options to control its execution.</param>
+ <param name="internalOptions">Internal options to control its execution</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.TaskConstructorCore(System.Object,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Common logic used by the following internal ctors:
+ Task()
+ Task(object action, object state, Task parent, TaskCreationOptions options, TaskScheduler taskScheduler)
+
+ ASSUMES THAT m_creatingTask IS ALREADY SET.
+
+ </summary>
+ <param name="action">Action for task to execute.</param>
+ <param name="state">Object to which to pass to action (may be null)</param>
+ <param name="scheduler">Task scheduler on which to run thread (only used by continuation tasks).</param>
+ <param name="cancellationToken">A CancellationToken for the Task.</param>
+ <param name="creationOptions">Options to customize behavior of Task.</param>
+ <param name="internalOptions">Internal options to customize behavior of Task.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.DeregisterCancellationCallback">
+ <summary>
+ Checks if we registered a CT callback during construction, and deregisters it.
+ This should be called when we know the registration isn't useful anymore. Specifically from Finish() if the task has completed
+ successfully or with an exception.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.PossiblyCaptureContext(System.Threading.StackCrawlMark@)">
+ <summary>
+ Captures the ExecutionContext so long as flow isn't suppressed.
+ </summary>
+ <param name="stackMark">A stack crawl mark pointing to the frame of the caller.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddNewChild">
+ <summary>
+ Internal function that will be called by a new child task to add itself to
+ the children list of the parent (this).
+
+ Since a child task can only be created from the thread executing the action delegate
+ of this task, reentrancy is neither required nor supported. This should not be called from
+ anywhere other than the task construction/initialization codepaths.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Start">
+ <summary>
+ Starts the <see cref="T:System.Threading.Tasks.Task"/>, scheduling it for execution to the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </summary>
+ <remarks>
+ A task may only be started and run only once. Any attempts to schedule a task a second time
+ will result in an exception.
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Start(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Starts the <see cref="T:System.Threading.Tasks.Task"/>, scheduling it for execution to the specified <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </summary>
+ <remarks>
+ A task may only be started and run only once. Any attempts to schedule a task a second time will
+ result in an exception.
+ </remarks>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> with which to associate
+ and execute this task.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.RunSynchronously">
+ <summary>
+ Runs the <see cref="T:System.Threading.Tasks.Task"/> synchronously on the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </summary>
+ <remarks>
+ <para>
+ A task may only be started and run only once. Any attempts to schedule a task a second time will
+ result in an exception.
+ </para>
+ <para>
+ Tasks executed with <see cref="M:System.Threading.Tasks.Task.RunSynchronously"/> will be associated with the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </para>
+ <para>
+ If the target scheduler does not support running this Task on the current thread, the Task will
+ be scheduled for execution on the scheduler, and the current thread will block until the
+ Task has completed execution.
+ </para>
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.RunSynchronously(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Runs the <see cref="T:System.Threading.Tasks.Task"/> synchronously on the <see cref="T:System.Threading.Tasks.TaskScheduler">scheduler</see> provided.
+ </summary>
+ <remarks>
+ <para>
+ A task may only be started and run only once. Any attempts to schedule a task a second time will
+ result in an exception.
+ </para>
+ <para>
+ If the target scheduler does not support running this Task on the current thread, the Task will
+ be scheduled for execution on the scheduler, and the current thread will block until the
+ Task has completed execution.
+ </para>
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="scheduler"/> parameter
+ is null.</exception>
+ <param name="scheduler">The scheduler on which to attempt to run this task inline.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ThrowIfDisposed">
+ <summary>
+ Throws an exception if the task has been disposed, and hence can no longer be accessed.
+ </summary>
+ <exception cref="T:System.ObjectDisposedException">The task has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.SetCompleted">
+ <summary>
+ Sets the internal completion event.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Dispose">
+ <summary>
+ Disposes the <see cref="T:System.Threading.Tasks.Task"/>, releasing all of its unmanaged resources.
+ </summary>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.Tasks.Task"/>, this method is not thread-safe.
+ Also, <see cref="M:System.Threading.Tasks.Task.Dispose"/> may only be called on a <see cref="T:System.Threading.Tasks.Task"/> that is in one of
+ the final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The exception that is thrown if the <see cref="T:System.Threading.Tasks.Task"/> is not in
+ one of the final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Dispose(System.Boolean)">
+ <summary>
+ Disposes the <see cref="T:System.Threading.Tasks.Task"/>, releasing all of its unmanaged resources.
+ </summary>
+ <param name="disposing">
+ A Boolean value that indicates whether this method is being called due to a call to <see cref="M:System.Threading.Tasks.Task.Dispose"/>.
+ </param>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.Tasks.Task"/>, this method is not thread-safe.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ScheduleAndStart(System.Boolean)">
+ <summary>
+ Schedules the task for execution.
+ </summary>
+ <param name="needsProtection">If true, TASK_STATE_STARTED bit is turned on in
+ an atomic fashion, making sure that TASK_STATE_CANCELED does not get set
+ underneath us. If false, TASK_STATE_STARTED bit is OR-ed right in. This
+ allows us to streamline things a bit for StartNew(), where competing cancellations
+ are not a problem.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddException(System.Object)">
+ <summary>
+ Adds an exception to the list of exceptions this task has thrown.
+ </summary>
+ <param name="exceptionObject">An object representing either an Exception or a collection of Exceptions.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.GetExceptions(System.Boolean)">
+ <summary>
+ Returns a list of exceptions by aggregating the holder's contents. Or null if
+ no exceptions have been thrown.
+ </summary>
+ <param name="includeTaskCanceledExceptions">Whether to include a TCE if cancelled.</param>
+ <returns>An aggregate exception, or null if no exceptions have been caught.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ThrowIfExceptional(System.Boolean)">
+ <summary>
+ Throws an aggregate exception if the task contains exceptions.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.UpdateExceptionObservedStatus">
+ <summary>
+ Checks whether this is an attached task, and whether we are being called by the parent task.
+ And sets the TASK_STATE_EXCEPTIONOBSERVEDBYPARENT status flag based on that.
+
+ This is meant to be used internally when throwing an exception, and when WaitAll is gathering
+ exceptions for tasks it waited on. If this flag gets set, the implicit wait on children
+ will skip exceptions to prevent duplication.
+
+ This should only be called when this task has completed with an exception
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Finish(System.Boolean)">
+ <summary>
+ Signals completion of this particular task.
+
+ The bUserDelegateExecuted parameter indicates whether this Finish() call comes following the
+ full execution of the user delegate.
+
+ If bUserDelegateExecuted is false, it mean user delegate wasn't invoked at all (either due to
+ a cancellation request, or because this task is a promise style Task). In this case, the steps
+ involving child tasks (i.e. WaitForChildren) will be skipped.
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishStageTwo">
+ <summary>
+ FinishStageTwo is to be executed as soon as we known there are no more children to complete.
+ It can happen i) either on the thread that originally executed this task (if no children were spawned, or they all completed by the time this task's delegate quit)
+ ii) or on the thread that executed the last child.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishStageThree">
+ <summary>
+ Final stage of the task completion code path. Notifies the parent (if any) that another of its childre are done, and runs continuations.
+ This function is only separated out from FinishStageTwo because these two operations are also needed to be called from CancellationCleanupLogic()
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ProcessChildCompletion(System.Threading.Tasks.Task)">
+ <summary>
+ This is called by children of this task when they are completed.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddExceptionsFromChildren">
+ <summary>
+ This is to be called just before the task does its final state transition.
+ It traverses the list of exceptional children, and appends their aggregate exceptions into this one's exception list
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishThreadAbortedTask(System.Boolean,System.Boolean)">
+ <summary>
+ Special purpose Finish() entry point to be used when the task delegate throws a ThreadAbortedException
+ This makes a note in the state flags so that we avoid any costly synchronous operations in the finish codepath
+ such as inlined continuations
+ </summary>
+ <param name="bTAEAddedToExceptionHolder">
+ Indicates whether the ThreadAbortException was added to this task's exception holder.
+ This should always be true except for the case of non-root self replicating task copies.
+ </param>
+ <param name="delegateRan">Whether the delegate was executed.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Execute">
+ <summary>
+ Executes the task. This method will only be called once, and handles bookeeping associated with
+ self-replicating tasks, in addition to performing necessary exception marshaling.
+ </summary>
+ <exception cref="T:System.ObjectDisposedException">The task has already been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.System#Threading#Tasks#IThreadPoolWorkItem#ExecuteWorkItem">
+ <summary>
+ IThreadPoolWorkItem override, which is the entry function for this task when the TP scheduler decides to run it.
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ExecuteEntry(System.Boolean)">
+ <summary>
+ Outermost entry function to execute this task. Handles all aspects of executing a task on the caller thread.
+ Currently this is called by IThreadPoolWorkItem.ExecuteWorkItem(), and TaskManager.TryExecuteInline.
+
+ </summary>
+ <param name="bPreventDoubleExecution"> Performs atomic updates to prevent double execution. Should only be set to true
+ in codepaths servicing user provided TaskSchedulers. The ConcRT or ThreadPool schedulers don't need this. </param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InnerInvoke">
+ <summary>
+ The actual code which invokes the body of the task. This can be overriden in derived types.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task)">
+ <summary>
+ Alternate InnerInvoke prototype to be called from ExecuteSelfReplicating() so that
+ the Parallel Debugger can discover the actual task being invoked.
+ Details: Here, InnerInvoke is actually being called on the rootTask object while we are actually executing the
+ childTask. And the debugger needs to discover the childTask, so we pass that down as an argument.
+ The NoOptimization and NoInlining flags ensure that the childTask pointer is retained, and that this
+ function appears on the callstack.
+ </summary>
+ <param name="childTask"></param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.HandleException(System.Exception)">
+ <summary>
+ Performs whatever handling is necessary for an unhandled exception. Normally
+ this just entails adding the exception to the holder object.
+ </summary>
+ <param name="unhandledException">The exception that went unhandled.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during
+ the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.TimeSpan)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="timeout">
+ 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>
+ <returns>
+ true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise, false.
+ </returns>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="timeout"/> is a negative number other than -1 milliseconds, which represents an
+ infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.Threading.CancellationToken)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the task to complete.
+ </param>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.Int32)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.</param>
+ <returns>true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise,
+ false.
+ </returns>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the task to complete.
+ </param>
+ <returns>
+ true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise, false.
+ </returns>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InternalWait(System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ The core wait function, which is only accesible internally. It's meant to be used in places in TPL code where
+ the current context is known or cached.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InternalCancel(System.Boolean)">
+ <summary>
+ Cancels the <see cref="T:System.Threading.Tasks.Task"/>.
+ </summary>
+ <param name="bCancelNonExecutingOnly"> Indiactes whether we should only cancel non-invoked tasks.
+ For the default scheduler this option will only be serviced through TryDequeue.
+ For custom schedulers we also attempt an atomic state transition.</param>
+ <returns>true if the task was successfully canceled; otherwise, false.</returns>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.SetCancellationAcknowledged">
+ <summary>
+ Sets the task's cancellation acknowledged flag.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishContinuations">
+ <summary>
+ Runs all of the continuations, as appropriate.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWithIsRightKind(System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Helper function to determine whether the current task is in the state desired by the
+ continuation kind under evaluation. Three possibilities exist: the task failed with
+ an unhandled exception (OnFailed), the task was canceled before running (OnAborted),
+ or the task completed successfully (OnCompletedSuccessfully). Note that the last
+ one includes completing due to cancellation.
+ </summary>
+ <param name="options">The continuation options under evaluation.</param>
+ <returns>True if the continuation should be run given the task's current state.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken"> The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
+ instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
+ are not met, the continuation task will be canceled instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
+ instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
+ are not met, the continuation task will be canceled instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.CreationOptionsFromContinuationOptions(System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskCreationOptions@,System.Threading.Tasks.InternalTaskOptions@)">
+ <summary>
+ Converts TaskContinuationOptions to TaskCreationOptions, and also does
+ some validity checking along the way.
+ </summary>
+ <param name="continuationOptions">Incoming TaskContinuationOptions</param>
+ <param name="creationOptions">Outgoing TaskCreationOptions</param>
+ <param name="internalOptions">Outgoing InternalTaskOptions</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Registers the continuation and possibly runs it (if the task is already finished).
+ </summary>
+ <param name="continuationTask">The continuation task itself.</param>
+ <param name="scheduler">TaskScheduler with which to associate continuation task.</param>
+ <param name="options">Restrictions on when the continuation becomes active.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[])">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.TimeSpan)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="timeout">
+ 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>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="timeout"/> is a negative number other than -1 milliseconds, which represents an
+ infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Int32)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.</param>
+ <param name="tasks">An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Threading.CancellationToken)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the tasks to complete.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the tasks to complete.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAllSTAAnd64Aware(System.Threading.WaitHandle[],System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for a set of handles in a STA-aware way. In other words, it will wait for each
+ of the events individually if we're on a STA thread, because MsgWaitForMultipleObjectsEx
+ can't do a true wait-all due to its hidden message queue event. This is not atomic,
+ of course, but we only wait on one-way (MRE) events anyway so this is OK.
+ </summary>
+ <param name="waitHandles">An array of wait handles to wait on.</param>
+ <param name="millisecondsTimeout">The timeout to use during waits.</param>
+ <param name="cancellationToken">The cancellationToken that enables a wait to be canceled.</param>
+ <returns>True if all waits succeeded, false if a timeout occurred.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FastWaitAll(System.Threading.Tasks.Task[])">
+ <summary>
+ Internal WaitAll implementation which is meant to be used with small number of tasks,
+ optimized for Parallel.Invoke and other structured primitives.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddExceptionsForCompletedTask(System.Collections.Generic.List{System.Exception}@,System.Threading.Tasks.Task)">
+ <summary>
+ This internal function is only meant to be called by WaitAll()
+ If the completed task is canceled or it has other exceptions, here we will add those
+ into the passed in exception list (which will be lazily initialized here).
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[])">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <returns>The index of the completed task in the <paramref name="tasks"/> array argument.</returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.TimeSpan)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="timeout">
+ 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>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
+ timeout occurred.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="timeout"/> is a negative number other than -1 milliseconds, which represents an
+ infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Threading.CancellationToken)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for a task to complete.
+ </param>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Int32)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
+ timeout occurred.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for a task to complete.
+ </param>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
+ timeout occurred.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Id">
+ <summary>
+ Gets a unique ID for this <see cref="T:System.Threading.Tasks.Task">Task</see> instance.
+ </summary>
+ <remarks>
+ Task IDs are assigned on-demand and do not necessarily represent the order in the which Task
+ instances were created.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CurrentId">
+ <summary>
+ Returns the unique ID of the currently executing <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.InternalCurrent">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.Task">Task</see> instance currently executing, or
+ null if none exists.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Exception">
+ <summary>
+ Gets the <see cref="T:System.AggregateException">Exception</see> that caused the <see cref="T:System.Threading.Tasks.Task">Task</see> to end prematurely. If the <see cref="T:System.Threading.Tasks.Task">Task</see> completed successfully or has not yet thrown any
+ exceptions, this will return null.
+ </summary>
+ <remarks>
+ Tasks that throw unhandled exceptions store the resulting exception and propagate it wrapped in a
+ <see cref="T:System.AggregateException"/> in calls to <see cref="M:System.Threading.Tasks.Task.Wait">Wait</see>
+ or in accesses to the <see cref="P:System.Threading.Tasks.Task.Exception"/> property. Any exceptions not observed by the time
+ the Task instance is garbage collected will be propagated on the finalizer thread.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task">Task</see>
+ has been disposed.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Status">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> of this Task.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCanceled">
+ <summary>
+ Gets whether this <see cref="T:System.Threading.Tasks.Task">Task</see> instance has completed
+ execution due to being canceled.
+ </summary>
+ <remarks>
+ A <see cref="T:System.Threading.Tasks.Task">Task</see> will complete in Canceled state either if its <see cref="P:System.Threading.Tasks.Task.CancellationToken">CancellationToken</see>
+ was marked for cancellation before the task started executing, or if the task acknowledged the cancellation request on
+ its already signaled CancellationToken by throwing an
+ <see cref="T:System.OperationCanceledException">OperationCanceledException2</see> that bears the same
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCancellationRequested">
+ <summary>
+ Returns true if this task has a cancellation token and it was signaled.
+ To be used internally in execute entry codepaths.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CancellationToken">
+ <summary>
+ This internal property provides access to the CancellationToken that was set on the task
+ when it was constructed.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCancellationAcknowledged">
+ <summary>
+ Gets whether this <see cref="T:System.Threading.Tasks.Task"/> threw an OperationCanceledException2 while its CancellationToken was signaled.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCompleted">
+ <summary>
+ Gets whether this <see cref="T:System.Threading.Tasks.Task">Task</see> has completed.
+ </summary>
+ <remarks>
+ <see cref="P:System.Threading.Tasks.Task.IsCompleted"/> will return true when the Task is in one of the three
+ final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsDisposed">
+ <summary>
+ Checks whether this task has been disposed.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CreationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used
+ to create this task.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.System#IAsyncResult#AsyncWaitHandle">
+ <summary>
+ Gets a <see cref="T:System.Threading.WaitHandle"/> that can be used to wait for the task to
+ complete.
+ </summary>
+ <remarks>
+ Using the wait functionality provided by <see cref="M:System.Threading.Tasks.Task.Wait"/>
+ should be preferred over using <see cref="P:System.IAsyncResult.AsyncWaitHandle"/> for similar
+ functionality.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.AsyncState">
+ <summary>
+ Gets the state object supplied when the <see cref="T:System.Threading.Tasks.Task">Task</see> was created,
+ or null if none was supplied.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.System#IAsyncResult#CompletedSynchronously">
+ <summary>
+ Gets an indication of whether the asynchronous operation completed synchronously.
+ </summary>
+ <value>true if the asynchronous operation completed synchronously; otherwise, false.</value>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.ExecutingTaskScheduler">
+ <summary>
+ Provides access to the TaskScheduler responsible for executing this Task.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Factory">
+ <summary>
+ Provides access to factory methods for creating <see cref="T:System.Threading.Tasks.Task"/> and <see cref="T:System.Threading.Tasks.Task`1"/> instances.
+ </summary>
+ <remarks>
+ The factory returned from <see cref="P:System.Threading.Tasks.Task.Factory"/> is a default instance
+ of <see cref="T:System.Threading.Tasks.TaskFactory"/>, as would result from using
+ the default constructor on TaskFactory.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CompletedEvent">
+ <summary>
+ Provides an event that can be used to wait for completion.
+ Only called by Wait*(), which means that we really do need to instantiate a completion event.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsSelfReplicatingRoot">
+ <summary>
+ Determines whether this is the root task of a self replicating group.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsChildReplica">
+ <summary>
+ Determines whether the task is a replica itself.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.ExceptionRecorded">
+ <summary>
+ The property formerly known as IsFaulted.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsFaulted">
+ <summary>
+ Gets whether the <see cref="T:System.Threading.Tasks.Task"/> completed due to an unhandled exception.
+ </summary>
+ <remarks>
+ If <see cref="P:System.Threading.Tasks.Task.IsFaulted"/> is true, the Task's <see cref="P:System.Threading.Tasks.Task.Status"/> will be equal to
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">TaskStatus.Faulted</see>, and its
+ <see cref="P:System.Threading.Tasks.Task.Exception"/> property will be non-null.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsExceptionObservedByParent">
+ <summary>
+ Checks whether the TASK_STATE_EXCEPTIONOBSERVEDBYPARENT status flag is set,
+ This will only be used by the implicit wait to prevent double throws
+
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsDelegateInvoked">
+ <summary>
+ Checks whether the body was ever invoked. Used by task scheduler code to verify custom schedulers actually ran the task.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.Task.TaskContinuation">
+ <summary>
+ A structure to hold continuation information.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.TaskContinuation.#ctor(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Constructs a new continuation structure.
+ </summary>
+ <param name="task">The task to be activated.</param>
+ <param name="options">The continuation options.</param>
+ <param name="scheduler">The scheduler to use for the continuation.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.TaskContinuation.Run(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>
+ Invokes the continuation for the target completion task.
+ </summary>
+ <param name="completedTask">The completed task.</param>
+ <param name="bCanInlineContinuationTask">Whether the continuation can be inlined.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0})">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to this task.</param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and creation options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and creation options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and state.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the function.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to the new task.</param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the function.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the function.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a new future object.
+ </summary>
+ <param name="parent">The parent task for this future.</param>
+ <param name="valueSelector">A function that yields the future value.</param>
+ <param name="scheduler">The task scheduler which will be used to execute the future.</param>
+ <param name="cancellationToken">The CancellationToken for the task.</param>
+ <param name="creationOptions">Options to control the future's behavior.</param>
+ <param name="internalOptions">Internal options to control the future's behavior.</param>
+ <exception cref="T:ArgumentOutOfRangeException">The <paramref name="creationOptions"/> argument specifies
+ a SelfReplicating <see cref="T:System.Threading.Tasks.Task`1"/>, which is illegal."/&gt;.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a new future object.
+ </summary>
+ <param name="parent">The parent task for this future.</param>
+ <param name="state">An object containing data to be used by the action; may be null.</param>
+ <param name="valueSelector">A function that yields the future value.</param>
+ <param name="cancellationToken">The CancellationToken for the task.</param>
+ <param name="scheduler">The task scheduler which will be used to execute the future.</param>
+ <param name="creationOptions">Options to control the future's behavior.</param>
+ <param name="internalOptions">Internal options to control the future's behavior.</param>
+ <exception cref="T:ArgumentOutOfRangeException">The <paramref name="creationOptions"/> argument specifies
+ a SelfReplicating <see cref="T:System.Threading.Tasks.Task`1"/>, which is illegal."/&gt;.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.InvokeFuture(System.Object)">
+ <summary>
+ Evaluates the value selector of the Task which is passed in as an object and stores the result.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
+ instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
+ are not met, the continuation task will be canceled instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
+ task has completed, whether it completes due to running to completion successfully, faulting due
+ to an unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
+ task has completed, whether it completes due to running to completion successfully, faulting due
+ to an unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ <para>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
+ task has completed, whether it completes due to running to completion successfully, faulting due
+ to an unhandled exception, or exiting out early due to being canceled.
+ </para>
+ <para>
+ The <paramref name="continuationFunction"/>, when executed, should return a <see cref="T:System.Threading.Tasks.Task`1"/>. This task's completion state will be transferred to the task returned
+ from the ContinueWith call.
+ </para>
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be passed as
+ an argument this completed task.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ <para>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </para>
+ <para>
+ The <paramref name="continuationFunction"/>, when executed, should return a <see cref="T:System.Threading.Tasks.Task`1"/>.
+ This task's completion state will be transferred to the task returned from the
+ ContinueWith call.
+ </para>
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task`1.Result">
+ <summary>
+ Gets the result value of this <see cref="T:System.Threading.Tasks.Task`1"/>.
+ </summary>
+ <remarks>
+ The get accessor for this property ensures that the asynchronous operation is complete before
+ returning. Once the result of the computation is available, it is stored and will be returned
+ immediately on later calls to <see cref="P:System.Threading.Tasks.Task`1.Result"/>.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task`1.Factory">
+ <summary>
+ Provides access to factory methods for creating <see cref="T:System.Threading.Tasks.Task`1"/> instances.
+ </summary>
+ <remarks>
+ The factory returned from <see cref="P:System.Threading.Tasks.Task`1.Factory"/> is a default instance
+ of <see cref="T:System.Threading.Tasks.TaskFactory`1"/>, as would result from using
+ the default constructor on the factory type.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskFactory`1">
+ <summary>
+ Provides support for creating and scheduling
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task{TResult}</see> objects.
+ </summary>
+ <typeparam name="TResult">The type of the results that are available though
+ the <see cref="T:System.Threading.Tasks.Task{TResult}">Task{TResult}</see> objects that are associated with
+ the methods in this class.</typeparam>
+ <remarks>
+ <para>
+ There are many common patterns for which tasks are relevant. The <see cref="T:System.Threading.Tasks.TaskFactory`1"/>
+ class encodes some of these patterns into methods that pick up default settings, which are
+ configurable through its constructors.
+ </para>
+ <para>
+ A default instance of <see cref="T:System.Threading.Tasks.TaskFactory`1"/> is available through the
+ <see cref="P:System.Threading.Tasks.Task`1.Factory">Task{TResult}.Factory</see> property.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the default configuration.
+ </summary>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.CancellationToken)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the default configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
+ </summary>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any tasks created with this TaskFactory{TResult}. A null value
+ indicates that the current TaskScheduler should be used.
+ </param>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to <paramref name="scheduler"/>, unless it's null, in which case the property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
+ </summary>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory{TResult}.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory{TResult}.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argument specifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory{TResult}.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory{TResult}.
+ </param>
+ <param name="scheduler">
+ The default <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any Tasks created with this TaskFactory{TResult}. A null value
+ indicates that TaskScheduler.Current should be used.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argumentspecifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to
+ <paramref name="scheduler"/>, unless it's null, in which case the property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0})">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0})">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref name="asyncResult"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the task that executes the end method.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,``2,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref
+ name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.CancellationToken">
+ <summary>
+ Gets the default <see cref="T:System.Threading.CancellationToken">CancellationToken</see> of this
+ TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to all
+ tasks created by this factory unless another CancellationToken value is explicitly specified
+ during the call to the factory methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.Scheduler">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> of this
+ TaskFactory{TResult}.
+ </summary>
+ <remarks>
+ This property returns the default scheduler for this factory. It will be used to schedule all
+ tasks unless another scheduler is explicitly specified during calls to this factory's methods.
+ If null, <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>
+ will be used.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.CreationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions
+ </see> value of this TaskFactory{TResult}.
+ </summary>
+ <remarks>
+ This property returns the default creation options for this factory. They will be used to create all
+ tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.ContinuationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskContinuationOptions
+ </see> value of this TaskFactory{TResult}.
+ </summary>
+ <remarks>
+ This property returns the default continuation options for this factory. They will be used to create
+ all continuation tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskStatus">
+ <summary>
+ Represents the current stage in the lifecycle of a <see cref="T:System.Threading.Tasks.Task"/>.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Created">
+ <summary>
+ The task has been initialized but has not yet been scheduled.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.WaitingForActivation">
+ <summary>
+ The task is waiting to be activated and scheduled internally by the .NET Framework infrastructure.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.WaitingToRun">
+ <summary>
+ The task has been scheduled for execution but has not yet begun executing.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Running">
+ <summary>
+ The task is running but has not yet completed.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.WaitingForChildrenToComplete">
+ <summary>
+ The task has finished executing and is implicitly waiting for
+ attached child tasks to complete.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.RanToCompletion">
+ <summary>
+ The task completed execution successfully.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Canceled">
+ <summary>
+ The task acknowledged cancellation by throwing an OperationCanceledException2 with its own CancellationToken
+ while the token was in signaled state, or the task's CancellationToken was already signaled before the
+ task started executing.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Faulted">
+ <summary>
+ The task completed due to an unhandled exception.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskCreationOptions">
+ <summary>
+ Specifies flags that control optional behavior for the creation and execution of tasks.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.None">
+ <summary>
+ Specifies that the default behavior should be used.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.PreferFairness">
+ <summary>
+ A hint to a <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> to schedule a
+ task in as fair a manner as possible, meaning that tasks scheduled sooner will be more likely to
+ be run sooner, and tasks scheduled later will be more likely to be run later.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.LongRunning">
+ <summary>
+ Specifies that a task will be a long-running, course-grained operation. It provides a hint to the
+ <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> that oversubscription may be
+ warranted.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.AttachedToParent">
+ <summary>
+ Specifies that a task is attached to a parent in the task hierarchy.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.InternalTaskOptions">
+ <summary>
+ Task creation flags which are only used internally.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.InternalTaskOptions.None">
+ <summary> Specifies "No internal task options" </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.InternalTaskOptions.InternalOptionsMask">
+ <summary>Used to filter out internal vs. public task creation options.</summary>
+ </member>
+ <member name="F:System.Threading.Tasks.InternalTaskOptions.QueuedByRuntime">
+ <summary>Specifies that the task will be queued by the runtime before handing it over to the user.
+ This flag will be used to skip the cancellationtoken registration step, which is only meant for unstarted tasks.</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskContinuationOptions">
+ <summary>
+ Specifies flags that control optional behavior for the creation and execution of continuation tasks.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.None">
+ <summary>
+ Default = "Continue on any, no task options, run asynchronously"
+ Specifies that the default behavior should be used. Continuations, by default, will
+ be scheduled when the antecedent task completes, regardless of the task's final <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see>.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.PreferFairness">
+ <summary>
+ A hint to a <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> to schedule a
+ task in as fair a manner as possible, meaning that tasks scheduled sooner will be more likely to
+ be run sooner, and tasks scheduled later will be more likely to be run later.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.LongRunning">
+ <summary>
+ Specifies that a task will be a long-running, course-grained operation. It provides
+ a hint to the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> that
+ oversubscription may be warranted.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.AttachedToParent">
+ <summary>
+ Specifies that a task is attached to a parent in the task hierarchy.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnRanToCompletion">
+ <summary>
+ Specifies that the continuation task should not be scheduled if its antecedent ran to completion.
+ This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnFaulted">
+ <summary>
+ Specifies that the continuation task should not be scheduled if its antecedent threw an unhandled
+ exception. This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnCanceled">
+ <summary>
+ Specifies that the continuation task should not be scheduled if its antecedent was canceled. This
+ option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnRanToCompletion">
+ <summary>
+ Specifies that the continuation task should be scheduled only if its antecedent ran to
+ completion. This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnFaulted">
+ <summary>
+ Specifies that the continuation task should be scheduled only if its antecedent threw an
+ unhandled exception. This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">
+ <summary>
+ Specifies that the continuation task should be scheduled only if its antecedent was canceled.
+ This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">
+ <summary>
+ Specifies that the continuation task should be executed synchronously. With this option
+ specified, the continuation will be run on the same thread that causes the antecedent task to
+ transition into its final state. If the antecedent is already complete when the continuation is
+ created, the continuation will run on the thread creating the continuation. Only very
+ short-running continuations should be executed synchronously.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskCanceledException">
+ <summary>
+ Represents an exception used to communicate task cancellation.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> class.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
+ class with a specified error message.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.String,System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
+ class with a specified error message and a reference to the inner exception that is the cause of
+ this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.Threading.Tasks.Task)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> class
+ with a reference to the <see cref="T:System.Threading.Tasks.Task"/> that has been canceled.
+ </summary>
+ <param name="task">A task that has been canceled.</param>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskCanceledException.Task">
+ <summary>
+ Gets the task associated with this exception.
+ </summary>
+ <remarks>
+ It is permissible for no Task to be associated with a
+ <see cref="T:System.Threading.Tasks.TaskCanceledException"/>, in which case
+ this property will return null.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskCompletionSource`1">
+ <summary>
+ Represents the producer side of a <see cref="T:System.Threading.Tasks.Task{TResult}"/> unbound to a
+ delegate, providing access to the consumer side through the <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> property.
+ </summary>
+ <remarks>
+ <para>
+ It is often the case that a <see cref="T:System.Threading.Tasks.Task{TResult}"/> is desired to
+ represent another asynchronous operation.
+ <see cref="T:System.Threading.Tasks.TaskCompletionSource`1">TaskCompletionSource</see> is provided for this purpose. It enables
+ the creation of a task that can be handed out to consumers, and those consumers can use the members
+ of the task as they would any other. However, unlike most tasks, the state of a task created by a
+ TaskCompletionSource is controlled explicitly by the methods on TaskCompletionSource. This enables the
+ completion of the external asynchronous operation to be propagated to the underlying Task. The
+ separation also ensures that consumers are not able to transition the state without access to the
+ corresponding TaskCompletionSource.
+ </para>
+ <para>
+ All members of <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/> are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ </remarks>
+ <typeparam name="TResult">The type of the result value assocatied with this <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.</typeparam>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>
+ with the specified options.
+ </summary>
+ <remarks>
+ The <see cref="T:System.Threading.Tasks.Task{TResult}"/> created
+ by this instance and accessible through its <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> property
+ will be instantiated using the specified <paramref name="creationOptions"/>.
+ </remarks>
+ <param name="creationOptions">The options to use when creating the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> represent options invalid for use
+ with a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>
+ with the specified state.
+ </summary>
+ <param name="state">The state to use as the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>'s AsyncState.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/> with
+ the specified state and options.
+ </summary>
+ <param name="creationOptions">The options to use when creating the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">The state to use as the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>'s AsyncState.</param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> represent options invalid for use
+ with a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetException(System.Exception)">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exception">The exception to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetException(System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exceptions">The collection of exceptions to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exceptions"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">There are one or more null elements in <paramref name="exceptions"/>.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="exceptions"/> collection is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Exception)">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exception">The exception to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exceptions">The collection of exceptions to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exceptions"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">There are one or more null elements in <paramref name="exceptions"/>.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetResult(`0)">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>
+ state.
+ </summary>
+ <param name="result">The result value to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetResult(`0)">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>
+ state.
+ </summary>
+ <param name="result">The result value to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetCanceled">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>
+ state.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetCanceled">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>
+ state.
+ </summary>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskCompletionSource`1.Task">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.Task{TResult}"/> created
+ by this <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </summary>
+ <remarks>
+ This property enables a consumer access to the <see cref="T:System.Threading.Tasks.Task{TResult}"/> that is controlled by this instance.
+ The <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetResult(`0)"/>, <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Exception)"/>,
+ <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Collections.Generic.IEnumerable{System.Exception})"/>, and <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetCanceled"/>
+ methods (and their "Try" variants) on this instance all result in the relevant state
+ transitions on this underlying Task.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskExceptionHolder">
+ <summary>
+ An exception holder manages a list of exceptions for one particular task.
+ It offers the ability to aggregate, but more importantly, also offers intrinsic
+ support for propagating unhandled exceptions that are never observed. It does
+ this by aggregating and throwing if the holder is ever GC'd without the holder's
+ contents ever having been requested (e.g. by a Task.Wait, Task.get_Exception, etc).
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.#ctor(System.Threading.Tasks.Task)">
+ <summary>
+ Creates a new holder; it will be registered for finalization.
+ </summary>
+ <param name="task">The task this holder belongs to.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.Finalize">
+ <summary>
+ A finalizer that repropagates unhandled exceptions.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.Add(System.Object)">
+ <summary>
+ Add an exception to the internal list. This will ensure the holder is
+ in the proper state (handled/unhandled) depending on the list's contents.
+ </summary>
+ <param name="exceptionObject">An exception object (either an Exception or an
+ IEnumerable{Exception}) to add to the list.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.MarkAsUnhandled">
+ <summary>
+ A private helper method that ensures the holder is considered
+ unhandled, i.e. it is registered for finalization.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.MarkAsHandled(System.Boolean)">
+ <summary>
+ A private helper method that ensures the holder is considered
+ handled, i.e. it is not registered for finalization.
+ </summary>
+ <param name="calledFromFinalizer">Whether this is called from the finalizer thread.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.CreateExceptionObject(System.Boolean,System.Exception)">
+ <summary>
+ Allocates a new aggregate exception and adds the contents of the list to
+ it. By calling this method, the holder assumes exceptions to have been
+ "observed", such that the finalization check will be subsequently skipped.
+ </summary>
+ <param name="calledFromFinalizer">Whether this is being called from a finalizer.</param>
+ <param name="includeThisException">An extra exception to be included (optionally).</param>
+ <returns>The aggregate exception to throw.</returns>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskExtensions">
+ <summary>
+ Provides a set of static (Shared in Visual Basic) methods for working with specific kinds of
+ <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExtensions.Unwrap(System.Threading.Tasks.Task{System.Threading.Tasks.Task})">
+ <summary>
+ Creates a proxy <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation of a Task{Task}.
+ </summary>
+ <remarks>
+ It is often useful to be able to return a Task from a <see cref="T:System.Threading.Tasks.Task`1">
+ Task{TResult}</see>, where the inner Task represents work done as part of the outer Task{TResult}. However,
+ doing so results in a Task{Task}, which, if not dealt with carefully, could produce unexpected behavior. Unwrap
+ solves this problem by creating a proxy Task that represents the entire asynchronous operation of such a Task{Task}.
+ </remarks>
+ <param name="task">The Task{Task} to unwrap.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown if the
+ <paramref name="task"/> argument is null.</exception>
+ <returns>A Task that represents the asynchronous operation of the provided Task{Task}.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExtensions.Unwrap``1(System.Threading.Tasks.Task{System.Threading.Tasks.Task{``0}})">
+ <summary>
+ Creates a proxy <see cref="T:System.Threading.Tasks.Task`1">Task{TResult}</see> that represents the
+ asynchronous operation of a Task{Task{TResult}}.
+ </summary>
+ <remarks>
+ It is often useful to be able to return a Task{TResult} from a Task{TResult}, where the inner Task{TResult}
+ represents work done as part of the outer Task{TResult}. However, doing so results in a Task{Task{TResult}},
+ which, if not dealt with carefully, could produce unexpected behavior. Unwrap solves this problem by
+ creating a proxy Task{TResult} that represents the entire asynchronous operation of such a Task{Task{TResult}}.
+ </remarks>
+ <param name="task">The Task{Task{TResult}} to unwrap.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown if the
+ <paramref name="task"/> argument is null.</exception>
+ <returns>A Task{TResult} that represents the asynchronous operation of the provided Task{Task{TResult}}.</returns> /// <summary>Unwraps a Task that returns another Task.</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskFactory">
+ <summary>
+ Provides support for creating and scheduling
+ <see cref="T:System.Threading.Tasks.Task">Tasks</see>.
+ </summary>
+ <remarks>
+ <para>
+ There are many common patterns for which tasks are relevant. The <see cref="T:System.Threading.Tasks.TaskFactory"/>
+ class encodes some of these patterns into methods that pick up default settings, which are
+ configurable through its constructors.
+ </para>
+ <para>
+ A default instance of <see cref="T:System.Threading.Tasks.TaskFactory"/> is available through the
+ <see cref="P:System.Threading.Tasks.Task.Factory">Task.Factory</see> property.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the default configuration.
+ </summary>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.CancellationToken)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any tasks created with this TaskFactory. A null value
+ indicates that the current TaskScheduler should be used.
+ </param>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to <paramref name="scheduler"/>, unless it's null, in which case the property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argument specifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory.
+ </param>
+ <param name="scheduler">
+ The default <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any Tasks created with this TaskFactory. A null value
+ indicates that TaskScheduler.Current should be used.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argumentspecifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to
+ <paramref name="scheduler"/>, unless it's null, in which case the property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors
+ and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution. However,
+ unless creation and scheduling must be separated, StartNew is the recommended
+ approach for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors
+ and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution. However,
+ unless creation and scheduling must be separated, StartNew is the recommended
+ approach for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0})">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult})">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
+ when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The action delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
+ operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
+ when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The action delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
+ operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
+ when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The action delegate that processes the completed <paramref name="asyncResult"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the task that executes the end method.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
+ operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,``2,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0})">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref name="asyncResult"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the task that executes the end method.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``0},System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``1},``0,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``1},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``2},``0,``1,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``2},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``4(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``3},``0,``1,``2,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``4(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``3},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.CheckFromAsyncOptions(System.Threading.Tasks.TaskCreationOptions,System.Boolean)">
+ <summary>
+ Check validity of options passed to FromAsync method
+ </summary>
+ <param name="creationOptions">The options to be validated.</param>
+ <param name="hasBeginMethod">determines type of FromAsync method that called this method</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref
+ name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.CancellationToken">
+ <summary>
+ Gets the default <see cref="T:System.Threading.CancellationToken">CancellationToken</see> of this
+ TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to all
+ tasks created by this factory unless another CancellationToken value is explicitly specified
+ during the call to the factory methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.Scheduler">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> of this
+ TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default scheduler for this factory. It will be used to schedule all
+ tasks unless another scheduler is explicitly specified during calls to this factory's methods.
+ If null, <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>
+ will be used.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.CreationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions
+ </see> value of this TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default creation options for this factory. They will be used to create all
+ tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.ContinuationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskContinuationOptions
+ </see> value of this TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default continuation options for this factory. They will be used to create
+ all continuation tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskScheduler">
+ <summary>
+ Represents an abstract scheduler for tasks.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> acts as the extension point for all
+ pluggable scheduling logic. This includes mechanisms such as how to schedule a task for execution, and
+ how scheduled tasks should be exposed to debuggers.
+ </para>
+ <para>
+ All members of the abstract <see cref="T:System.Threading.Tasks.TaskScheduler"/> type are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)">
+ <summary>
+ Queues a <see cref="T:System.Threading.Tasks.Task">Task</see> to the scheduler.
+ </summary>
+ <remarks>
+ <para>
+ A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ implements this method to accept tasks being scheduled on the scheduler.
+ A typical implementation would store the task in an internal data structure, which would
+ be serviced by threads that would execute those tasks at some time in the future.
+ </para>
+ <para>
+ This method is only meant to be called by the .NET Framework and
+ should not be called directly by the derived class. This is necessary
+ for maintaining the consistency of the system.
+ </para>
+ </remarks>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be queued.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>
+ Determines whether the provided <see cref="T:System.Threading.Tasks.Task">Task</see>
+ can be executed synchronously in this call, and if it can, executes it.
+ </summary>
+ <remarks>
+ <para>
+ A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> implements this function to
+ support inline execution of a task on a thread that initiates a wait on that task object. Inline
+ execution is optional, and the request may be rejected by returning false. However, better
+ scalability typically results the more tasks that can be inlined, and in fact a scheduler that
+ inlines too little may be prone to deadlocks. A proper implementation should ensure that a
+ request executing under the policies guaranteed by the scheduler can successfully inline. For
+ example, if a scheduler uses a dedicated thread to execute tasks, any inlining requests from that
+ thread should succeed.
+ </para>
+ <para>
+ If a scheduler decides to perform the inline execution, it should do so by calling to the base
+ TaskScheduler's
+ <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)">TryExecuteTask</see> method with the provided task object, propagating
+ the return value. It may also be appropriate for the scheduler to remove an inlined task from its
+ internal data structures if it decides to honor the inlining request. Note, however, that under
+ some circumstances a scheduler may be asked to inline a task that was not previously provided to
+ it with the <see cref="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)"/> method.
+ </para>
+ <para>
+ The derived scheduler is responsible for making sure that the calling thread is suitable for
+ executing the given task as far as its own scheduling and execution policies are concerned.
+ </para>
+ </remarks>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be
+ executed.</param>
+ <param name="taskWasPreviouslyQueued">A Boolean denoting whether or not task has previously been
+ queued. If this parameter is True, then the task may have been previously queued (scheduled); if
+ False, then the task is known not to have been queued, and this call is being made in order to
+ execute the task inline without queueing it.</param>
+ <returns>A Boolean value indicating whether the task was executed inline.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is
+ null.</exception>
+ <exception cref="T:System.InvalidOperationException">The <paramref name="task"/> was already
+ executed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasks">
+ <summary>
+ Generates an enumerable of <see cref="T:System.Threading.Tasks.Task">Task</see> instances
+ currently queued to the scheduler waiting to be executed.
+ </summary>
+ <remarks>
+ <para>
+ A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler"/> implements this method in order to support
+ integration with debuggers. This method will only be invoked by the .NET Framework when the
+ debugger requests access to the data. The enumerable returned will be traversed by debugging
+ utilities to access the tasks currently queued to this scheduler, enabling the debugger to
+ provide a representation of this information in the user interface.
+ </para>
+ <para>
+ It is important to note that, when this method is called, all other threads in the process will
+ be frozen. Therefore, it's important to avoid synchronization with other threads that may lead to
+ blocking. If synchronization is necessary, the method should prefer to throw a <see cref="T:System.NotSupportedException"/>
+ than to block, which could cause a debugger to experience delays. Additionally, this method and
+ the enumerable returned must not modify any globally visible state.
+ </para>
+ <para>
+ The returned enumerable should never be null. If there are currently no queued tasks, an empty
+ enumerable should be returned instead.
+ </para>
+ <para>
+ For developers implementing a custom debugger, this method shouldn't be called directly, but
+ rather this functionality should be accessed through the internal wrapper method
+ GetScheduledTasksForDebugger:
+ <c>internal Task[] GetScheduledTasksForDebugger()</c>. This method returns an array of tasks,
+ rather than an enumerable. In order to retrieve a list of active schedulers, a debugger may use
+ another internal method: <c>internal static TaskScheduler[] GetTaskSchedulersForDebugger()</c>.
+ This static method returns an array of all active TaskScheduler instances.
+ GetScheduledTasksForDebugger then may be used on each of these scheduler instances to retrieve
+ the list of scheduled tasks for each.
+ </para>
+ </remarks>
+ <returns>An enumerable that allows traversal of tasks currently queued to this scheduler.
+ </returns>
+ <exception cref="T:System.NotSupportedException">
+ This scheduler is unable to generate a list of queued tasks at this time.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetThreadStatics">
+ <summary>
+ Retrieves some thread static state that can be cached and passed to multiple
+ TryRunInline calls, avoiding superflous TLS fetches.
+ </summary>
+ <returns>A bag of TLS state (or null if none exists).</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task,System.Boolean,System.Object)">
+ <summary>
+ Attempts to execute the target task synchronously.
+ </summary>
+ <param name="task">The task to run.</param>
+ <param name="taskWasPreviouslyQueued">True if the task may have been previously queued,
+ false if the task was absolutely not previously queued.</param>
+ <param name="threadStatics">The state retrieved from GetThreadStatics</param>
+ <returns>True if it ran, false otherwise.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryDequeue(System.Threading.Tasks.Task)">
+ <summary>
+ Attempts to dequeue a <see cref="T:System.Threading.Tasks.Task">Task</see> that was previously queued to
+ this scheduler.
+ </summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be dequeued.</param>
+ <returns>A Boolean denoting whether the <paramref name="task"/> argument was successfully dequeued.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.NotifyWorkItemProgress">
+ <summary>
+ Notifies the scheduler that a work item has made progress.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.#ctor">
+ <summary>
+ Initializes the <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.Finalize">
+ <summary>
+ Frees all resources associated with this scheduler.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.FromCurrentSynchronizationContext">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskScheduler"/>
+ associated with the current <see cref="T:System.Threading.SynchronizationContext"/>.
+ </summary>
+ <remarks>
+ All <see cref="T:System.Threading.Tasks.Task">Task</see> instances queued to
+ the returned scheduler will be executed through a call to the
+ <see cref="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)">Post</see> method
+ on that context.
+ </remarks>
+ <returns>
+ A <see cref="T:System.Threading.Tasks.TaskScheduler"/> associated with
+ the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see>, as
+ determined by <see cref="P:System.Threading.SynchronizationContext.Current">SynchronizationContext.Current</see>.
+ </returns>
+ <exception cref="T:System.InvalidOperationException">
+ The current SynchronizationContext may not be used as a TaskScheduler.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)">
+ <summary>
+ Attempts to execute the provided <see cref="T:System.Threading.Tasks.Task">Task</see>
+ on this scheduler.
+ </summary>
+ <remarks>
+ <para>
+ Scheduler implementations are provided with <see cref="T:System.Threading.Tasks.Task">Task</see>
+ instances to be executed through either the <see cref="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)"/> method or the
+ <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)"/> method. When the scheduler deems it appropriate to run the
+ provided task, <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)"/> should be used to do so. TryExecuteTask handles all
+ aspects of executing a task, including action invocation, exception handling, state management,
+ and lifecycle control.
+ </para>
+ <para>
+ <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)"/> must only be used for tasks provided to this scheduler by the .NET
+ Framework infrastructure. It should not be used to execute arbitrary tasks obtained through
+ custom mechanisms.
+ </para>
+ </remarks>
+ <param name="task">
+ A <see cref="T:System.Threading.Tasks.Task">Task</see> object to be executed.</param>
+ <exception cref="T:System.InvalidOperationException">
+ The <paramref name="task"/> is not associated with this scheduler.
+ </exception>
+ <returns>A Boolean that is true if <paramref name="task"/> was successfully executed, false if it
+ was not. A common reason for execution failure is that the task had previously been executed or
+ is in the process of being executed by another thread.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasksForDebugger">
+ <summary>
+ Provides an array of all queued <see cref="T:System.Threading.Tasks.Task">Task</see> instances
+ for the debugger.
+ </summary>
+ <remarks>
+ The returned array is populated through a call to <see cref="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasks"/>.
+ Note that this function is only meant to be invoked by a debugger remotely.
+ It should not be called by any other codepaths.
+ </remarks>
+ <returns>An array of <see cref="T:System.Threading.Tasks.Task">Task</see> instances.</returns>
+ <exception cref="T:System.NotSupportedException">
+ This scheduler is unable to generate a list of queued tasks at this time.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetTaskSchedulersForDebugger">
+ <summary>
+ Provides an array of all active <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ instances for the debugger.
+ </summary>
+ <remarks>
+ This function is only meant to be invoked by a debugger remotely.
+ It should not be called by any other codepaths.
+ </remarks>
+ <returns>An array of <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> instances.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.RegisterTaskScheduler(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Registers a new TaskScheduler instance in the global collection of schedulers.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.UnregisterTaskScheduler(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Removes a TaskScheduler instance from the global collection of schedulers.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.MaximumConcurrencyLevel">
+ <summary>
+ Indicates the maximum concurrency level this
+ <see cref="T:System.Threading.Tasks.TaskScheduler"/> is able to support.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.RequiresAtomicStartTransition">
+ <summary>
+ Indicates whether this is a custom scheduler, in which case the safe code paths will be taken upon task entry
+ using a CAS to transition from queued state to executing.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.Default">
+ <summary>
+ Gets the default <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> instance.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.Current">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ associated with the currently executing task.
+ </summary>
+ <remarks>
+ When not called from within a task, <see cref="P:System.Threading.Tasks.TaskScheduler.Current"/> will return the <see cref="P:System.Threading.Tasks.TaskScheduler.Default"/> scheduler.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.Id">
+ <summary>
+ Gets the unique ID for this <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
+ </summary>
+ </member>
+ <member name="E:System.Threading.Tasks.TaskScheduler.UnobservedTaskException">
+ <summary>
+ Occurs when a faulted <see cref="T:System.Threading.Tasks.Task"/>'s unobserved exception is about to trigger exception escalation
+ policy, which, by default, would terminate the process.
+ </summary>
+ <remarks>
+ This AppDomain-wide event provides a mechanism to prevent exception
+ escalation policy (which, by default, terminates the process) from triggering.
+ Each handler is passed a <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/>
+ instance, which may be used to examine the exception and to mark it as observed.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskScheduler.SystemThreadingTasks_TaskSchedulerDebugView">
+ <summary>
+ Nested class that provides debugger view for TaskScheduler
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.ThreadPoolTaskScheduler">
+ <summary>Default thread pool scheduler.</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.SynchronizationContextTaskScheduler">
+ <summary>
+ A TaskScheduler implementation that executes all tasks queued to it through a call to
+ <see cref="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)"/> on the <see cref="T:System.Threading.SynchronizationContext"/>
+ that its associated with. The default constructor for this class binds to the current <see cref="T:System.Threading.SynchronizationContext"/>
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.#ctor">
+ <summary>
+ Constructs a SynchronizationContextTaskScheduler associated with <see cref="T:System.Threading.SynchronizationContext.Current"/>
+ </summary>
+ <exception cref="T:System.InvalidOperationException">This constructor expects <see cref="T:System.Threading.SynchronizationContext.Current"/> to be set.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
+ <summary>
+ Implemetation of <see cref="T:System.Threading.Tasks.TaskScheduler.QueueTask"/> for this scheduler class.
+
+ Simply posts the tasks to be executed on the associated <see cref="T:System.Threading.SynchronizationContext"/>.
+ </summary>
+ <param name="task"></param>
+ </member>
+ <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>
+ Implementation of <see cref="T:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline"/> for this scheduler class.
+
+ The task will be executed inline only if the call happens within
+ the associated <see cref="T:System.Threading.SynchronizationContext"/>.
+ </summary>
+ <param name="task"></param>
+ <param name="taskWasPreviouslyQueued"></param>
+ </member>
+ <member name="P:System.Threading.Tasks.SynchronizationContextTaskScheduler.MaximumConcurrencyLevel">
+ <summary>
+ Implementes the <see cref="T:System.Threading.Tasks.TaskScheduler.MaximumConcurrencyLevel"/> property for
+ this scheduler class.
+
+ By default it returns 1, because a <see cref="T:System.Threading.SynchronizationContext"/> based
+ scheduler only supports execution on a single thread.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs">
+ <summary>
+ Provides data for the event that is raised when a faulted <see cref="T:System.Threading.Tasks.Task"/>'s
+ exception goes unobserved.
+ </summary>
+ <remarks>
+ The Exception property is used to examine the exception without marking it
+ as observed, whereas the <see cref="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.SetObserved"/> method is used to mark the exception
+ as observed. Marking the exception as observed prevents it from triggering exception escalation policy
+ which, by default, terminates the process.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.#ctor(System.AggregateException)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/> class
+ with the unobserved exception.
+ </summary>
+ <param name="exception">The Exception that has gone unobserved.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.SetObserved">
+ <summary>
+ Marks the <see cref="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Exception"/> as "observed," thus preventing it
+ from triggering exception escalation policy which, by default, terminates the process.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Observed">
+ <summary>
+ Gets whether this exception has been marked as "observed."
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Exception">
+ <summary>
+ The Exception that went unobserved.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskSchedulerException">
+ <summary>
+ Represents an exception used to communicate an invalid operation by a
+ <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/> class.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
+ class with a specified error message.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
+ class using the default error message and a reference to the inner exception that is the cause of
+ this exception.
+ </summary>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.String,System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
+ class with a specified error message and a reference to the inner exception that is the cause of
+ this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/ensureRedirect.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/ensureRedirect.xml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4-windowsphone71/ensureRedirect.xml
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4/System.Runtime.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4/System.Runtime.dll
new file mode 100644
index 0000000..fa831ad
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4/System.Runtime.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4/System.Runtime.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4/System.Runtime.xml
new file mode 100644
index 0000000..93cb00d
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4/System.Runtime.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Runtime</name>
+ </assembly>
+ <members>
+ <member name="T:System.IProgress`1">
+ <summary>Defines a provider for progress updates.</summary>
+ <typeparam name="T">The type of progress update value.</typeparam>
+ </member>
+ <member name="M:System.IProgress`1.Report(`0)">
+ <summary>Reports a progress update.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncStateMachineAttribute">
+ <summary>Identities the async state machine type for this method.</summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.StateMachineAttribute">
+ <summary>Identities the state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.StateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.StateMachineAttribute.StateMachineType">
+ <summary>Gets the type that implements the state machine.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerMemberNameAttribute">
+ <summary>
+ Allows you to obtain the method or property name of the caller to the method.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerLineNumberAttribute">
+ <summary>
+ Allows you to obtain the line number in the source file at which the method is called.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerFilePathAttribute">
+ <summary>
+ Allows you to obtain the full path of the source file that contains the caller.
+ This is the file path at the time of compile.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IteratorStateMachineAttribute">
+ <summary>Identities the iterator state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IteratorStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4/System.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4/System.Threading.Tasks.dll
new file mode 100644
index 0000000..74f5e2c
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4/System.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4/System.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4/System.Threading.Tasks.xml
new file mode 100644
index 0000000..6c77012
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl4/System.Threading.Tasks.xml
@@ -0,0 +1,8969 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:System.AggregateException">
+ <summary>Represents one or more errors that occur during application execution.</summary>
+ <remarks>
+ <see cref="T:System.AggregateException"/> is used to consolidate multiple failures into a single, throwable
+ exception object.
+ </remarks>
+ </member>
+ <member name="M:System.AggregateException.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class.
+ </summary>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
+ a specified error message.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
+ message and a reference to the inner exception that is the cause of this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerException"/> argument
+ is null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
+ references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.Exception[])">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
+ references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
+ message and references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Exception[])">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
+ message and references to the inner exceptions that are the cause of this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.#ctor(System.String,System.Collections.Generic.IList{System.Exception})">
+ <summary>
+ Allocates a new aggregate exception with the specified message and list of inner exceptions.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
+ is null.</exception>
+ <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.GetBaseException">
+ <summary>
+ Returns the <see cref="T:System.AggregateException"/> that is the root cause of this exception.
+ </summary>
+ </member>
+ <member name="M:System.AggregateException.Handle(System.Func{System.Exception,System.Boolean})">
+ <summary>
+ Invokes a handler on each <see cref="T:System.Exception"/> contained by this <see cref="T:System.AggregateException"/>.
+ </summary>
+ <param name="predicate">The predicate to execute for each exception. The predicate accepts as an
+ argument the <see cref="T:System.Exception"/> to be processed and returns a Boolean to indicate
+ whether the exception was handled.</param>
+ <remarks>
+ Each invocation of the <paramref name="predicate"/> returns true or false to indicate whether the
+ <see cref="T:System.Exception"/> was handled. After all invocations, if any exceptions went
+ unhandled, all unhandled exceptions will be put into a new <see cref="T:System.AggregateException"/>
+ which will be thrown. Otherwise, the <see cref="M:System.AggregateException.Handle(System.Func{System.Exception,System.Boolean})"/> method simply returns. If any
+ invocations of the <paramref name="predicate"/> throws an exception, it will halt the processing
+ of any more exceptions and immediately propagate the thrown exception as-is.
+ </remarks>
+ <exception cref="T:System.AggregateException">An exception contained by this <see cref="T:System.AggregateException"/> was not handled.</exception>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="predicate"/> argument is
+ null.</exception>
+ </member>
+ <member name="M:System.AggregateException.Flatten">
+ <summary>
+ Flattens an <see cref="T:System.AggregateException"/> instances into a single, new instance.
+ </summary>
+ <returns>A new, flattened <see cref="T:System.AggregateException"/>.</returns>
+ <remarks>
+ If any inner exceptions are themselves instances of
+ <see cref="T:System.AggregateException"/>, this method will recursively flatten all of them. The
+ inner exceptions returned in the new <see cref="T:System.AggregateException"/>
+ will be the union of all of the the inner exceptions from exception tree rooted at the provided
+ <see cref="T:System.AggregateException"/> instance.
+ </remarks>
+ </member>
+ <member name="M:System.AggregateException.ToString">
+ <summary>
+ Creates and returns a string representation of the current <see cref="T:System.AggregateException"/>.
+ </summary>
+ <returns>A string representation of the current exception.</returns>
+ </member>
+ <member name="P:System.AggregateException.InnerExceptions">
+ <summary>
+ Gets a read-only collection of the <see cref="T:System.Exception"/> instances that caused the
+ current exception.
+ </summary>
+ </member>
+ <member name="T:System.Strings">
+ <summary>
+ A strongly-typed resource class, for looking up localized strings, etc.
+ </summary>
+ </member>
+ <member name="P:System.Strings.ResourceManager">
+ <summary>
+ Returns the cached ResourceManager instance used by this class.
+ </summary>
+ </member>
+ <member name="P:System.Strings.Culture">
+ <summary>
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+ </summary>
+ </member>
+ <member name="P:System.Strings.AggregateException_ctor_DefaultMessage">
+ <summary>
+ Looks up a localized string similar to One or more errors occurred..
+ </summary>
+ </member>
+ <member name="P:System.Strings.AggregateException_ctor_InnerExceptionNull">
+ <summary>
+ Looks up a localized string similar to An element of innerExceptions was null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.AggregateException_ToString">
+ <summary>
+ Looks up a localized string similar to {0}{1}---&gt; (Inner Exception #{2}) {3}{4}{5}.
+ </summary>
+ </member>
+ <member name="P:System.Strings.CancellationToken_CreateLinkedToken_TokensIsEmpty">
+ <summary>
+ Looks up a localized string similar to No tokens were supplied..
+ </summary>
+ </member>
+ <member name="P:System.Strings.CancellationToken_SourceDisposed">
+ <summary>
+ Looks up a localized string similar to The CancellationTokenSource associated with this CancellationToken has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.CancellationTokenSource_Disposed">
+ <summary>
+ Looks up a localized string similar to The CancellationTokenSource has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentCollection_SyncRoot_NotSupported">
+ <summary>
+ Looks up a localized string similar to The SyncRoot property may not be used for the synchronization of concurrent collections..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ArrayIncorrectType">
+ <summary>
+ Looks up a localized string similar to The array is multidimensional, or the type parameter for the set cannot be cast automatically to the type of the destination array..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ArrayNotLargeEnough">
+ <summary>
+ Looks up a localized string similar to The index is equal to or greater than the length of the array, or the number of elements in the dictionary is greater than the available space from index to the end of the destination array..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_CapacityMustNotBeNegative">
+ <summary>
+ Looks up a localized string similar to The capacity argument must be greater than or equal to zero..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ConcurrencyLevelMustBePositive">
+ <summary>
+ Looks up a localized string similar to The concurrencyLevel argument must be positive..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_IndexIsNegative">
+ <summary>
+ Looks up a localized string similar to The index argument is less than zero..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_ItemKeyIsNull">
+ <summary>
+ Looks up a localized string similar to TKey is a reference type and item.Key is null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_KeyAlreadyExisted">
+ <summary>
+ Looks up a localized string similar to The key already existed in the dictionary..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_SourceContainsDuplicateKeys">
+ <summary>
+ Looks up a localized string similar to The source argument contains duplicate keys..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_TypeOfKeyIncorrect">
+ <summary>
+ Looks up a localized string similar to The key was of an incorrect type for this dictionary..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ConcurrentDictionary_TypeOfValueIncorrect">
+ <summary>
+ Looks up a localized string similar to The value was of an incorrect type for this dictionary..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Lazy_CreateValue_NoParameterlessCtorForT">
+ <summary>
+ Looks up a localized string similar to The lazily-initialized type does not have a public, parameterless constructor..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Lazy_StaticInit_InvalidOperation">
+ <summary>
+ Looks up a localized string similar to ValueFactory returned null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ManualResetEventSlim_ctor_SpinCountOutOfRange">
+ <summary>
+ Looks up a localized string similar to The spinCount argument must be in the range 0 to {0}, inclusive..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ManualResetEventSlim_ctor_TooManyWaiters">
+ <summary>
+ Looks up a localized string similar to There are too many threads currently waiting on the event. A maximum of {0} waiting threads are supported..
+ </summary>
+ </member>
+ <member name="P:System.Strings.ManualResetEventSlim_Disposed">
+ <summary>
+ Looks up a localized string similar to The event has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.OperationCanceled">
+ <summary>
+ Looks up a localized string similar to The operation was canceled..
+ </summary>
+ </member>
+ <member name="P:System.Strings.SpinWait_SpinUntil_ArgumentNull">
+ <summary>
+ Looks up a localized string similar to The condition argument is null..
+ </summary>
+ </member>
+ <member name="P:System.Strings.SpinWait_SpinUntil_TimeoutWrong">
+ <summary>
+ Looks up a localized string similar to The timeout must represent a value between -1 and Int32.MaxValue, inclusive..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ContinueWith_ESandLR">
+ <summary>
+ Looks up a localized string similar to The specified TaskContinuationOptions combined LongRunning and ExecuteSynchronously. Synchronous continuations should not be long running..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ContinueWith_NotOnAnything">
+ <summary>
+ Looks up a localized string similar to The specified TaskContinuationOptions excluded all continuation kinds..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ctor_LRandSR">
+ <summary>
+ Looks up a localized string similar to (Internal)An attempt was made to create a LongRunning SelfReplicating task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Delay_InvalidDelay">
+ <summary>
+ Looks up a localized string similar to The value needs to translate in milliseconds to -1 (signifying an infinite timeout), 0 or a positive integer less than or equal to Int32.MaxValue..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Delay_InvalidMillisecondsDelay">
+ <summary>
+ Looks up a localized string similar to The value needs to be either -1 (signifying an infinite timeout), 0 or a positive integer..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Dispose_NotCompleted">
+ <summary>
+ Looks up a localized string similar to A task may only be disposed if it is in a completion state (RanToCompletion, Faulted or Canceled)..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_LongRunning">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.LongRunning in calls to FromAsync..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_PreferFairness">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.PreferFairness in calls to FromAsync..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_SelfReplicating">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.SelfReplicating in calls to FromAsync..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_FromAsync_TaskManagerShutDown">
+ <summary>
+ Looks up a localized string similar to FromAsync was called with a TaskManager that had already shut down..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_MultiTaskContinuation_EmptyTaskList">
+ <summary>
+ Looks up a localized string similar to The tasks argument contains no tasks..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_MultiTaskContinuation_FireOptions">
+ <summary>
+ Looks up a localized string similar to It is invalid to exclude specific continuation kinds for continuations off of multiple tasks..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_MultiTaskContinuation_NullTask">
+ <summary>
+ Looks up a localized string similar to The tasks argument included a null value..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_AlreadyStarted">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a task that was already started..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_Continuation">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a continuation task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_Promise">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a task not bound to a delegate, such as the task returned from an asynchronous method..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_RunSynchronously_TaskCompleted">
+ <summary>
+ Looks up a localized string similar to RunSynchronously may not be called on a task that has already completed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_AlreadyStarted">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a task that was already started..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_ContinuationTask">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a continuation task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_NullAction">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a task with null action..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_Promise">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a promise-style task..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_Start_TaskCompleted">
+ <summary>
+ Looks up a localized string similar to Start may not be called on a task that has completed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_ThrowIfDisposed">
+ <summary>
+ Looks up a localized string similar to The task has been disposed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.Task_WaitMulti_NullTask">
+ <summary>
+ Looks up a localized string similar to The tasks array included at least one null element..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskAwaiter_TaskNotCompleted">
+ <summary>
+ Looks up a localized string similar to The awaited task has not yet completed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskCanceledException_ctor_DefaultMessage">
+ <summary>
+ Looks up a localized string similar to A task was canceled..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskCompletionSourceT_TrySetException_NoExceptions">
+ <summary>
+ Looks up a localized string similar to The exceptions collection was empty..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskCompletionSourceT_TrySetException_NullException">
+ <summary>
+ Looks up a localized string similar to The exceptions collection included at least one null element..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskExceptionHolder_UnhandledException">
+ <summary>
+ Looks up a localized string similar to A Task&apos;s exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskExceptionHolder_UnknownExceptionType">
+ <summary>
+ Looks up a localized string similar to (Internal)Expected an Exception or an IEnumerable&lt;Exception&gt;.
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_ExecuteTask_TaskAlreadyExecuted">
+ <summary>
+ Looks up a localized string similar to ExecuteTask may not be called for a task which was already executed..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_ExecuteTask_WrongTaskScheduler">
+ <summary>
+ Looks up a localized string similar to ExecuteTask may not be called for a task which was previously queued to a different TaskScheduler..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_FromCurrentSynchronizationContext_NoCurrent">
+ <summary>
+ Looks up a localized string similar to The current SynchronizationContext may not be used as a TaskScheduler..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskScheduler_InconsistentStateAfterTryExecuteTaskInline">
+ <summary>
+ Looks up a localized string similar to The TryExecuteTaskInline call to the underlying scheduler succeeded, but the task body was not invoked..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskSchedulerException_ctor_DefaultMessage">
+ <summary>
+ Looks up a localized string similar to An exception was thrown by a TaskScheduler..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_ctor_SelfReplicating">
+ <summary>
+ Looks up a localized string similar to It is invalid to specify TaskCreationOptions.SelfReplicating for a Task&lt;TResult&gt;..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_DebuggerNoResult">
+ <summary>
+ Looks up a localized string similar to {Not yet computed}.
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_SetException_HasAnInitializer">
+ <summary>
+ Looks up a localized string similar to A task&apos;s Exception may only be set directly if the task was created without a function..
+ </summary>
+ </member>
+ <member name="P:System.Strings.TaskT_TransitionToFinal_AlreadyCompleted">
+ <summary>
+ Looks up a localized string similar to An attempt was made to transition a task to a final state when it had already completed..
+ </summary>
+ </member>
+ <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2">
+ <summary>
+ Represents a thread-safe collection of keys and values.
+ </summary>
+ <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
+ <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
+ <remarks>
+ All public and protected members of <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> are thread-safe and may be used
+ concurrently from multiple threads.
+ </remarks>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the default concurrency level, has the default initial capacity, and
+ uses the default comparer for the key type.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Int32)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the specified concurrency level and capacity, and uses the default
+ comparer for the key type.
+ </summary>
+ <param name="concurrencyLevel">The estimated number of threads that will update the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
+ <param name="capacity">The initial number of elements that the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ can contain.</param>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="concurrencyLevel"/> is
+ less than 1.</exception>
+ <exception cref="T:ArgumentOutOfRangeException"> <paramref name="capacity"/> is less than
+ 0.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/>, has the default concurrency
+ level, has the default initial capacity, and uses the default comparer for the key type.
+ </summary>
+ <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to
+ the new
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentException"><paramref name="collection"/> contains one or more
+ duplicate keys.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the specified concurrency level and capacity, and uses the specified
+ <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
+ implementation to use when comparing keys.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable"/>, has the default concurrency level, has the default
+ initial capacity, and uses the specified
+ <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to
+ the new
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
+ implementation to use when comparing keys.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is a null reference
+ (Nothing in Visual Basic). -or-
+ <paramref name="comparer"/> is a null reference (Nothing in Visual Basic).
+ </exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable"/>,
+ has the specified concurrency level, has the specified initial capacity, and uses the specified
+ <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="concurrencyLevel">The estimated number of threads that will update the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
+ <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to the new
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/> implementation to use
+ when comparing keys.</param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="collection"/> is a null reference (Nothing in Visual Basic).
+ -or-
+ <paramref name="comparer"/> is a null reference (Nothing in Visual Basic).
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="concurrencyLevel"/> is less than 1.
+ </exception>
+ <exception cref="T:System.ArgumentException"><paramref name="collection"/> contains one or more duplicate keys.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ class that is empty, has the specified concurrency level, has the specified initial capacity, and
+ uses the specified <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
+ </summary>
+ <param name="concurrencyLevel">The estimated number of threads that will update the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
+ <param name="capacity">The initial number of elements that the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ can contain.</param>
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
+ implementation to use when comparing keys.</param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="concurrencyLevel"/> is less than 1. -or-
+ <paramref name="capacity"/> is less than 0.
+ </exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryAdd(`0,`1)">
+ <summary>
+ Attempts to add the specified key and value to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <param name="key">The key of the element to add.</param>
+ <param name="value">The value of the element to add. The value can be a null reference (Nothing
+ in Visual Basic) for reference types.</param>
+ <returns>true if the key/value pair was added to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ successfully; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ contains too many elements.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ContainsKey(`0)">
+ <summary>
+ Determines whether the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> contains the specified
+ key.
+ </summary>
+ <param name="key">The key to locate in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
+ <returns>true if the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> contains an element with
+ the specified key; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryRemove(`0,`1@)">
+ <summary>
+ Attempts to remove and return the the value with the specified key from the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <param name="key">The key of the element to remove and return.</param>
+ <param name="value">When this method returns, <paramref name="value"/> contains the object removed from the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> or the default value of <typeparamref name="TValue"/>
+ if the operation failed.</param>
+ <returns>true if an object was removed successfully; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryRemoveInternal(`0,`1@,System.Boolean,`1)">
+ <summary>
+ Removes the specified key from the dictionary if it exists and returns its associated value.
+ If matchValue flag is set, the key will be removed only if is associated with a particular
+ value.
+ </summary>
+ <param name="key">The key to search for and remove if it exists.</param>
+ <param name="value">The variable into which the removed value, if found, is stored.</param>
+ <param name="matchValue">Whether removal of the key is conditional on its value.</param>
+ <param name="oldValue">The conditional value to compare against if <paramref name="matchValue"/> is true</param>
+ <returns></returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryGetValue(`0,`1@)">
+ <summary>
+ Attempts to get the value associated with the specified key from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <param name="key">The key of the value to get.</param>
+ <param name="value">When this method returns, <paramref name="value"/> contains the object from
+ the
+ <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> with the spedified key or the default value of
+ <typeparamref name="TValue"/>, if the operation failed.</param>
+ <returns>true if the key was found in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>;
+ otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryUpdate(`0,`1,`1)">
+ <summary>
+ Compares the existing value for the specified key with a specified value, and if they’re equal,
+ updates the key with a third value.
+ </summary>
+ <param name="key">The key whose value is compared with <paramref name="comparisonValue"/> and
+ possibly replaced.</param>
+ <param name="newValue">The value that replaces the value of the element with <paramref
+ name="key"/> if the comparison results in equality.</param>
+ <param name="comparisonValue">The value that is compared to the value of the element with
+ <paramref name="key"/>.</param>
+ <returns>true if the value with <paramref name="key"/> was equal to <paramref
+ name="comparisonValue"/> and replaced with <paramref name="newValue"/>; otherwise,
+ false.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null
+ reference.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.Clear">
+ <summary>
+ Removes all keys and values from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
+ <summary>
+ Copies the elements of the <see cref="T:System.Collections.Generic.ICollection"/> to an array of
+ type <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>, starting at the
+ specified array index.
+ </summary>
+ <param name="array">The one-dimensional array of type <see
+ cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ that is the destination of the <see
+ cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/> elements copied from the <see
+ cref="T:System.Collections.ICollection"/>. The array must have zero-based indexing.</param>
+ <param name="index">The zero-based index in <paramref name="array"/> at which copying
+ begins.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="index"/> is less than
+ 0.</exception>
+ <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than
+ the length of the <paramref name="array"/>. -or- The number of elements in the source <see
+ cref="T:System.Collections.ICollection"/>
+ is greater than the available space from <paramref name="index"/> to the end of the destination
+ <paramref name="array"/>.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ToArray">
+ <summary>
+ Copies the key and value pairs stored in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> to a
+ new array.
+ </summary>
+ <returns>A new array containing a snapshot of key and value pairs copied from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToPairs(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
+ <summary>
+ Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
+
+ Important: the caller must hold all locks in m_locks before calling CopyToPairs.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToEntries(System.Collections.DictionaryEntry[],System.Int32)">
+ <summary>
+ Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
+
+ Important: the caller must hold all locks in m_locks before calling CopyToEntries.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToObjects(System.Object[],System.Int32)">
+ <summary>
+ Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
+
+ Important: the caller must hold all locks in m_locks before calling CopyToObjects.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator">
+ <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</summary>
+ <returns>An enumerator for the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
+ <remarks>
+ The enumerator returned from the dictionary is safe to use concurrently with
+ reads and writes to the dictionary, however it does not represent a moment-in-time snapshot
+ of the dictionary. The contents exposed through the enumerator may contain modifications
+ made to the dictionary after <see cref="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator"/> was called.
+ </remarks>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryAddInternal(`0,`1,System.Boolean,System.Boolean,`1@)">
+ <summary>
+ Shared internal implementation for inserts and updates.
+ If key exists, we always return false; and if updateIfExists == true we force update with value;
+ If key doesn't exist, we always add value and return true;
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(`0,System.Func{`0,`1})">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ if the key does not already exist.
+ </summary>
+ <param name="key">The key of the element to add.</param>
+ <param name="valueFactory">The function used to generate a value for the key</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="valueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The value for the key. This will be either the existing value for the key if the
+ key is already in the dictionary, or the new value for the key as returned by valueFactory
+ if the key was not in the dictionary.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(`0,`1)">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ if the key does not already exist.
+ </summary>
+ <param name="key">The key of the element to add.</param>
+ <param name="value">the value to be added, if the key does not already exist</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The value for the key. This will be either the existing value for the key if the
+ key is already in the dictionary, or the new value if the key was not in the dictionary.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(`0,System.Func{`0,`1},System.Func{`0,`1,`1})">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key does not already
+ exist, or updates a key/value pair in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key
+ already exists.
+ </summary>
+ <param name="key">The key to be added or whose value should be updated</param>
+ <param name="addValueFactory">The function used to generate a value for an absent key</param>
+ <param name="updateValueFactory">The function used to generate a new value for an existing key
+ based on the key's existing value</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="addValueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="updateValueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The new value for the key. This will be either be the result of addValueFactory (if the key was
+ absent) or the result of updateValueFactory (if the key was present).</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(`0,`1,System.Func{`0,`1,`1})">
+ <summary>
+ Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key does not already
+ exist, or updates a key/value pair in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key
+ already exists.
+ </summary>
+ <param name="key">The key to be added or whose value should be updated</param>
+ <param name="addValue">The value to be added for an absent key</param>
+ <param name="updateValueFactory">The function used to generate a new value for an existing key based on
+ the key's existing value</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentNullException"><paramref name="updateValueFactory"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <returns>The new value for the key. This will be either be the result of addValueFactory (if the key was
+ absent) or the result of updateValueFactory (if the key was present).</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Add(`0,`1)">
+ <summary>
+ Adds the specified key and value to the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </summary>
+ <param name="key">The object to use as the key of the element to add.</param>
+ <param name="value">The object to use as the value of the element to add.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <exception cref="T:System.ArgumentException">
+ An element with the same key already exists in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Remove(`0)">
+ <summary>
+ Removes the element with the specified key from the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </summary>
+ <param name="key">The key of the element to remove.</param>
+ <returns>true if the element is successfully remove; otherwise false. This method also returns
+ false if
+ <paramref name="key"/> was not found in the original <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Add(System.Collections.Generic.KeyValuePair{`0,`1})">
+ <summary>
+ Adds the specified value to the <see cref="T:System.Collections.Generic.ICollection{TValue}"/>
+ with the specified key.
+ </summary>
+ <param name="keyValuePair">The <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ structure representing the key and value to add to the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="keyValuePair"/> of <paramref
+ name="keyValuePair"/> is null.</exception>
+ <exception cref="T:System.OverflowException">The <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>
+ contains too many elements.</exception>
+ <exception cref="T:System.ArgumentException">An element with the same key already exists in the
+ <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/></exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
+ <summary>
+ Determines whether the <see cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/>
+ contains a specific key and value.
+ </summary>
+ <param name="keyValuePair">The <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ structure to locate in the <see
+ cref="T:System.Collections.Generic.ICollection{TValue}"/>.</param>
+ <returns>true if the <paramref name="keyValuePair"/> is found in the <see
+ cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/>; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
+ <summary>
+ Removes a key and value from the dictionary.
+ </summary>
+ <param name="keyValuePair">The <see
+ cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
+ structure representing the key and value to remove from the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</param>
+ <returns>true if the key and value represented by <paramref name="keyValuePair"/> is successfully
+ found and removed; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException">The Key property of <paramref
+ name="keyValuePair"/> is a null reference (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IEnumerable#GetEnumerator">
+ <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</summary>
+ <returns>An enumerator for the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
+ <remarks>
+ The enumerator returned from the dictionary is safe to use concurrently with
+ reads and writes to the dictionary, however it does not represent a moment-in-time snapshot
+ of the dictionary. The contents exposed through the enumerator may contain modifications
+ made to the dictionary after <see cref="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator"/> was called.
+ </remarks>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Add(System.Object,System.Object)">
+ <summary>
+ Adds the specified key and value to the dictionary.
+ </summary>
+ <param name="key">The object to use as the key.</param>
+ <param name="value">The object to use as the value.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <exception cref="T:System.ArgumentException">
+ <paramref name="key"/> is of a type that is not assignable to the key type <typeparamref
+ name="TKey"/> of the <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>. -or-
+ <paramref name="value"/> is of a type that is not assignable to <typeparamref name="TValue"/>,
+ the type of values in the <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ -or- A value with the same key already exists in the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ </exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Contains(System.Object)">
+ <summary>
+ Gets whether the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> contains an
+ element with the specified key.
+ </summary>
+ <param name="key">The key to locate in the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</param>
+ <returns>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> contains
+ an element with the specified key; otherwise, false.</returns>
+ <exception cref="T:System.ArgumentNullException"> <paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#GetEnumerator">
+ <summary>Provides an <see cref="T:System.Collections.Generics.IDictionaryEnumerator"/> for the
+ <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</summary>
+ <returns>An <see cref="T:System.Collections.Generics.IDictionaryEnumerator"/> for the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</returns>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Remove(System.Object)">
+ <summary>
+ Removes the element with the specified key from the <see
+ cref="T:System.Collections.IDictionary"/>.
+ </summary>
+ <param name="key">The key of the element to remove.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
+ <summary>
+ Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an array, starting
+ at the specified array index.
+ </summary>
+ <param name="array">The one-dimensional array that is the destination of the elements copied from
+ the <see cref="T:System.Collections.ICollection"/>. The array must have zero-based
+ indexing.</param>
+ <param name="index">The zero-based index in <paramref name="array"/> at which copying
+ begins.</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="index"/> is less than
+ 0.</exception>
+ <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than
+ the length of the <paramref name="array"/>. -or- The number of elements in the source <see
+ cref="T:System.Collections.ICollection"/>
+ is greater than the available space from <paramref name="index"/> to the end of the destination
+ <paramref name="array"/>.</exception>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GrowTable(System.Collections.Concurrent.ConcurrentDictionary{`0,`1}.Node[])">
+ <summary>
+ Replaces the internal table with a larger one. To prevent multiple threads from resizing the
+ table as a result of races, the table of buckets that was deemed too small is passed in as
+ an argument to GrowTable(). GrowTable() obtains a lock, and then checks whether the bucket
+ table has been replaced in the meantime or not.
+ </summary>
+ <param name="buckets">Reference to the bucket table that was deemed too small.</param>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetBucketAndLockNo(System.Int32,System.Int32@,System.Int32@,System.Int32)">
+ <summary>
+ Computes the bucket and lock number for a particular key.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AcquireAllLocks(System.Int32@)">
+ <summary>
+ Acquires all locks for this hash table, and increments locksAcquired by the number
+ of locks that were successfully acquired. The locks are acquired in an increasing
+ order.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AcquireLocks(System.Int32,System.Int32,System.Int32@)">
+ <summary>
+ Acquires a contiguous range of locks for this hash table, and increments locksAcquired
+ by the number of locks that were successfully acquired. The locks are acquired in an
+ increasing order.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ReleaseLocks(System.Int32,System.Int32)">
+ <summary>
+ Releases a contiguous range of locks.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetKeys">
+ <summary>
+ Gets a collection containing the keys in the dictionary.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetValues">
+ <summary>
+ Gets a collection containing the values in the dictionary.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.Assert(System.Boolean)">
+ <summary>
+ A helper method for asserts.
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.OnSerializing(System.Runtime.Serialization.StreamingContext)">
+ <summary>
+ Get the data array to be serialized
+ </summary>
+ </member>
+ <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.OnDeserialized(System.Runtime.Serialization.StreamingContext)">
+ <summary>
+ Construct the dictionary from a previously seiralized one
+ </summary>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Item(`0)">
+ <summary>
+ Gets or sets the value associated with the specified key.
+ </summary>
+ <param name="key">The key of the value to get or set.</param>
+ <value>The value associated with the specified key. If the specified key is not found, a get
+ operation throws a
+ <see cref="T:Sytem.Collections.Generic.KeyNotFoundException"/>, and a set operation creates a new
+ element with the specified key.</value>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and
+ <paramref name="key"/>
+ does not exist in the collection.</exception>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Count">
+ <summary>
+ Gets the number of key/value pairs contained in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
+ </summary>
+ <exception cref="T:System.OverflowException">The dictionary contains too many
+ elements.</exception>
+ <value>The number of key/value paris contained in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</value>
+ <remarks>Count has snapshot semantics and represents the number of items in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
+ at the moment when Count was accessed.</remarks>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.IsEmpty">
+ <summary>
+ Gets a value that indicates whether the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> is empty.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> is empty; otherwise,
+ false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Keys">
+ <summary>
+ Gets a collection containing the keys in the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.Generic.ICollection{TKey}"/> containing the keys in the
+ <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Values">
+ <summary>
+ Gets a collection containing the values in the <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.Generic.ICollection{TValue}"/> containing the values in
+ the
+ <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#IsReadOnly">
+ <summary>
+ Gets a value indicating whether the dictionary is read-only.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/> is
+ read-only; otherwise, false. For <see
+ cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>, this property always returns
+ false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#IsFixedSize">
+ <summary>
+ Gets a value indicating whether the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> has a fixed size.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> has a
+ fixed size; otherwise, false. For <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>, this property always
+ returns false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#IsReadOnly">
+ <summary>
+ Gets a value indicating whether the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> is read-only.
+ </summary>
+ <value>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> is
+ read-only; otherwise, false. For <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>, this property always
+ returns false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Keys">
+ <summary>
+ Gets an <see cref="T:System.Collections.ICollection"/> containing the keys of the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.ICollection"/> containing the keys of the <see
+ cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Values">
+ <summary>
+ Gets an <see cref="T:System.Collections.ICollection"/> containing the values in the <see
+ cref="T:System.Collections.IDictionary"/>.
+ </summary>
+ <value>An <see cref="T:System.Collections.ICollection"/> containing the values in the <see
+ cref="T:System.Collections.IDictionary"/>.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Item(System.Object)">
+ <summary>
+ Gets or sets the value associated with the specified key.
+ </summary>
+ <param name="key">The key of the value to get or set.</param>
+ <value>The value associated with the specified key, or a null reference (Nothing in Visual Basic)
+ if <paramref name="key"/> is not in the dictionary or <paramref name="key"/> is of a type that is
+ not assignable to the key type <typeparamref name="TKey"/> of the <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>.</value>
+ <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
+ (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.ArgumentException">
+ A value is being assigned, and <paramref name="key"/> is of a type that is not assignable to the
+ key type <typeparamref name="TKey"/> of the <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>. -or- A value is being
+ assigned, and <paramref name="key"/> is of a type that is not assignable to the value type
+ <typeparamref name="TValue"/> of the <see
+ cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>
+ </exception>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#IsSynchronized">
+ <summary>
+ Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is
+ synchronized with the SyncRoot.
+ </summary>
+ <value>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized
+ (thread safe); otherwise, false. For <see
+ cref="T:System.Collections.Concurrent.ConcurrentDictionary{TKey,TValue}"/>, this property always
+ returns false.</value>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#SyncRoot">
+ <summary>
+ Gets an object that can be used to synchronize access to the <see
+ cref="T:System.Collections.ICollection"/>. This property is not supported.
+ </summary>
+ <exception cref="T:System.NotSupportedException">The SyncRoot property is not supported.</exception>
+ </member>
+ <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.DefaultConcurrencyLevel">
+ <summary>
+ The number of concurrent writes for which to optimize by default.
+ </summary>
+ </member>
+ <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2.Node">
+ <summary>
+ A node in a singly-linked list representing a particular hash table bucket.
+ </summary>
+ </member>
+ <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2.DictionaryEnumerator">
+ <summary>
+ A private class to represent enumeration over the dictionary that implements the
+ IDictionaryEnumerator interface.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncMethodBuilder">
+ <summary>Represents an asynchronous method builder.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.s_cachedCompleted">
+ <summary>A cached VoidTaskResult task used for builders that complete synchronously.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.m_builder">
+ <summary>The generic builder object to which this non-generic instance delegates.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetResult">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task"/> representing the builder's asynchronous operation.</returns>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore">
+ <summary>Holds state related to the builder's IAsyncStateMachine.</summary>
+ <remarks>This is a mutable struct. Be very delicate with it.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.m_stateMachine">
+ <summary>A reference to the heap-allocated state machine object associated with this builder.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.GetCompletionAction``2(``0@,``1@)">
+ <summary>
+ Gets the Action to use with an awaiter's OnCompleted or UnsafeOnCompleted method.
+ On first invocation, the supplied state machine will be boxed.
+ </summary>
+ <typeparam name="TMethodBuilder">Specifies the type of the method builder used.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine used.</typeparam>
+ <param name="builder">The builder.</param>
+ <param name="stateMachine">The state machine.</param>
+ <returns>An Action to provide to the awaiter.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner">
+ <summary>Provides the ability to invoke a state machine's MoveNext method under a supplied ExecutionContext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_context">
+ <summary>The context with which to run MoveNext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_stateMachine">
+ <summary>The state machine whose MoveNext method should be invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.#ctor(System.ExecutionContextLightup)">
+ <summary>Initializes the runner.</summary>
+ <param name="context">The context with which to run MoveNext.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run">
+ <summary>Invokes MoveNext under the provided context.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.s_invokeMoveNext">
+ <summary>Cached delegate used with ExecutionContext.Run.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(System.Object)">
+ <summary>Invokes the MoveNext method on the supplied IAsyncStateMachine.</summary>
+ <param name="stateMachine">The IAsyncStateMachine machine instance.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return void.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_synchronizationContext">
+ <summary>The synchronization context associated with this operation.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_objectIdForDebugger">
+ <summary>An object used by the debugger to uniquely identify this builder. Lazily initialized.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.PreventUnobservedTaskExceptions">
+ <summary>Registers with UnobservedTaskException to suppress exception crashing.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.s_preventUnobservedTaskExceptionsInvoked">
+ <summary>Non-zero if PreventUnobservedTaskExceptions has already been invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#ctor(System.Threading.SynchronizationContext)">
+ <summary>Initializes the <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <param name="synchronizationContext">The synchronizationContext associated with this operation. This may be null.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetResult">
+ <summary>Completes the method builder successfully.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetException(System.Exception)">
+ <summary>Faults the method builder with an exception.</summary>
+ <param name="exception">The exception that is the cause of this fault.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.NotifySynchronizationContextOfCompletion">
+ <summary>Notifies the current synchronization context that the operation completed.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger and only in a single-threaded manner.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task`1"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder{TResult} is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.s_defaultResultTask">
+ <summary>A cached task for default(TResult).</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_task">
+ <summary>The lazily-initialized task.</summary>
+ <remarks>Must be named m_task for debugger step-over to work correctly.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_taskCompletionSource">
+ <summary>The lazily-initialized task completion source.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(`0)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state with the specified result.
+ </summary>
+ <param name="result">The result to use to complete the task.</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(System.Threading.Tasks.TaskCompletionSource{`0})">
+ <summary>
+ Completes the builder by using either the supplied completed task, or by completing
+ the builder's previously accessed task using default(TResult).
+ </summary>
+ <param name="completedTask">A task already completed with the value default(TResult).</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ <remarks>
+ This should only be invoked from within an asynchronous method,
+ and only by the debugger.
+ </remarks>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.GetTaskForResult(`0)">
+ <summary>
+ Gets a task for the specified result. This will either
+ be a cached or new task, never null.
+ </summary>
+ <param name="result">The result for which we need a task.</param>
+ <returns>The completed task containing the result.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.CompletionSource">
+ <summary>Gets the lazily-initialized TaskCompletionSource.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task`1"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task`1"/> representing the builder's asynchronous operation.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1">
+ <summary>Provides a base class used to cache tasks of a specific return type.</summary>
+ <typeparam name="TResult">Specifies the type of results the cached tasks return.</typeparam>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.Singleton">
+ <summary>
+ A singleton cache for this result type.
+ This may be null if there are no cached tasks for this TResult.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCompleted(`0)">
+ <summary>Creates a non-disposable task.</summary>
+ <param name="result">The result for the task.</param>
+ <returns>The cacheable task.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCache">
+ <summary>Creates a cache.</summary>
+ <returns>A task cache for this result type.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.FromResult(`0)">
+ <summary>Gets a cached task if one exists.</summary>
+ <param name="result">The result for which we want a cached task.</param>
+ <returns>A cached task if one exists; otherwise, null.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache">
+ <summary>Provides a cache for Boolean tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_true">
+ <summary>A true task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_false">
+ <summary>A false task.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.FromResult(System.Boolean)">
+ <summary>Gets a cached task for the Boolean result.</summary>
+ <param name="result">true or false</param>
+ <returns>A cached task for the Boolean result.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache">
+ <summary>Provides a cache for zero Int32 tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.INCLUSIVE_INT32_MIN">
+ <summary>The minimum value, inclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.EXCLUSIVE_INT32_MAX">
+ <summary>The maximum value, exclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.Int32Tasks">
+ <summary>The cache of Task{Int32}.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.CreateInt32Tasks">
+ <summary>Creates an array of cached tasks for the values in the range [INCLUSIVE_MIN,EXCLUSIVE_MAX).</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.FromResult(System.Int32)">
+ <summary>Gets a cached task for the zero Int32 result.</summary>
+ <param name="result">The integer value</param>
+ <returns>A cached task for the Int32 result or null if not cached.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncStateMachine">
+ <summary>
+ Represents state machines generated for asynchronous methods.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.MoveNext">
+ <summary>Moves the state machine to its next state.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Configures the state machine with a heap-allocated replica.</summary>
+ <param name="stateMachine">The heap-allocated replica.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.ICriticalNotifyCompletion">
+ <summary>
+ Represents an awaiter used to schedule continuations when an await operation completes.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.INotifyCompletion">
+ <summary>
+ Represents an operation that will schedule continuations when the operation completes.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.INotifyCompletion.OnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.ICriticalNotifyCompletion.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <remarks>Unlike OnCompleted, UnsafeOnCompleted need not propagate ExecutionContext information.</remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.VoidTaskResult">
+ <summary>Used with Task(of void)</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.IThreadPoolWorkItem">
+ <summary>
+ An interface similar to the one added in .NET 4.0.
+ </summary>
+ </member>
+ <member name="T:System.OperationCanceledException">
+ <summary>The exception that is thrown in a thread upon cancellation of an operation that the thread was executing.</summary>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor">
+ <summary>Initializes the exception.</summary>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String,System.Exception)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.Threading.CancellationToken)">
+ <summary>Initializes the exception.</summary>
+ <param name="token">A cancellation token associated with the operation that was canceled.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String,System.Threading.CancellationToken)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="token">A cancellation token associated with the operation that was canceled.</param>
+ </member>
+ <member name="M:System.OperationCanceledException.#ctor(System.String,System.Exception,System.Threading.CancellationToken)">
+ <summary>Initializes the exception.</summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ <param name="token">A cancellation token associated with the operation that was canceled.</param>
+ </member>
+ <member name="P:System.OperationCanceledException.CancellationToken">
+ <summary>Gets a token associated with the operation that was canceled.</summary>
+ </member>
+ <member name="T:System.Threading.StackCrawlMark">
+ <summary>
+ A dummy replacement for the .NET internal class StackCrawlMark.
+ </summary>
+ </member>
+ <member name="T:System.Threading.CancellationToken">
+ <summary>
+ Propogates notification that operations should be canceled.
+ </summary>
+ <remarks>
+ <para>
+ A <see cref="T:System.Threading.CancellationToken"/> may be created directly in an unchangeable canceled or non-canceled state
+ using the CancellationToken's constructors. However, to have a CancellationToken that can change
+ from a non-canceled to a canceled state,
+ <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> must be used.
+ CancellationTokenSource exposes the associated CancellationToken that may be canceled by the source through its
+ <see cref="P:System.Threading.CancellationTokenSource.Token">Token</see> property.
+ </para>
+ <para>
+ Once canceled, a token may not transition to a non-canceled state, and a token whose
+ <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> is false will never change to one that can be canceled.
+ </para>
+ <para>
+ All members of this struct are thread-safe and may be used concurrently from multiple threads.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationToken.#ctor(System.Threading.CancellationTokenSource)">
+ <summary>
+ Internal constructor only a CancellationTokenSource should create a CancellationToken
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationToken.#ctor(System.Boolean)">
+ <summary>
+ Initializes the <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <param name="canceled">
+ The canceled state for the token.
+ </param>
+ <remarks>
+ Tokens created with this constructor will remain in the canceled state specified
+ by the <paramref name="canceled"/> parameter. If <paramref name="canceled"/> is false,
+ both <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> and <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will be false.
+ If <paramref name="canceled"/> is true,
+ both <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> and <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will be true.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action)">
+ <summary>
+ Registers a delegate that will be called when this <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action,System.Boolean)">
+ <summary>
+ Registers a delegate that will be called when this
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <param name="useSynchronizationContext">A Boolean value that indicates whether to capture
+ the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see> and use it
+ when invoking the <paramref name="callback"/>.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action{System.Object},System.Object)">
+ <summary>
+ Registers a delegate that will be called when this
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <param name="state">The state to pass to the <paramref name="callback"/> when the delegate is invoked. This may be null.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Register(System.Action{System.Object},System.Object,System.Boolean)">
+ <summary>
+ Registers a delegate that will be called when this
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
+ </summary>
+ <remarks>
+ <para>
+ If this token is already in the canceled state, the
+ delegate will be run immediately and synchronously. Any exception the delegate generates will be
+ propogated out of this method call.
+ </para>
+ </remarks>
+ <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
+ <param name="state">The state to pass to the <paramref name="callback"/> when the delegate is invoked. This may be null.</param>
+ <param name="useSynchronizationContext">A Boolean value that indicates whether to capture
+ the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see> and use it
+ when invoking the <paramref name="callback"/>.</param>
+ <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
+ be used to deregister the callback.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Equals(System.Threading.CancellationToken)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
+ specified token.
+ </summary>
+ <param name="other">The other <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to which to compare this
+ instance.</param>
+ <returns>True if the instances are equal; otherwise, false. Two tokens are equal if they are associated
+ with the same <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> or if they were both constructed
+ from public CancellationToken constructors and their <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> values are equal.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationToken.Equals(System.Object)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
+ specified <see cref="T:System.Object"/>.
+ </summary>
+ <param name="other">The other object to which to compare this instance.</param>
+ <returns>True if <paramref name="other"/> is a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ and if the two instances are equal; otherwise, false. Two tokens are equal if they are associated
+ with the same <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> or if they were both constructed
+ from public CancellationToken constructors and their <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> values are equal.</returns>
+ <exception cref="T:System.ObjectDisposedException">An associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.GetHashCode">
+ <summary>
+ Serves as a hash function for a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <returns>A hash code for the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationToken.op_Equality(System.Threading.CancellationToken,System.Threading.CancellationToken)">
+ <summary>
+ Determines whether two <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances are equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are equal; otherwise, false.</returns>
+ <exception cref="T:System.ObjectDisposedException">An associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.op_Inequality(System.Threading.CancellationToken,System.Threading.CancellationToken)">
+ <summary>
+ Determines whether two <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances are not equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are not equal; otherwise, false.</returns>
+ <exception cref="T:System.ObjectDisposedException">An associated <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationToken.ThrowIfCancellationRequested">
+ <summary>
+ Throws a <see cref="T:System.OperationCanceledException">OperationCanceledException</see> if
+ this token has had cancellation requested.
+ </summary>
+ <remarks>
+ This method provides functionality equivalent to:
+ <code>
+ if (token.IsCancellationRequested)
+ throw new OperationCanceledException(token);
+ </code>
+ </remarks>
+ <exception cref="T:System.OperationCanceledException">The token has had cancellation requested.</exception>
+ <exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="P:System.Threading.CancellationToken.None">
+ <summary>
+ Returns an empty CancellationToken value.
+ </summary>
+ <remarks>
+ The <see cref="T:System.Threading.CancellationToken"/> value returned by this property will be non-cancelable by default.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationToken.IsCancellationRequested">
+ <summary>
+ Gets whether cancellation has been requested for this token.
+ </summary>
+ <value>Whether cancellation has been requested for this token.</value>
+ <remarks>
+ <para>
+ This property indicates whether cancellation has been requested for this token,
+ either through the token initially being construted in a canceled state, or through
+ calling <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see>
+ on the token's associated <see cref="T:System.Threading.CancellationTokenSource"/>.
+ </para>
+ <para>
+ If this property is true, it only guarantees that cancellation has been requested.
+ It does not guarantee that every registered handler
+ has finished executing, nor that cancellation requests have finished propagating
+ to all registered handlers. Additional synchronization may be required,
+ particularly in situations where related objects are being canceled concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationToken.CanBeCanceled">
+ <summary>
+ Gets whether this token is capable of being in the canceled state.
+ </summary>
+ <remarks>
+ If CanBeCanceled returns false, it is guaranteed that the token will never transition
+ into a canceled state, meaning that <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will never
+ return true.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationToken.WaitHandle">
+ <summary>
+ Gets a <see cref="T:System.Threading.WaitHandle"/> that is signaled when the token is canceled.</summary>
+ <remarks>
+ Accessing this property causes a <see cref="T:System.Threading.WaitHandle">WaitHandle</see>
+ to be instantiated. It is preferable to only use this property when necessary, and to then
+ dispose the associated <see cref="T:System.Threading.CancellationTokenSource"/> instance at the earliest opportunity (disposing
+ the source will dispose of this allocated handle). The handle should not be closed or disposed directly.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
+ </member>
+ <member name="T:System.Threading.CancellationTokenRegistration">
+ <summary>
+ Represents a callback delegate that has been registered with a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <remarks>
+ To unregister a callback, dispose the corresponding Registration instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.TryDeregister">
+ <summary>
+ Attempts to deregister the item. If it's already being run, this may fail.
+ Entails a full memory fence.
+ </summary>
+ <returns>True if the callback was found and deregistered, false otherwise.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.Dispose">
+ <summary>
+ Disposes of the registration and unregisters the target callback from the associated
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ If the target callback is currently executing this method will wait until it completes, except
+ in the degenerate cases where a callback method deregisters itself.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.op_Equality(System.Threading.CancellationTokenRegistration,System.Threading.CancellationTokenRegistration)">
+ <summary>
+ Determines whether two <see
+ cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see>
+ instances are equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are equal; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.op_Inequality(System.Threading.CancellationTokenRegistration,System.Threading.CancellationTokenRegistration)">
+ <summary>
+ Determines whether two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are not equal.
+ </summary>
+ <param name="left">The first instance.</param>
+ <param name="right">The second instance.</param>
+ <returns>True if the instances are not equal; otherwise, false.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.Equals(System.Object)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instance is equal to the
+ specified <see cref="T:System.Object"/>.
+ </summary>
+ <param name="obj">The other object to which to compare this instance.</param>
+ <returns>True, if both this and <paramref name="obj"/> are equal. False, otherwise.
+ Two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are equal if
+ they both refer to the output of a single call to the same Register method of a
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.Equals(System.Threading.CancellationTokenRegistration)">
+ <summary>
+ Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
+ specified <see cref="T:System.Object"/>.
+ </summary>
+ <param name="other">The other <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> to which to compare this instance.</param>
+ <returns>True, if both this and <paramref name="other"/> are equal. False, otherwise.
+ Two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are equal if
+ they both refer to the output of a single call to the same Register method of a
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenRegistration.GetHashCode">
+ <summary>
+ Serves as a hash function for a <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration.</see>.
+ </summary>
+ <returns>A hash code for the current <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instance.</returns>
+ </member>
+ <member name="T:System.Threading.CancellationTokenSource">
+ <summary>
+ Signals to a <see cref="T:System.Threading.CancellationToken"/> that it should be canceled.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.CancellationTokenSource"/> is used to instantiate a <see cref="T:System.Threading.CancellationToken"/>
+ (via the source's <see cref="P:System.Threading.CancellationTokenSource.Token">Token</see> property)
+ that can be handed to operations that wish to be notified of cancellation or that can be used to
+ register asynchronous operations for cancellation. That token may have cancellation requested by
+ calling to the source's <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see>
+ method.
+ </para>
+ <para>
+ All members of this class, except <see cref="M:System.Threading.CancellationTokenSource.Dispose">Dispose</see>, are thread-safe and may be used
+ concurrently from multiple threads.
+ </para>
+ </remarks>
+ </member>
+ <member name="F:System.Threading.CancellationTokenSource.m_threadIDExecutingCallbacks">
+ The ID of the thread currently executing the main body of CTS.Cancel()
+ this helps us to know if a call to ctr.Dispose() is running 'within' a cancellation callback.
+ This is updated as we move between the main thread calling cts.Cancel() and any syncContexts that are used to
+ actually run the callbacks.
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.#ctor">
+ <summary>
+ Initializes the <see cref="T:System.Threading.CancellationTokenSource"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.Cancel">
+ <summary>
+ Communicates a request for cancellation.
+ </summary>
+ <remarks>
+ <para>
+ The associated <see cref="T:System.Threading.CancellationToken"/> will be
+ notified of the cancellation and will transition to a state where
+ <see cref="P:System.Threading.CancellationToken.IsCancellationRequested">IsCancellationRequested</see> returns true.
+ Any callbacks or cancelable operations
+ registered with the <see cref="T:System.Threading.CancellationToken"/> will be executed.
+ </para>
+ <para>
+ Cancelable operations and callbacks registered with the token should not throw exceptions.
+ However, this overload of Cancel will aggregate any exceptions thrown into a <see cref="T:System.AggregateException"/>,
+ such that one callback throwing an exception will not prevent other registered callbacks from being executed.
+ </para>
+ <para>
+ The <see cref="T:System.Threading.ExecutionContext"/> that was captured when each callback was registered
+ will be reestablished when the callback is invoked.
+ </para>
+ </remarks>
+ <exception cref="T:System.AggregateException">An aggregate exception containing all the exceptions thrown
+ by the registered callbacks on the associated <see cref="T:System.Threading.CancellationToken"/>.</exception>
+ <exception cref="T:System.ObjectDisposedException">This <see cref="T:System.Threading.CancellationTokenSource"/> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.Cancel(System.Boolean)">
+ <summary>
+ Communicates a request for cancellation.
+ </summary>
+ <remarks>
+ <para>
+ The associated <see cref="T:System.Threading.CancellationToken"/> will be
+ notified of the cancellation and will transition to a state where
+ <see cref="P:System.Threading.CancellationToken.IsCancellationRequested">IsCancellationRequested</see> returns true.
+ Any callbacks or cancelable operations
+ registered with the <see cref="T:System.Threading.CancellationToken"/> will be executed.
+ </para>
+ <para>
+ Cancelable operations and callbacks registered with the token should not throw exceptions.
+ If <paramref name="throwOnFirstException"/> is true, an exception will immediately propagate out of the
+ call to Cancel, preventing the remaining callbacks and cancelable operations from being processed.
+ If <paramref name="throwOnFirstException"/> is false, this overload will aggregate any
+ exceptions thrown into a <see cref="T:System.AggregateException"/>,
+ such that one callback throwing an exception will not prevent other registered callbacks from being executed.
+ </para>
+ <para>
+ The <see cref="T:System.Threading.ExecutionContext"/> that was captured when each callback was registered
+ will be reestablished when the callback is invoked.
+ </para>
+ </remarks>
+ <param name="throwOnFirstException">Specifies whether exceptions should immediately propagate.</param>
+ <exception cref="T:System.AggregateException">An aggregate exception containing all the exceptions thrown
+ by the registered callbacks on the associated <see cref="T:System.Threading.CancellationToken"/>.</exception>
+ <exception cref="T:System.ObjectDisposedException">This <see cref="T:System.Threading.CancellationTokenSource"/> has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.Dispose">
+ <summary>
+ Releases the resources used by this <see cref="T:System.Threading.CancellationTokenSource" />.
+ </summary>
+ <remarks>
+ This method is not thread-safe for any other concurrent calls.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.ThrowIfDisposed">
+ <summary>
+ Throws an exception if the source has been disposed.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.InternalGetStaticSource(System.Boolean)">
+ <summary>
+ InternalGetStaticSource()
+ </summary>
+ <param name="set">Whether the source should be set.</param>
+ <returns>A static source to be shared among multiple tokens.</returns>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.InternalRegister(System.Action{System.Object},System.Object,System.Threading.SynchronizationContext)">
+ <summary>
+ Registers a callback object. If cancellation has already occurred, the
+ callback will have been run by the time this method returns.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.NotifyCancellation(System.Boolean)">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(System.Boolean)">
+ <summary>
+ Invoke the Canceled event.
+ </summary>
+ <remarks>
+ The handlers are invoked synchronously in LIFO order.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.CreateLinkedTokenSource(System.Threading.CancellationToken,System.Threading.CancellationToken)">
+ <summary>
+ Creates a <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that will be in the canceled state
+ when any of the source tokens are in the canceled state.
+ </summary>
+ <param name="token1">The first <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to observe.</param>
+ <param name="token2">The second <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to observe.</param>
+ <returns>A <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that is linked
+ to the source tokens.</returns>
+ <exception cref="T:System.ObjectDisposedException">A <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with
+ one of the source tokens has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.CancellationTokenSource.CreateLinkedTokenSource(System.Threading.CancellationToken[])">
+ <summary>
+ Creates a <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that will be in the canceled state
+ when any of the source tokens are in the canceled state.
+ </summary>
+ <param name="tokens">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances to observe.</param>
+ <returns>A <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that is linked
+ to the source tokens.</returns>
+ <exception cref="T:System.ArgumentNullException"><paramref name="tokens"/> is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">A <see
+ cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with
+ one of the source tokens has been disposed.</exception>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.IsCancellationRequested">
+ <summary>
+ Gets whether cancellation has been requested for this <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see>.
+ </summary>
+ <value>Whether cancellation has been requested for this <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see>.</value>
+ <remarks>
+ <para>
+ This property indicates whether cancellation has been requested for this token source, such as
+ due to a call to its
+ <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see> method.
+ </para>
+ <para>
+ If this property returns true, it only guarantees that cancellation has been requested. It does not
+ guarantee that every handler registered with the corresponding token has finished executing, nor
+ that cancellation requests have finished propagating to all registered handlers. Additional
+ synchronization may be required, particularly in situations where related objects are being
+ canceled concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.IsCancellationCompleted">
+ <summary>
+ A simple helper to determine whether cancellation has finished.
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.IsDisposed">
+ <summary>
+ A simple helper to determine whether disposal has occured.
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.ThreadIDExecutingCallbacks">
+ <summary>
+ The ID of the thread that is running callbacks.
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.Token">
+ <summary>
+ Gets the <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ associated with this <see cref="T:System.Threading.CancellationTokenSource"/>.
+ </summary>
+ <value>The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ associated with this <see cref="T:System.Threading.CancellationTokenSource"/>.</value>
+ <exception cref="T:System.ObjectDisposedException">The token source has been
+ disposed.</exception>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.CanBeCanceled">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.WaitHandle">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:System.Threading.CancellationTokenSource.ExecutingCallback">
+ <summary>
+ The currently executing callback
+ </summary>
+ </member>
+ <member name="T:System.Threading.CancellationCallbackInfo">
+ <summary>
+ A helper class for collating the various bits of information required to execute
+ cancellation callbacks.
+ </summary>
+ </member>
+ <member name="M:System.Threading.CancellationCallbackInfo.ExecuteCallback">
+ <summary>
+ InternalExecuteCallbackSynchronously_GeneralPath
+ This will be called on the target synchronization context, however, we still need to restore the required execution context
+ </summary>
+ </member>
+ <member name="T:System.Threading.SparselyPopulatedArray`1">
+ <summary>
+ A sparsely populated array. Elements can be sparse and some null, but this allows for
+ lock-free additions and growth, and also for constant time removal (by nulling out).
+ </summary>
+ <typeparam name="T">The kind of elements contained within.</typeparam>
+ </member>
+ <member name="M:System.Threading.SparselyPopulatedArray`1.#ctor(System.Int32)">
+ <summary>
+ Allocates a new array with the given initial size.
+ </summary>
+ <param name="initialSize">How many array slots to pre-allocate.</param>
+ </member>
+ <member name="M:System.Threading.SparselyPopulatedArray`1.Add(`0)">
+ <summary>
+ Adds an element in the first available slot, beginning the search from the tail-to-head.
+ If no slots are available, the array is grown. The method doesn't return until successful.
+ </summary>
+ <param name="element">The element to add.</param>
+ <returns>Information about where the add happened, to enable O(1) deregistration.</returns>
+ </member>
+ <member name="P:System.Threading.SparselyPopulatedArray`1.Tail">
+ <summary>
+ The tail of the doubly linked list.
+ </summary>
+ </member>
+ <member name="T:System.Threading.SparselyPopulatedArrayAddInfo`1">
+ <summary>
+ A struct to hold a link to the exact spot in an array an element was inserted, enabling
+ constant time removal later on.
+ </summary>
+ </member>
+ <member name="T:System.Threading.SparselyPopulatedArrayFragment`1">
+ <summary>
+ A fragment of a sparsely populated array, doubly linked.
+ </summary>
+ <typeparam name="T">The kind of elements contained within.</typeparam>
+ </member>
+ <member name="T:System.Threading.LazyInitializer">
+ <summary>
+ Provides lazy initialization routines.
+ </summary>
+ <remarks>
+ These routines avoid needing to allocate a dedicated, lazy-initialization instance, instead using
+ references to ensure targets have been initialized as they are accessed.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@)">
+ <summary>
+ Initializes a target reference type with the type's default constructor if the target has not
+ already been initialized.
+ </summary>
+ <typeparam name="T">The refence type of the reference to be initialized.</typeparam>
+ <param name="target">A reference of type <typeparamref name="T"/> to initialize if it has not
+ already been initialized.</param>
+ <returns>The initialized reference of type <typeparamref name="T"/>.</returns>
+ <exception cref="T:System.MissingMemberException">Type <typeparamref name="T"/> does not have a default
+ constructor.</exception>
+ <exception cref="T:System.MemberAccessException">
+ Permissions to access the constructor of type <typeparamref name="T"/> were missing.
+ </exception>
+ <remarks>
+ <para>
+ This method may only be used on reference types. To ensure initialization of value
+ types, see other overloads of EnsureInitialized.
+ </para>
+ <para>
+ This method may be used concurrently by multiple threads to initialize <paramref name="target"/>.
+ In the event that multiple threads access this method concurrently, multiple instances of <typeparamref name="T"/>
+ may be created, but only one will be stored into <paramref name="target"/>. In such an occurrence, this method will not dispose of the
+ objects that were not stored. If such objects must be disposed, it is up to the caller to determine
+ if an object was not used and to then dispose of the object appropriately.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Func{``0})">
+ <summary>
+ Initializes a target reference type using the specified function if it has not already been
+ initialized.
+ </summary>
+ <typeparam name="T">The reference type of the reference to be initialized.</typeparam>
+ <param name="target">The reference of type <typeparamref name="T"/> to initialize if it has not
+ already been initialized.</param>
+ <param name="valueFactory">The <see cref="T:System.Func{T}"/> invoked to initialize the
+ reference.</param>
+ <returns>The initialized reference of type <typeparamref name="T"/>.</returns>
+ <exception cref="T:System.MissingMemberException">Type <typeparamref name="T"/> does not have a
+ default constructor.</exception>
+ <exception cref="T:System.InvalidOperationException"><paramref name="valueFactory"/> returned
+ null.</exception>
+ <remarks>
+ <para>
+ This method may only be used on reference types, and <paramref name="valueFactory"/> may
+ not return a null reference (Nothing in Visual Basic). To ensure initialization of value types or
+ to allow null reference types, see other overloads of EnsureInitialized.
+ </para>
+ <para>
+ This method may be used concurrently by multiple threads to initialize <paramref name="target"/>.
+ In the event that multiple threads access this method concurrently, multiple instances of <typeparamref name="T"/>
+ may be created, but only one will be stored into <paramref name="target"/>. In such an occurrence, this method will not dispose of the
+ objects that were not stored. If such objects must be disposed, it is up to the caller to determine
+ if an object was not used and to then dispose of the object appropriately.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitializedCore``1(``0@,System.Func{``0})">
+ <summary>
+ Initialize the target using the given delegate (slow path).
+ </summary>
+ <typeparam name="T">The reference type of the reference to be initialized.</typeparam>
+ <param name="target">The variable that need to be initialized</param>
+ <param name="valueFactory">The delegate that will be executed to initialize the target</param>
+ <returns>The initialized variable</returns>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Boolean@,System.Object@)">
+ <summary>
+ Initializes a target reference or value type with its default constructor if it has not already
+ been initialized.
+ </summary>
+ <typeparam name="T">The type of the reference to be initialized.</typeparam>
+ <param name="target">A reference or value of type <typeparamref name="T"/> to initialize if it
+ has not already been initialized.</param>
+ <param name="initialized">A reference to a boolean that determines whether the target has already
+ been initialized.</param>
+ <param name="syncLock">A reference to an object used as the mutually exclusive lock for initializing
+ <paramref name="target"/>.</param>
+ <returns>The initialized value of type <typeparamref name="T"/>.</returns>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Boolean@,System.Object@,System.Func{``0})">
+ <summary>
+ Initializes a target reference or value type with a specified function if it has not already been
+ initialized.
+ </summary>
+ <typeparam name="T">The type of the reference to be initialized.</typeparam>
+ <param name="target">A reference or value of type <typeparamref name="T"/> to initialize if it
+ has not already been initialized.</param>
+ <param name="initialized">A reference to a boolean that determines whether the target has already
+ been initialized.</param>
+ <param name="syncLock">A reference to an object used as the mutually exclusive lock for initializing
+ <paramref name="target"/>.</param>
+ <param name="valueFactory">The <see cref="T:System.Func{T}"/> invoked to initialize the
+ reference or value.</param>
+ <returns>The initialized value of type <typeparamref name="T"/>.</returns>
+ </member>
+ <member name="M:System.Threading.LazyInitializer.EnsureInitializedCore``1(``0@,System.Boolean@,System.Object@,System.Func{``0})">
+ <summary>
+ Ensure the target is initialized and return the value (slow path). This overload permits nulls
+ and also works for value type targets. Uses the supplied function to create the value.
+ </summary>
+ <typeparam name="T">The type of target.</typeparam>
+ <param name="target">A reference to the target to be initialized.</param>
+ <param name="initialized">A reference to a location tracking whether the target has been initialized.</param>
+ <param name="syncLock">A reference to a location containing a mutual exclusive lock.</param>
+ <param name="valueFactory">
+ The <see cref="T:System.Func{T}"/> to invoke in order to produce the lazily-initialized value.
+ </param>
+ <returns>The initialized object.</returns>
+ </member>
+ <member name="T:System.Threading.ManualResetEventSlim">
+ <summary>
+ Provides a slimmed down version of <see cref="T:System.Threading.ManualResetEvent"/>.
+ </summary>
+ <remarks>
+ All public and protected members of <see cref="T:System.Threading.ManualResetEventSlim"/> are thread-safe and may be used
+ concurrently from multiple threads, with the exception of Dispose, which
+ must only be used when all other operations on the <see cref="T:System.Threading.ManualResetEventSlim"/> have
+ completed, and Reset, which should only be used when no other threads are
+ accessing the event.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
+ class with an initial state of nonsignaled.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.#ctor(System.Boolean)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
+ class with a Boolen value indicating whether to set the intial state to signaled.
+ </summary>
+ <param name="initialState">true to set the initial state signaled; false to set the initial state
+ to nonsignaled.</param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.#ctor(System.Boolean,System.Int32)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
+ class with a Boolen value indicating whether to set the intial state to signaled and a specified
+ spin count.
+ </summary>
+ <param name="initialState">true to set the initial state to signaled; false to set the initial state
+ to nonsignaled.</param>
+ <param name="spinCount">The number of spin waits that will occur before falling back to a true
+ wait.</param>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="spinCount"/> is less than
+ 0 or greater than the maximum allowed value.</exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Initialize(System.Boolean,System.Int32)">
+ <summary>
+ Initializes the internal state of the event.
+ </summary>
+ <param name="initialState">Whether the event is set initially or not.</param>
+ <param name="spinCount">The spin count that decides when the event will block.</param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.EnsureLockObjectCreated">
+ <summary>
+ Helper to ensure the lock object is created before first use.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.LazyInitializeEvent">
+ <summary>
+ This method lazily initializes the event object. It uses CAS to guarantee that
+ many threads racing to call this at once don't result in more than one event
+ being stored and used. The event will be signaled or unsignaled depending on
+ the state of the thin-event itself, with synchronization taken into account.
+ </summary>
+ <returns>True if a new event was created and stored, false otherwise.</returns>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Set">
+ <summary>
+ Sets the state of the event to signaled, which allows one or more threads waiting on the event to
+ proceed.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Set(System.Boolean)">
+ <summary>
+ Private helper to actually perform the Set.
+ </summary>
+ <param name="duringCancellation">Indicates whether we are calling Set() during cancellation.</param>
+ <exception cref="T:System.OperationCanceledException">The object has been canceled.</exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Reset">
+ <summary>
+ Sets the state of the event to nonsignaled, which causes threads to block.
+ </summary>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Reset"/> is not
+ thread-safe and may not be used concurrently with other members of this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ <remarks>
+ 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.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Threading.CancellationToken)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> receives a signal,
+ while observing a <see cref="T:System.Threading.CancellationToken"/>.
+ </summary>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
+ observe.</param>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ <exception cref="T:System.OperationCanceledExcepton"><paramref name="cancellationToken"/> was
+ canceled.</exception>
+ <remarks>
+ 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.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.TimeSpan)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ <see cref="T:System.TimeSpan"/> to measure the time interval.
+ </summary>
+ <param name="timeout">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>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
+ number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
+ than <see cref="F:System.Int32.MaxValue"/>.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.TimeSpan,System.Threading.CancellationToken)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ <see cref="T:System.TimeSpan"/> to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
+ </summary>
+ <param name="timeout">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">The <see cref="T:System.Threading.CancellationToken"/> to
+ observe.</param>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
+ number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
+ than <see cref="F:System.Int32.MaxValue"/>.</exception>
+ <exception cref="T:System.Threading.OperationCanceledException"><paramref name="cancellationToken"/> was canceled.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Int32)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ 32-bit signed integer to measure the time interval.
+ </summary>
+ <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
+ negative number other than -1, which represents an infinite time-out.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
+ 32-bit signed integer to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
+ </summary>
+ <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
+ observe.</param>
+ <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
+ false.</returns>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
+ negative number other than -1, which represents an infinite time-out.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The maximum number of waiters has been exceeded.
+ </exception>
+ <exception cref="T:System.Threading.OperationCanceledException"><paramref name="cancellationToken"/> was canceled.</exception>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Dispose">
+ <summary>
+ Releases all resources used by the current instance of <see cref="T:System.Threading.ManualResetEventSlim"/>.
+ </summary>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Dispose"/> is not
+ thread-safe and may not be used concurrently with other members of this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.Dispose(System.Boolean)">
+ <summary>
+ When overridden in a derived class, releases the unmanaged resources used by the
+ <see cref="T:System.Threading.ManualResetEventSlim"/>, and optionally releases the managed resources.
+ </summary>
+ <param name="disposing">true to release both managed and unmanaged resources;
+ false to release only unmanaged resources.</param>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Dispose(System.Boolean)"/> is not
+ thread-safe and may not be used concurrently with other members of this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.ThrowIfDisposed">
+ <summary>
+ Throw ObjectDisposedException if the MRES is disposed
+ </summary>
+ </member>
+ <member name="F:System.Threading.ManualResetEventSlim.s_cancellationTokenCallback">
+ <summary>
+ Private helper method to wake up waiters when a cancellationToken gets canceled.
+ </summary>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.UpdateStateAtomically(System.Int32,System.Int32)">
+ <summary>
+ Private helper method for updating parts of a bit-string state value.
+ Mainly called from the IsSet and Waiters properties setters
+ </summary>
+ <remarks>
+ Note: the parameter types must be int as CompareExchange cannot take a Uint
+ </remarks>
+ <param name="newBits">The new value</param>
+ <param name="updateBitsMask">The mask used to set the bits</param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.ExtractStatePortionAndShiftRight(System.Int32,System.Int32,System.Int32)">
+ <summary>
+ Private helper method - performs Mask and shift, particular helpful to extract a field from a packed word.
+ eg ExtractStatePortionAndShiftRight(0x12345678, 0xFF000000, 24) => 0x12, ie extracting the top 8-bits as a simple integer
+
+ ?? is there a common place to put this rather than being private to MRES?
+ </summary>
+ <param name="state"></param>
+ <param name="mask"></param>
+ <param name="rightBitShiftCount"></param>
+ <returns></returns>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.ExtractStatePortion(System.Int32,System.Int32)">
+ <summary>
+ Performs a Mask operation, but does not perform the shift.
+ This is acceptable for boolean values for which the shift is unnecessary
+ eg (val &amp; Mask) != 0 is an appropriate way to extract a boolean rather than using
+ ((val &amp; Mask) &gt;&gt; shiftAmount) == 1
+
+ ?? is there a common place to put this rather than being private to MRES?
+ </summary>
+ <param name="state"></param>
+ <param name="mask"></param>
+ </member>
+ <member name="M:System.Threading.ManualResetEventSlim.UpdateTimeOut(System.Int64,System.Int32)">
+ <summary>
+ Helper function to measure and update the wait time
+ </summary>
+ <param name="startTimeTicks"> The first time (in Ticks) observed when the wait started.</param>
+ <param name="originalWaitMillisecondsTimeout">The orginal wait timeoutout in milliseconds.</param>
+ <returns>The new wait time in milliseconds, -1 if the time expired, -2 if overflow in counters
+ has occurred.</returns>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.WaitHandle">
+ <summary>
+ Gets the underlying <see cref="T:System.Threading.WaitHandle"/> object for this <see cref="T:System.Threading.ManualResetEventSlim"/>.
+ </summary>
+ <value>The underlying <see cref="T:System.Threading.WaitHandle"/> event object fore this <see cref="T:System.Threading.ManualResetEventSlim"/>.</value>
+ <remarks>
+ Accessing this property forces initialization of an underlying event object if one hasn't
+ already been created. To simply wait on this <see cref="T:System.Threading.ManualResetEventSlim"/>,
+ the public Wait methods should be preferred.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.IsSet">
+ <summary>
+ Gets whether the event is set.
+ </summary>
+ <value>true if the event has is set; otherwise, false.</value>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.SpinCount">
+ <summary>
+ Gets the number of spin waits that will be occur before falling back to a true wait.
+ </summary>
+ </member>
+ <member name="P:System.Threading.ManualResetEventSlim.Waiters">
+ <summary>
+ How many threads are waiting.
+ </summary>
+ </member>
+ <member name="T:System.Threading.SpinWait">
+ <summary>
+ Provides support for spin-based waiting.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.SpinWait"/> encapsulates common spinning logic. On single-processor machines, yields are
+ always used instead of busy waits, and on computers with Intel™ processors employing Hyper-Threading™
+ technology, it helps to prevent hardware thread starvation. SpinWait encapsulates a good mixture of
+ spinning and true yielding.
+ </para>
+ <para>
+ <see cref="T:System.Threading.SpinWait"/> is a value type, which means that low-level code can utilize SpinWait without
+ fear of unnecessary allocation overheads. SpinWait is not generally useful for ordinary applications.
+ In most cases, you should use the synchronization classes provided by the .NET Framework, such as
+ <see cref="T:System.Threading.Monitor"/>. For most purposes where spin waiting is required, however,
+ the <see cref="T:System.Threading.SpinWait"/> type should be preferred over the System.Threading.Thread.SpinWait method.
+ </para>
+ <para>
+ While SpinWait is designed to be used in concurrent applications, it is not designed to be
+ used from multiple threads concurrently. SpinWait's members are not thread-safe. If multiple
+ threads must spin, each should use its own instance of SpinWait.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinOnce">
+ <summary>
+ Performs a single spin.
+ </summary>
+ <remarks>
+ This is typically called in a loop, and may change in behavior based on the number of times a
+ <see cref="M:System.Threading.SpinWait.SpinOnce"/> has been called thus far on this instance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.SpinWait.Reset">
+ <summary>
+ Resets the spin counter.
+ </summary>
+ <remarks>
+ This makes <see cref="M:System.Threading.SpinWait.SpinOnce"/> and <see cref="P:System.Threading.SpinWait.NextSpinWillYield"/> behave as though no calls
+ to <see cref="M:System.Threading.SpinWait.SpinOnce"/> had been issued on this instance. If a <see cref="T:System.Threading.SpinWait"/> instance
+ is reused many times, it may be useful to reset it to avoid yielding too soon.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean})">
+ <summary>
+ Spins until the specified condition is satisfied.
+ </summary>
+ <param name="condition">A delegate to be executed over and over until it returns true.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.TimeSpan)">
+ <summary>
+ Spins until the specified condition is satisfied or until the specified timeout is expired.
+ </summary>
+ <param name="condition">A delegate to be executed over and over until it returns true.</param>
+ <param name="timeout">
+ A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait,
+ or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
+ <returns>True if the condition is satisfied within the timeout; otherwise, false</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative number
+ other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.</exception>
+ </member>
+ <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.Int32)">
+ <summary>
+ Spins until the specified condition is satisfied or until the specified timeout is expired.
+ </summary>
+ <param name="condition">A delegate to be executed over and over until it returns true.</param>
+ <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
+ <returns>True if the condition is satisfied within the timeout; otherwise, false</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
+ negative number other than -1, which represents an infinite time-out.</exception>
+ </member>
+ <member name="P:System.Threading.SpinWait.Count">
+ <summary>
+ Gets the number of times <see cref="M:System.Threading.SpinWait.SpinOnce"/> has been called on this instance.
+ </summary>
+ </member>
+ <member name="P:System.Threading.SpinWait.NextSpinWillYield">
+ <summary>
+ Gets whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"/> will yield the processor, triggering a
+ forced context switch.
+ </summary>
+ <value>Whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"/> will yield the processor, triggering a
+ forced context switch.</value>
+ <remarks>
+ On a single-CPU machine, <see cref="M:System.Threading.SpinWait.SpinOnce"/> always yields the processor. On machines with
+ multiple CPUs, <see cref="M:System.Threading.SpinWait.SpinOnce"/> may yield after an unspecified number of calls.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.PlatformHelper">
+ <summary>
+ A helper class to get the number of preocessors, it updates the numbers of processors every sampling interval
+ </summary>
+ </member>
+ <member name="P:System.Threading.PlatformHelper.ProcessorCount">
+ <summary>
+ Gets the number of available processors
+ </summary>
+ </member>
+ <member name="P:System.Threading.PlatformHelper.IsSingleProcessor">
+ <summary>
+ Gets whether the current machine has only a single processor.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.Task`1">
+ <summary>
+ Represents an asynchronous operation that produces a result at some time in the future.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by this <see cref="T:System.Threading.Tasks.Task`1"/>.
+ </typeparam>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.Tasks.Task`1"/> instances may be created in a variety of ways. The most common approach is by
+ using the task's <see cref="P:System.Threading.Tasks.Task`1.Factory"/> property to retrieve a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance that can be used to create tasks for several
+ purposes. For example, to create a <see cref="T:System.Threading.Tasks.Task`1"/> that runs a function, the factory's StartNew
+ method may be used:
+ <code>
+ // C#
+ var t = Task&lt;int&gt;.Factory.StartNew(() =&gt; GenerateResult());
+ - or -
+ var t = Task.Factory.StartNew(() =&gt; GenerateResult());
+
+ ' Visual Basic
+ Dim t = Task&lt;int&gt;.Factory.StartNew(Function() GenerateResult())
+ - or -
+ Dim t = Task.Factory.StartNew(Function() GenerateResult())
+ </code>
+ </para>
+ <para>
+ The <see cref="T:System.Threading.Tasks.Task`1"/> class also provides constructors that initialize the task but that do not
+ schedule it for execution. For performance reasons, the StartNew method should be the
+ preferred mechanism for creating and scheduling computational tasks, but for scenarios where creation
+ and scheduling must be separated, the constructors may be used, and the task's
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see>
+ method may then be used to schedule the task for execution at a later time.
+ </para>
+ <para>
+ All members of <see cref="T:System.Threading.Tasks.Task`1"/>, except for
+ <see cref="M:System.Threading.Tasks.Task.Dispose">Dispose</see>, are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.Task">
+ <summary>
+ Represents an asynchronous operation.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.Tasks.Task"/> instances may be created in a variety of ways. The most common approach is by
+ using the Task type's <see cref="P:System.Threading.Tasks.Task.Factory"/> property to retrieve a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance that can be used to create tasks for several
+ purposes. For example, to create a <see cref="T:System.Threading.Tasks.Task"/> that runs an action, the factory's StartNew
+ method may be used:
+ <code>
+ // C#
+ var t = Task.Factory.StartNew(() =&gt; DoAction());
+
+ ' Visual Basic
+ Dim t = Task.Factory.StartNew(Function() DoAction())
+ </code>
+ </para>
+ <para>
+ The <see cref="T:System.Threading.Tasks.Task"/> class also provides constructors that initialize the Task but that do not
+ schedule it for execution. For performance reasons, TaskFactory's StartNew method should be the
+ preferred mechanism for creating and scheduling computational tasks, but for scenarios where creation
+ and scheduling must be separated, the constructors may be used, and the task's <see cref="M:System.Threading.Tasks.Task.Start"/>
+ method may then be used to schedule the task for execution at a later time.
+ </para>
+ <para>
+ All members of <see cref="T:System.Threading.Tasks.Task"/>, except for <see cref="M:System.Threading.Tasks.Task.Dispose"/>, are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ <para>
+ For operations that return values, the <see cref="T:System.Threading.Tasks.Task`1"/> class
+ should be used.
+ </para>
+ <para>
+ For developers implementing custom debuggers, several internal and private members of Task may be
+ useful (these may change from release to release). The Int32 m_taskId field serves as the backing
+ store for the <see cref="P:System.Threading.Tasks.Task.Id"/> property, however accessing this field directly from a debugger may be
+ more efficient than accessing the same value through the property's getter method (the
+ s_taskIdCounter Int32 counter is used to retrieve the next available ID for a Task). Similarly, the
+ Int32 m_stateFlags field stores information about the current lifecycle stage of the Task,
+ information also accessible through the <see cref="P:System.Threading.Tasks.Task.Status"/> property. The m_action System.Object
+ field stores a reference to the Task's delegate, and the m_stateObject System.Object field stores the
+ async state passed to the Task by the developer. Finally, for debuggers that parse stack frames, the
+ InternalWait method serves a potential marker for when a Task is entering a wait operation.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#cctor">
+ <summary>
+ A type initializer that runs with the appropriate permissions.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the Task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the Task.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new Task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and creation options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and creation options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and state.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
+ </summary>
+ <param name="action">The delegate that represents the code to execute in the task.</param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the Task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="action"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.#ctor(System.Object,System.Object,System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ An internal constructor used by the factory methods on task and its descendent(s).
+ This variant does not capture the ExecutionContext; it is up to the caller to do that.
+ </summary>
+ <param name="action">An action to execute.</param>
+ <param name="state">Optional state to pass to the action.</param>
+ <param name="parent">Parent of Task.</param>
+ <param name="cancellationToken">A CancellationToken for the task.</param>
+ <param name="scheduler">A task scheduler under which the task will run.</param>
+ <param name="creationOptions">Options to control its execution.</param>
+ <param name="internalOptions">Internal options to control its execution</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.TaskConstructorCore(System.Object,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Common logic used by the following internal ctors:
+ Task()
+ Task(object action, object state, Task parent, TaskCreationOptions options, TaskScheduler taskScheduler)
+
+ ASSUMES THAT m_creatingTask IS ALREADY SET.
+
+ </summary>
+ <param name="action">Action for task to execute.</param>
+ <param name="state">Object to which to pass to action (may be null)</param>
+ <param name="scheduler">Task scheduler on which to run thread (only used by continuation tasks).</param>
+ <param name="cancellationToken">A CancellationToken for the Task.</param>
+ <param name="creationOptions">Options to customize behavior of Task.</param>
+ <param name="internalOptions">Internal options to customize behavior of Task.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.DeregisterCancellationCallback">
+ <summary>
+ Checks if we registered a CT callback during construction, and deregisters it.
+ This should be called when we know the registration isn't useful anymore. Specifically from Finish() if the task has completed
+ successfully or with an exception.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.PossiblyCaptureContext(System.Threading.StackCrawlMark@)">
+ <summary>
+ Captures the ExecutionContext so long as flow isn't suppressed.
+ </summary>
+ <param name="stackMark">A stack crawl mark pointing to the frame of the caller.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddNewChild">
+ <summary>
+ Internal function that will be called by a new child task to add itself to
+ the children list of the parent (this).
+
+ Since a child task can only be created from the thread executing the action delegate
+ of this task, reentrancy is neither required nor supported. This should not be called from
+ anywhere other than the task construction/initialization codepaths.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Start">
+ <summary>
+ Starts the <see cref="T:System.Threading.Tasks.Task"/>, scheduling it for execution to the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </summary>
+ <remarks>
+ A task may only be started and run only once. Any attempts to schedule a task a second time
+ will result in an exception.
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Start(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Starts the <see cref="T:System.Threading.Tasks.Task"/>, scheduling it for execution to the specified <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </summary>
+ <remarks>
+ A task may only be started and run only once. Any attempts to schedule a task a second time will
+ result in an exception.
+ </remarks>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> with which to associate
+ and execute this task.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.RunSynchronously">
+ <summary>
+ Runs the <see cref="T:System.Threading.Tasks.Task"/> synchronously on the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </summary>
+ <remarks>
+ <para>
+ A task may only be started and run only once. Any attempts to schedule a task a second time will
+ result in an exception.
+ </para>
+ <para>
+ Tasks executed with <see cref="M:System.Threading.Tasks.Task.RunSynchronously"/> will be associated with the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
+ </para>
+ <para>
+ If the target scheduler does not support running this Task on the current thread, the Task will
+ be scheduled for execution on the scheduler, and the current thread will block until the
+ Task has completed execution.
+ </para>
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.RunSynchronously(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Runs the <see cref="T:System.Threading.Tasks.Task"/> synchronously on the <see cref="T:System.Threading.Tasks.TaskScheduler">scheduler</see> provided.
+ </summary>
+ <remarks>
+ <para>
+ A task may only be started and run only once. Any attempts to schedule a task a second time will
+ result in an exception.
+ </para>
+ <para>
+ If the target scheduler does not support running this Task on the current thread, the Task will
+ be scheduled for execution on the scheduler, and the current thread will block until the
+ Task has completed execution.
+ </para>
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
+ executed, or canceled, or it may have been created in a manner that doesn't support direct
+ scheduling.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="scheduler"/> parameter
+ is null.</exception>
+ <param name="scheduler">The scheduler on which to attempt to run this task inline.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ThrowIfDisposed">
+ <summary>
+ Throws an exception if the task has been disposed, and hence can no longer be accessed.
+ </summary>
+ <exception cref="T:System.ObjectDisposedException">The task has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.SetCompleted">
+ <summary>
+ Sets the internal completion event.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Dispose">
+ <summary>
+ Disposes the <see cref="T:System.Threading.Tasks.Task"/>, releasing all of its unmanaged resources.
+ </summary>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.Tasks.Task"/>, this method is not thread-safe.
+ Also, <see cref="M:System.Threading.Tasks.Task.Dispose"/> may only be called on a <see cref="T:System.Threading.Tasks.Task"/> that is in one of
+ the final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The exception that is thrown if the <see cref="T:System.Threading.Tasks.Task"/> is not in
+ one of the final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Dispose(System.Boolean)">
+ <summary>
+ Disposes the <see cref="T:System.Threading.Tasks.Task"/>, releasing all of its unmanaged resources.
+ </summary>
+ <param name="disposing">
+ A Boolean value that indicates whether this method is being called due to a call to <see cref="M:System.Threading.Tasks.Task.Dispose"/>.
+ </param>
+ <remarks>
+ Unlike most of the members of <see cref="T:System.Threading.Tasks.Task"/>, this method is not thread-safe.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ScheduleAndStart(System.Boolean)">
+ <summary>
+ Schedules the task for execution.
+ </summary>
+ <param name="needsProtection">If true, TASK_STATE_STARTED bit is turned on in
+ an atomic fashion, making sure that TASK_STATE_CANCELED does not get set
+ underneath us. If false, TASK_STATE_STARTED bit is OR-ed right in. This
+ allows us to streamline things a bit for StartNew(), where competing cancellations
+ are not a problem.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddException(System.Object)">
+ <summary>
+ Adds an exception to the list of exceptions this task has thrown.
+ </summary>
+ <param name="exceptionObject">An object representing either an Exception or a collection of Exceptions.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.GetExceptions(System.Boolean)">
+ <summary>
+ Returns a list of exceptions by aggregating the holder's contents. Or null if
+ no exceptions have been thrown.
+ </summary>
+ <param name="includeTaskCanceledExceptions">Whether to include a TCE if cancelled.</param>
+ <returns>An aggregate exception, or null if no exceptions have been caught.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ThrowIfExceptional(System.Boolean)">
+ <summary>
+ Throws an aggregate exception if the task contains exceptions.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.UpdateExceptionObservedStatus">
+ <summary>
+ Checks whether this is an attached task, and whether we are being called by the parent task.
+ And sets the TASK_STATE_EXCEPTIONOBSERVEDBYPARENT status flag based on that.
+
+ This is meant to be used internally when throwing an exception, and when WaitAll is gathering
+ exceptions for tasks it waited on. If this flag gets set, the implicit wait on children
+ will skip exceptions to prevent duplication.
+
+ This should only be called when this task has completed with an exception
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Finish(System.Boolean)">
+ <summary>
+ Signals completion of this particular task.
+
+ The bUserDelegateExecuted parameter indicates whether this Finish() call comes following the
+ full execution of the user delegate.
+
+ If bUserDelegateExecuted is false, it mean user delegate wasn't invoked at all (either due to
+ a cancellation request, or because this task is a promise style Task). In this case, the steps
+ involving child tasks (i.e. WaitForChildren) will be skipped.
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishStageTwo">
+ <summary>
+ FinishStageTwo is to be executed as soon as we known there are no more children to complete.
+ It can happen i) either on the thread that originally executed this task (if no children were spawned, or they all completed by the time this task's delegate quit)
+ ii) or on the thread that executed the last child.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishStageThree">
+ <summary>
+ Final stage of the task completion code path. Notifies the parent (if any) that another of its childre are done, and runs continuations.
+ This function is only separated out from FinishStageTwo because these two operations are also needed to be called from CancellationCleanupLogic()
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ProcessChildCompletion(System.Threading.Tasks.Task)">
+ <summary>
+ This is called by children of this task when they are completed.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddExceptionsFromChildren">
+ <summary>
+ This is to be called just before the task does its final state transition.
+ It traverses the list of exceptional children, and appends their aggregate exceptions into this one's exception list
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishThreadAbortedTask(System.Boolean,System.Boolean)">
+ <summary>
+ Special purpose Finish() entry point to be used when the task delegate throws a ThreadAbortedException
+ This makes a note in the state flags so that we avoid any costly synchronous operations in the finish codepath
+ such as inlined continuations
+ </summary>
+ <param name="bTAEAddedToExceptionHolder">
+ Indicates whether the ThreadAbortException was added to this task's exception holder.
+ This should always be true except for the case of non-root self replicating task copies.
+ </param>
+ <param name="delegateRan">Whether the delegate was executed.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Execute">
+ <summary>
+ Executes the task. This method will only be called once, and handles bookeeping associated with
+ self-replicating tasks, in addition to performing necessary exception marshaling.
+ </summary>
+ <exception cref="T:System.ObjectDisposedException">The task has already been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.System#Threading#Tasks#IThreadPoolWorkItem#ExecuteWorkItem">
+ <summary>
+ IThreadPoolWorkItem override, which is the entry function for this task when the TP scheduler decides to run it.
+
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ExecuteEntry(System.Boolean)">
+ <summary>
+ Outermost entry function to execute this task. Handles all aspects of executing a task on the caller thread.
+ Currently this is called by IThreadPoolWorkItem.ExecuteWorkItem(), and TaskManager.TryExecuteInline.
+
+ </summary>
+ <param name="bPreventDoubleExecution"> Performs atomic updates to prevent double execution. Should only be set to true
+ in codepaths servicing user provided TaskSchedulers. The ConcRT or ThreadPool schedulers don't need this. </param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InnerInvoke">
+ <summary>
+ The actual code which invokes the body of the task. This can be overriden in derived types.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task)">
+ <summary>
+ Alternate InnerInvoke prototype to be called from ExecuteSelfReplicating() so that
+ the Parallel Debugger can discover the actual task being invoked.
+ Details: Here, InnerInvoke is actually being called on the rootTask object while we are actually executing the
+ childTask. And the debugger needs to discover the childTask, so we pass that down as an argument.
+ The NoOptimization and NoInlining flags ensure that the childTask pointer is retained, and that this
+ function appears on the callstack.
+ </summary>
+ <param name="childTask"></param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.HandleException(System.Exception)">
+ <summary>
+ Performs whatever handling is necessary for an unhandled exception. Normally
+ this just entails adding the exception to the holder object.
+ </summary>
+ <param name="unhandledException">The exception that went unhandled.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during
+ the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.TimeSpan)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="timeout">
+ 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>
+ <returns>
+ true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise, false.
+ </returns>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="timeout"/> is a negative number other than -1 milliseconds, which represents an
+ infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.Threading.CancellationToken)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the task to complete.
+ </param>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.Int32)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.</param>
+ <returns>true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise,
+ false.
+ </returns>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.Wait(System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
+ </summary>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the task to complete.
+ </param>
+ <returns>
+ true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise, false.
+ </returns>
+ <exception cref="T:System.AggregateException">
+ The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InternalWait(System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ The core wait function, which is only accesible internally. It's meant to be used in places in TPL code where
+ the current context is known or cached.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.InternalCancel(System.Boolean)">
+ <summary>
+ Cancels the <see cref="T:System.Threading.Tasks.Task"/>.
+ </summary>
+ <param name="bCancelNonExecutingOnly"> Indiactes whether we should only cancel non-invoked tasks.
+ For the default scheduler this option will only be serviced through TryDequeue.
+ For custom schedulers we also attempt an atomic state transition.</param>
+ <returns>true if the task was successfully canceled; otherwise, false.</returns>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.Task"/>
+ has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.SetCancellationAcknowledged">
+ <summary>
+ Sets the task's cancellation acknowledged flag.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FinishContinuations">
+ <summary>
+ Runs all of the continuations, as appropriate.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWithIsRightKind(System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Helper function to determine whether the current task is in the state desired by the
+ continuation kind under evaluation. Three possibilities exist: the task failed with
+ an unhandled exception (OnFailed), the task was canceled before running (OnAborted),
+ or the task completed successfully (OnCompletedSuccessfully). Note that the last
+ one includes completing due to cancellation.
+ </summary>
+ <param name="options">The continuation options under evaluation.</param>
+ <returns>True if the continuation should be run given the task's current state.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken"> The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
+ instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
+ are not met, the continuation task will be canceled instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
+ instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
+ </summary>
+ <typeparam name="TResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
+ are not met, the continuation task will be canceled instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.CreationOptionsFromContinuationOptions(System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskCreationOptions@,System.Threading.Tasks.InternalTaskOptions@)">
+ <summary>
+ Converts TaskContinuationOptions to TaskCreationOptions, and also does
+ some validity checking along the way.
+ </summary>
+ <param name="continuationOptions">Incoming TaskContinuationOptions</param>
+ <param name="creationOptions">Outgoing TaskCreationOptions</param>
+ <param name="internalOptions">Outgoing InternalTaskOptions</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Registers the continuation and possibly runs it (if the task is already finished).
+ </summary>
+ <param name="continuationTask">The continuation task itself.</param>
+ <param name="scheduler">TaskScheduler with which to associate continuation task.</param>
+ <param name="options">Restrictions on when the continuation becomes active.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[])">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.TimeSpan)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="timeout">
+ 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>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="timeout"/> is a negative number other than -1 milliseconds, which represents an
+ infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Int32)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.</param>
+ <param name="tasks">An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Threading.CancellationToken)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the tasks to complete.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <returns>
+ true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
+ otherwise, false.
+ </returns>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the tasks to complete.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.AggregateException">
+ At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
+ the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAllSTAAnd64Aware(System.Threading.WaitHandle[],System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for a set of handles in a STA-aware way. In other words, it will wait for each
+ of the events individually if we're on a STA thread, because MsgWaitForMultipleObjectsEx
+ can't do a true wait-all due to its hidden message queue event. This is not atomic,
+ of course, but we only wait on one-way (MRE) events anyway so this is OK.
+ </summary>
+ <param name="waitHandles">An array of wait handles to wait on.</param>
+ <param name="millisecondsTimeout">The timeout to use during waits.</param>
+ <param name="cancellationToken">The cancellationToken that enables a wait to be canceled.</param>
+ <returns>True if all waits succeeded, false if a timeout occurred.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.FastWaitAll(System.Threading.Tasks.Task[])">
+ <summary>
+ Internal WaitAll implementation which is meant to be used with small number of tasks,
+ optimized for Parallel.Invoke and other structured primitives.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.AddExceptionsForCompletedTask(System.Collections.Generic.List{System.Exception}@,System.Threading.Tasks.Task)">
+ <summary>
+ This internal function is only meant to be called by WaitAll()
+ If the completed task is canceled or it has other exceptions, here we will add those
+ into the passed in exception list (which will be lazily initialized here).
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[])">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <returns>The index of the completed task in the <paramref name="tasks"/> array argument.</returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.TimeSpan)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="timeout">
+ 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>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
+ timeout occurred.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="timeout"/> is a negative number other than -1 milliseconds, which represents an
+ infinite time-out -or- timeout is greater than
+ <see cref="F:System.Int32.MaxValue"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Threading.CancellationToken)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for a task to complete.
+ </param>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Int32)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
+ timeout occurred.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
+ </summary>
+ <param name="tasks">
+ An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
+ </param>
+ <param name="millisecondsTimeout">
+ The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
+ wait indefinitely.
+ </param>
+ <param name="cancellationToken">
+ A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for a task to complete.
+ </param>
+ <returns>
+ The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
+ timeout occurred.
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="tasks"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="tasks"/> argument contains a null element.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
+ infinite time-out.
+ </exception>
+ <exception cref="T:System.OperationCanceledException2">
+ The <paramref name="cancellationToken"/> was canceled.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Id">
+ <summary>
+ Gets a unique ID for this <see cref="T:System.Threading.Tasks.Task">Task</see> instance.
+ </summary>
+ <remarks>
+ Task IDs are assigned on-demand and do not necessarily represent the order in the which Task
+ instances were created.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CurrentId">
+ <summary>
+ Returns the unique ID of the currently executing <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.InternalCurrent">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.Task">Task</see> instance currently executing, or
+ null if none exists.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Exception">
+ <summary>
+ Gets the <see cref="T:System.AggregateException">Exception</see> that caused the <see cref="T:System.Threading.Tasks.Task">Task</see> to end prematurely. If the <see cref="T:System.Threading.Tasks.Task">Task</see> completed successfully or has not yet thrown any
+ exceptions, this will return null.
+ </summary>
+ <remarks>
+ Tasks that throw unhandled exceptions store the resulting exception and propagate it wrapped in a
+ <see cref="T:System.AggregateException"/> in calls to <see cref="M:System.Threading.Tasks.Task.Wait">Wait</see>
+ or in accesses to the <see cref="P:System.Threading.Tasks.Task.Exception"/> property. Any exceptions not observed by the time
+ the Task instance is garbage collected will be propagated on the finalizer thread.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task">Task</see>
+ has been disposed.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Status">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> of this Task.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCanceled">
+ <summary>
+ Gets whether this <see cref="T:System.Threading.Tasks.Task">Task</see> instance has completed
+ execution due to being canceled.
+ </summary>
+ <remarks>
+ A <see cref="T:System.Threading.Tasks.Task">Task</see> will complete in Canceled state either if its <see cref="P:System.Threading.Tasks.Task.CancellationToken">CancellationToken</see>
+ was marked for cancellation before the task started executing, or if the task acknowledged the cancellation request on
+ its already signaled CancellationToken by throwing an
+ <see cref="T:System.OperationCanceledException">OperationCanceledException2</see> that bears the same
+ <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCancellationRequested">
+ <summary>
+ Returns true if this task has a cancellation token and it was signaled.
+ To be used internally in execute entry codepaths.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CancellationToken">
+ <summary>
+ This internal property provides access to the CancellationToken that was set on the task
+ when it was constructed.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCancellationAcknowledged">
+ <summary>
+ Gets whether this <see cref="T:System.Threading.Tasks.Task"/> threw an OperationCanceledException2 while its CancellationToken was signaled.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsCompleted">
+ <summary>
+ Gets whether this <see cref="T:System.Threading.Tasks.Task">Task</see> has completed.
+ </summary>
+ <remarks>
+ <see cref="P:System.Threading.Tasks.Task.IsCompleted"/> will return true when the Task is in one of the three
+ final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsDisposed">
+ <summary>
+ Checks whether this task has been disposed.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CreationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used
+ to create this task.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.System#IAsyncResult#AsyncWaitHandle">
+ <summary>
+ Gets a <see cref="T:System.Threading.WaitHandle"/> that can be used to wait for the task to
+ complete.
+ </summary>
+ <remarks>
+ Using the wait functionality provided by <see cref="M:System.Threading.Tasks.Task.Wait"/>
+ should be preferred over using <see cref="P:System.IAsyncResult.AsyncWaitHandle"/> for similar
+ functionality.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.AsyncState">
+ <summary>
+ Gets the state object supplied when the <see cref="T:System.Threading.Tasks.Task">Task</see> was created,
+ or null if none was supplied.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.System#IAsyncResult#CompletedSynchronously">
+ <summary>
+ Gets an indication of whether the asynchronous operation completed synchronously.
+ </summary>
+ <value>true if the asynchronous operation completed synchronously; otherwise, false.</value>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.ExecutingTaskScheduler">
+ <summary>
+ Provides access to the TaskScheduler responsible for executing this Task.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.Factory">
+ <summary>
+ Provides access to factory methods for creating <see cref="T:System.Threading.Tasks.Task"/> and <see cref="T:System.Threading.Tasks.Task`1"/> instances.
+ </summary>
+ <remarks>
+ The factory returned from <see cref="P:System.Threading.Tasks.Task.Factory"/> is a default instance
+ of <see cref="T:System.Threading.Tasks.TaskFactory"/>, as would result from using
+ the default constructor on TaskFactory.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.CompletedEvent">
+ <summary>
+ Provides an event that can be used to wait for completion.
+ Only called by Wait*(), which means that we really do need to instantiate a completion event.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsSelfReplicatingRoot">
+ <summary>
+ Determines whether this is the root task of a self replicating group.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsChildReplica">
+ <summary>
+ Determines whether the task is a replica itself.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.ExceptionRecorded">
+ <summary>
+ The property formerly known as IsFaulted.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsFaulted">
+ <summary>
+ Gets whether the <see cref="T:System.Threading.Tasks.Task"/> completed due to an unhandled exception.
+ </summary>
+ <remarks>
+ If <see cref="P:System.Threading.Tasks.Task.IsFaulted"/> is true, the Task's <see cref="P:System.Threading.Tasks.Task.Status"/> will be equal to
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">TaskStatus.Faulted</see>, and its
+ <see cref="P:System.Threading.Tasks.Task.Exception"/> property will be non-null.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsExceptionObservedByParent">
+ <summary>
+ Checks whether the TASK_STATE_EXCEPTIONOBSERVEDBYPARENT status flag is set,
+ This will only be used by the implicit wait to prevent double throws
+
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.Task.IsDelegateInvoked">
+ <summary>
+ Checks whether the body was ever invoked. Used by task scheduler code to verify custom schedulers actually ran the task.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.Task.TaskContinuation">
+ <summary>
+ A structure to hold continuation information.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.TaskContinuation.#ctor(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Constructs a new continuation structure.
+ </summary>
+ <param name="task">The task to be activated.</param>
+ <param name="options">The continuation options.</param>
+ <param name="scheduler">The scheduler to use for the continuation.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task.TaskContinuation.Run(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>
+ Invokes the continuation for the target completion task.
+ </summary>
+ <param name="completedTask">The completed task.</param>
+ <param name="bCanInlineContinuationTask">Whether the continuation can be inlined.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0})">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to this task.</param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and creation options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and creation options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and state.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the action.</param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the function.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to the new task.</param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the function.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
+ </summary>
+ <param name="function">
+ The delegate that represents the code to execute in the task. When the function has completed,
+ the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
+ </param>
+ <param name="state">An object representing data to be used by the function.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to the new task.</param>
+ <param name="creationOptions">
+ The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
+ customize the task's behavior.
+ </param>
+ <exception cref="T:System.ArgumentException">
+ The <paramref name="function"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a new future object.
+ </summary>
+ <param name="parent">The parent task for this future.</param>
+ <param name="valueSelector">A function that yields the future value.</param>
+ <param name="scheduler">The task scheduler which will be used to execute the future.</param>
+ <param name="cancellationToken">The CancellationToken for the task.</param>
+ <param name="creationOptions">Options to control the future's behavior.</param>
+ <param name="internalOptions">Internal options to control the future's behavior.</param>
+ <exception cref="T:ArgumentOutOfRangeException">The <paramref name="creationOptions"/> argument specifies
+ a SelfReplicating <see cref="T:System.Threading.Tasks.Task`1"/>, which is illegal."/&gt;.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a new future object.
+ </summary>
+ <param name="parent">The parent task for this future.</param>
+ <param name="state">An object containing data to be used by the action; may be null.</param>
+ <param name="valueSelector">A function that yields the future value.</param>
+ <param name="cancellationToken">The CancellationToken for the task.</param>
+ <param name="scheduler">The task scheduler which will be used to execute the future.</param>
+ <param name="creationOptions">Options to control the future's behavior.</param>
+ <param name="internalOptions">Internal options to control the future's behavior.</param>
+ <exception cref="T:ArgumentOutOfRangeException">The <paramref name="creationOptions"/> argument specifies
+ a SelfReplicating <see cref="T:System.Threading.Tasks.Task`1"/>, which is illegal."/&gt;.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.InvokeFuture(System.Object)">
+ <summary>
+ Evaluates the value selector of the Task which is passed in as an object and stores the result.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
+ instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <param name="continuationAction">
+ An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
+ completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
+ are not met, the continuation task will be canceled instead of scheduled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationAction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0})">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
+ task has completed, whether it completes due to running to completion successfully, faulting due
+ to an unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
+ task has completed, whether it completes due to running to completion successfully, faulting due
+ to an unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
+ passed the completed task as an argument.
+ </param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ <para>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
+ task has completed, whether it completes due to running to completion successfully, faulting due
+ to an unhandled exception, or exiting out early due to being canceled.
+ </para>
+ <para>
+ The <paramref name="continuationFunction"/>, when executed, should return a <see cref="T:System.Threading.Tasks.Task`1"/>. This task's completion state will be transferred to the task returned
+ from the ContinueWith call.
+ </para>
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
+ </summary>
+ <typeparam name="TNewResult">
+ The type of the result produced by the continuation.
+ </typeparam>
+ <param name="continuationFunction">
+ A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be passed as
+ an argument this completed task.
+ </param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="continuationOptions">
+ Options for when the continuation is scheduled and how it behaves. This includes criteria, such
+ as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
+ well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
+ </param>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
+ execution.
+ </param>
+ <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <remarks>
+ <para>
+ The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
+ completed, whether it completes due to running to completion successfully, faulting due to an
+ unhandled exception, or exiting out early due to being canceled.
+ </para>
+ <para>
+ The <paramref name="continuationFunction"/>, when executed, should return a <see cref="T:System.Threading.Tasks.Task`1"/>.
+ This task's completion state will be transferred to the task returned from the
+ ContinueWith call.
+ </para>
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="continuationFunction"/> argument is null.
+ </exception>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
+ </exception>
+ <exception cref="T:System.ArgumentNullException">
+ The <paramref name="scheduler"/> argument is null.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">
+ The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="P:System.Threading.Tasks.Task`1.Result">
+ <summary>
+ Gets the result value of this <see cref="T:System.Threading.Tasks.Task`1"/>.
+ </summary>
+ <remarks>
+ The get accessor for this property ensures that the asynchronous operation is complete before
+ returning. Once the result of the computation is available, it is stored and will be returned
+ immediately on later calls to <see cref="P:System.Threading.Tasks.Task`1.Result"/>.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.Task`1.Factory">
+ <summary>
+ Provides access to factory methods for creating <see cref="T:System.Threading.Tasks.Task`1"/> instances.
+ </summary>
+ <remarks>
+ The factory returned from <see cref="P:System.Threading.Tasks.Task`1.Factory"/> is a default instance
+ of <see cref="T:System.Threading.Tasks.TaskFactory`1"/>, as would result from using
+ the default constructor on the factory type.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskFactory`1">
+ <summary>
+ Provides support for creating and scheduling
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task{TResult}</see> objects.
+ </summary>
+ <typeparam name="TResult">The type of the results that are available though
+ the <see cref="T:System.Threading.Tasks.Task{TResult}">Task{TResult}</see> objects that are associated with
+ the methods in this class.</typeparam>
+ <remarks>
+ <para>
+ There are many common patterns for which tasks are relevant. The <see cref="T:System.Threading.Tasks.TaskFactory`1"/>
+ class encodes some of these patterns into methods that pick up default settings, which are
+ configurable through its constructors.
+ </para>
+ <para>
+ A default instance of <see cref="T:System.Threading.Tasks.TaskFactory`1"/> is available through the
+ <see cref="P:System.Threading.Tasks.Task`1.Factory">Task{TResult}.Factory</see> property.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the default configuration.
+ </summary>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.CancellationToken)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the default configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
+ </summary>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any tasks created with this TaskFactory{TResult}. A null value
+ indicates that the current TaskScheduler should be used.
+ </param>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to <paramref name="scheduler"/>, unless it's null, in which case the property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
+ </summary>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory{TResult}.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory{TResult}.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argument specifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory{TResult}.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory{TResult}.
+ </param>
+ <param name="scheduler">
+ The default <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any Tasks created with this TaskFactory{TResult}. A null value
+ indicates that TaskScheduler.Current should be used.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argumentspecifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to
+ <paramref name="scheduler"/>, unless it's null, in which case the property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0})">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0})">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref name="asyncResult"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the task that executes the end method.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,``2,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref
+ name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.CancellationToken">
+ <summary>
+ Gets the default <see cref="T:System.Threading.CancellationToken">CancellationToken</see> of this
+ TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to all
+ tasks created by this factory unless another CancellationToken value is explicitly specified
+ during the call to the factory methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.Scheduler">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> of this
+ TaskFactory{TResult}.
+ </summary>
+ <remarks>
+ This property returns the default scheduler for this factory. It will be used to schedule all
+ tasks unless another scheduler is explicitly specified during calls to this factory's methods.
+ If null, <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>
+ will be used.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.CreationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions
+ </see> value of this TaskFactory{TResult}.
+ </summary>
+ <remarks>
+ This property returns the default creation options for this factory. They will be used to create all
+ tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory`1.ContinuationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskContinuationOptions
+ </see> value of this TaskFactory{TResult}.
+ </summary>
+ <remarks>
+ This property returns the default continuation options for this factory. They will be used to create
+ all continuation tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskStatus">
+ <summary>
+ Represents the current stage in the lifecycle of a <see cref="T:System.Threading.Tasks.Task"/>.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Created">
+ <summary>
+ The task has been initialized but has not yet been scheduled.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.WaitingForActivation">
+ <summary>
+ The task is waiting to be activated and scheduled internally by the .NET Framework infrastructure.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.WaitingToRun">
+ <summary>
+ The task has been scheduled for execution but has not yet begun executing.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Running">
+ <summary>
+ The task is running but has not yet completed.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.WaitingForChildrenToComplete">
+ <summary>
+ The task has finished executing and is implicitly waiting for
+ attached child tasks to complete.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.RanToCompletion">
+ <summary>
+ The task completed execution successfully.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Canceled">
+ <summary>
+ The task acknowledged cancellation by throwing an OperationCanceledException2 with its own CancellationToken
+ while the token was in signaled state, or the task's CancellationToken was already signaled before the
+ task started executing.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskStatus.Faulted">
+ <summary>
+ The task completed due to an unhandled exception.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskCreationOptions">
+ <summary>
+ Specifies flags that control optional behavior for the creation and execution of tasks.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.None">
+ <summary>
+ Specifies that the default behavior should be used.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.PreferFairness">
+ <summary>
+ A hint to a <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> to schedule a
+ task in as fair a manner as possible, meaning that tasks scheduled sooner will be more likely to
+ be run sooner, and tasks scheduled later will be more likely to be run later.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.LongRunning">
+ <summary>
+ Specifies that a task will be a long-running, course-grained operation. It provides a hint to the
+ <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> that oversubscription may be
+ warranted.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskCreationOptions.AttachedToParent">
+ <summary>
+ Specifies that a task is attached to a parent in the task hierarchy.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.InternalTaskOptions">
+ <summary>
+ Task creation flags which are only used internally.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.InternalTaskOptions.None">
+ <summary> Specifies "No internal task options" </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.InternalTaskOptions.InternalOptionsMask">
+ <summary>Used to filter out internal vs. public task creation options.</summary>
+ </member>
+ <member name="F:System.Threading.Tasks.InternalTaskOptions.QueuedByRuntime">
+ <summary>Specifies that the task will be queued by the runtime before handing it over to the user.
+ This flag will be used to skip the cancellationtoken registration step, which is only meant for unstarted tasks.</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskContinuationOptions">
+ <summary>
+ Specifies flags that control optional behavior for the creation and execution of continuation tasks.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.None">
+ <summary>
+ Default = "Continue on any, no task options, run asynchronously"
+ Specifies that the default behavior should be used. Continuations, by default, will
+ be scheduled when the antecedent task completes, regardless of the task's final <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see>.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.PreferFairness">
+ <summary>
+ A hint to a <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> to schedule a
+ task in as fair a manner as possible, meaning that tasks scheduled sooner will be more likely to
+ be run sooner, and tasks scheduled later will be more likely to be run later.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.LongRunning">
+ <summary>
+ Specifies that a task will be a long-running, course-grained operation. It provides
+ a hint to the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> that
+ oversubscription may be warranted.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.AttachedToParent">
+ <summary>
+ Specifies that a task is attached to a parent in the task hierarchy.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnRanToCompletion">
+ <summary>
+ Specifies that the continuation task should not be scheduled if its antecedent ran to completion.
+ This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnFaulted">
+ <summary>
+ Specifies that the continuation task should not be scheduled if its antecedent threw an unhandled
+ exception. This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnCanceled">
+ <summary>
+ Specifies that the continuation task should not be scheduled if its antecedent was canceled. This
+ option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnRanToCompletion">
+ <summary>
+ Specifies that the continuation task should be scheduled only if its antecedent ran to
+ completion. This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnFaulted">
+ <summary>
+ Specifies that the continuation task should be scheduled only if its antecedent threw an
+ unhandled exception. This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">
+ <summary>
+ Specifies that the continuation task should be scheduled only if its antecedent was canceled.
+ This option is not valid for multi-task continuations.
+ </summary>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">
+ <summary>
+ Specifies that the continuation task should be executed synchronously. With this option
+ specified, the continuation will be run on the same thread that causes the antecedent task to
+ transition into its final state. If the antecedent is already complete when the continuation is
+ created, the continuation will run on the thread creating the continuation. Only very
+ short-running continuations should be executed synchronously.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskCanceledException">
+ <summary>
+ Represents an exception used to communicate task cancellation.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> class.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
+ class with a specified error message.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.String,System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
+ class with a specified error message and a reference to the inner exception that is the cause of
+ this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.Threading.Tasks.Task)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> class
+ with a reference to the <see cref="T:System.Threading.Tasks.Task"/> that has been canceled.
+ </summary>
+ <param name="task">A task that has been canceled.</param>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskCanceledException.Task">
+ <summary>
+ Gets the task associated with this exception.
+ </summary>
+ <remarks>
+ It is permissible for no Task to be associated with a
+ <see cref="T:System.Threading.Tasks.TaskCanceledException"/>, in which case
+ this property will return null.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskCompletionSource`1">
+ <summary>
+ Represents the producer side of a <see cref="T:System.Threading.Tasks.Task{TResult}"/> unbound to a
+ delegate, providing access to the consumer side through the <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> property.
+ </summary>
+ <remarks>
+ <para>
+ It is often the case that a <see cref="T:System.Threading.Tasks.Task{TResult}"/> is desired to
+ represent another asynchronous operation.
+ <see cref="T:System.Threading.Tasks.TaskCompletionSource`1">TaskCompletionSource</see> is provided for this purpose. It enables
+ the creation of a task that can be handed out to consumers, and those consumers can use the members
+ of the task as they would any other. However, unlike most tasks, the state of a task created by a
+ TaskCompletionSource is controlled explicitly by the methods on TaskCompletionSource. This enables the
+ completion of the external asynchronous operation to be propagated to the underlying Task. The
+ separation also ensures that consumers are not able to transition the state without access to the
+ corresponding TaskCompletionSource.
+ </para>
+ <para>
+ All members of <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/> are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ </remarks>
+ <typeparam name="TResult">The type of the result value assocatied with this <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.</typeparam>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>
+ with the specified options.
+ </summary>
+ <remarks>
+ The <see cref="T:System.Threading.Tasks.Task{TResult}"/> created
+ by this instance and accessible through its <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> property
+ will be instantiated using the specified <paramref name="creationOptions"/>.
+ </remarks>
+ <param name="creationOptions">The options to use when creating the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> represent options invalid for use
+ with a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>
+ with the specified state.
+ </summary>
+ <param name="state">The state to use as the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>'s AsyncState.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/> with
+ the specified state and options.
+ </summary>
+ <param name="creationOptions">The options to use when creating the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">The state to use as the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>'s AsyncState.</param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The <paramref name="creationOptions"/> represent options invalid for use
+ with a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetException(System.Exception)">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exception">The exception to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetException(System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exceptions">The collection of exceptions to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exceptions"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">There are one or more null elements in <paramref name="exceptions"/>.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="exceptions"/> collection is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Exception)">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exception">The exception to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Collections.Generic.IEnumerable{System.Exception})">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
+ state.
+ </summary>
+ <param name="exceptions">The collection of exceptions to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exceptions"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">There are one or more null elements in <paramref name="exceptions"/>.</exception>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetResult(`0)">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>
+ state.
+ </summary>
+ <param name="result">The result value to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetResult(`0)">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>
+ state.
+ </summary>
+ <param name="result">The result value to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetCanceled">
+ <summary>
+ Transitions the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>
+ state.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">
+ The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </exception>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetCanceled">
+ <summary>
+ Attempts to transition the underlying
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>
+ state.
+ </summary>
+ <returns>True if the operation was successful; otherwise, false.</returns>
+ <remarks>This operation will return false if the
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
+ of the three final states:
+ <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+ <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+ <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+ </remarks>
+ <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskCompletionSource`1.Task">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.Task{TResult}"/> created
+ by this <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
+ </summary>
+ <remarks>
+ This property enables a consumer access to the <see cref="T:System.Threading.Tasks.Task{TResult}"/> that is controlled by this instance.
+ The <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetResult(`0)"/>, <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Exception)"/>,
+ <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Collections.Generic.IEnumerable{System.Exception})"/>, and <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetCanceled"/>
+ methods (and their "Try" variants) on this instance all result in the relevant state
+ transitions on this underlying Task.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskExceptionHolder">
+ <summary>
+ An exception holder manages a list of exceptions for one particular task.
+ It offers the ability to aggregate, but more importantly, also offers intrinsic
+ support for propagating unhandled exceptions that are never observed. It does
+ this by aggregating and throwing if the holder is ever GC'd without the holder's
+ contents ever having been requested (e.g. by a Task.Wait, Task.get_Exception, etc).
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.#ctor(System.Threading.Tasks.Task)">
+ <summary>
+ Creates a new holder; it will be registered for finalization.
+ </summary>
+ <param name="task">The task this holder belongs to.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.Finalize">
+ <summary>
+ A finalizer that repropagates unhandled exceptions.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.Add(System.Object)">
+ <summary>
+ Add an exception to the internal list. This will ensure the holder is
+ in the proper state (handled/unhandled) depending on the list's contents.
+ </summary>
+ <param name="exceptionObject">An exception object (either an Exception or an
+ IEnumerable{Exception}) to add to the list.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.MarkAsUnhandled">
+ <summary>
+ A private helper method that ensures the holder is considered
+ unhandled, i.e. it is registered for finalization.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.MarkAsHandled(System.Boolean)">
+ <summary>
+ A private helper method that ensures the holder is considered
+ handled, i.e. it is not registered for finalization.
+ </summary>
+ <param name="calledFromFinalizer">Whether this is called from the finalizer thread.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExceptionHolder.CreateExceptionObject(System.Boolean,System.Exception)">
+ <summary>
+ Allocates a new aggregate exception and adds the contents of the list to
+ it. By calling this method, the holder assumes exceptions to have been
+ "observed", such that the finalization check will be subsequently skipped.
+ </summary>
+ <param name="calledFromFinalizer">Whether this is being called from a finalizer.</param>
+ <param name="includeThisException">An extra exception to be included (optionally).</param>
+ <returns>The aggregate exception to throw.</returns>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskExtensions">
+ <summary>
+ Provides a set of static (Shared in Visual Basic) methods for working with specific kinds of
+ <see cref="T:System.Threading.Tasks.Task"/> instances.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExtensions.Unwrap(System.Threading.Tasks.Task{System.Threading.Tasks.Task})">
+ <summary>
+ Creates a proxy <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation of a Task{Task}.
+ </summary>
+ <remarks>
+ It is often useful to be able to return a Task from a <see cref="T:System.Threading.Tasks.Task`1">
+ Task{TResult}</see>, where the inner Task represents work done as part of the outer Task{TResult}. However,
+ doing so results in a Task{Task}, which, if not dealt with carefully, could produce unexpected behavior. Unwrap
+ solves this problem by creating a proxy Task that represents the entire asynchronous operation of such a Task{Task}.
+ </remarks>
+ <param name="task">The Task{Task} to unwrap.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown if the
+ <paramref name="task"/> argument is null.</exception>
+ <returns>A Task that represents the asynchronous operation of the provided Task{Task}.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskExtensions.Unwrap``1(System.Threading.Tasks.Task{System.Threading.Tasks.Task{``0}})">
+ <summary>
+ Creates a proxy <see cref="T:System.Threading.Tasks.Task`1">Task{TResult}</see> that represents the
+ asynchronous operation of a Task{Task{TResult}}.
+ </summary>
+ <remarks>
+ It is often useful to be able to return a Task{TResult} from a Task{TResult}, where the inner Task{TResult}
+ represents work done as part of the outer Task{TResult}. However, doing so results in a Task{Task{TResult}},
+ which, if not dealt with carefully, could produce unexpected behavior. Unwrap solves this problem by
+ creating a proxy Task{TResult} that represents the entire asynchronous operation of such a Task{Task{TResult}}.
+ </remarks>
+ <param name="task">The Task{Task{TResult}} to unwrap.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown if the
+ <paramref name="task"/> argument is null.</exception>
+ <returns>A Task{TResult} that represents the asynchronous operation of the provided Task{Task{TResult}}.</returns> /// <summary>Unwraps a Task that returns another Task.</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskFactory">
+ <summary>
+ Provides support for creating and scheduling
+ <see cref="T:System.Threading.Tasks.Task">Tasks</see>.
+ </summary>
+ <remarks>
+ <para>
+ There are many common patterns for which tasks are relevant. The <see cref="T:System.Threading.Tasks.TaskFactory"/>
+ class encodes some of these patterns into methods that pick up default settings, which are
+ configurable through its constructors.
+ </para>
+ <para>
+ A default instance of <see cref="T:System.Threading.Tasks.TaskFactory"/> is available through the
+ <see cref="P:System.Threading.Tasks.Task.Factory">Task.Factory</see> property.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the default configuration.
+ </summary>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.CancellationToken)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <remarks>
+ This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with a default configuration. The
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="scheduler">
+ The <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any tasks created with this TaskFactory. A null value
+ indicates that the current TaskScheduler should be used.
+ </param>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
+ <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
+ and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
+ initialized to <paramref name="scheduler"/>, unless it's null, in which case the property is
+ initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argument specifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
+ </summary>
+ <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned
+ to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
+ while calling the factory methods.</param>
+ <param name="creationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
+ TaskCreationOptions</see> to use when creating tasks with this TaskFactory.
+ </param>
+ <param name="continuationOptions">
+ The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory.
+ </param>
+ <param name="scheduler">
+ The default <see cref="T:System.Threading.Tasks.TaskScheduler">
+ TaskScheduler</see> to use to schedule any Tasks created with this TaskFactory. A null value
+ indicates that TaskScheduler.Current should be used.
+ </param>
+ <exception cref="T:ArgumentOutOfRangeException">
+ The exception that is thrown when the
+ <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
+ argumentspecifies an invalid value.
+ </exception>
+ <remarks>
+ With this constructor, the
+ <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
+ the
+ <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to
+ <paramref name="scheduler"/>, unless it's null, in which case the property is initialized to the
+ current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors
+ and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution. However,
+ unless creation and scheduling must be separated, StartNew is the recommended
+ approach for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors
+ and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution. However,
+ unless creation and scheduling must be separated, StartNew is the recommended
+ approach for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
+ </summary>
+ <param name="action">The action delegate to execute asynchronously.</param>
+ <param name="state">An object containing data to be used by the <paramref name="action"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
+ then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0})">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.CancellationToken)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="function">A function delegate that returns the future result to be available through
+ the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="function"/>
+ delegate.</param>
+ <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
+ <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
+ created
+ <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
+ Task{TResult}</see>.</param>
+ <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
+ argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
+ argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
+ of its constructors and then calling
+ <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
+ However, unless creation and scheduling must be separated, StartNew is the recommended approach
+ for both simplicity and performance.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult})">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
+ when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The action delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
+ operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
+ when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The action delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
+ operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
+ when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The action delegate that processes the completed <paramref name="asyncResult"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the task that executes the end method.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
+ operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,``2,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
+ and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
+ asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0})">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0},System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref
+ name="asyncResult"/>.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
+ method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
+ <paramref name="endMethod"/>.</param>
+ <param name="endMethod">The function delegate that processes the completed <paramref name="asyncResult"/>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the task that executes the end method.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="asyncResult"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
+ asynchronous operation.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``0},System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``1},``0,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``1},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``2},``0,``1,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``2},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``4(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``3},``0,``1,``2,System.Object)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``4(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``3},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
+ begin and end methods that conform to the Asynchronous Programming Model pattern.
+ </summary>
+ <typeparam name="TArg1">The type of the first argument passed to the <paramref
+ name="beginMethod"/> delegate.</typeparam>
+ <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
+ delegate.</typeparam>
+ <typeparam name="TResult">The type of the result available through the
+ <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
+ </typeparam>
+ <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
+ <param name="endMethod">The delegate that ends the asynchronous operation.</param>
+ <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
+ delegate.</param>
+ <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
+ created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
+ delegate.</param>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="beginMethod"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="endMethod"/> argument is null.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
+ value.</exception>
+ <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
+ represents the asynchronous operation.</returns>
+ <remarks>
+ This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.CheckFromAsyncOptions(System.Threading.Tasks.TaskCreationOptions,System.Boolean)">
+ <summary>
+ Check validity of options passed to FromAsync method
+ </summary>
+ <param name="creationOptions">The options to be validated.</param>
+ <param name="hasBeginMethod">determines type of FromAsync method that called this method</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in
+ the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of a set of provided Tasks.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue.</param>
+ <param name="continuationFunction">The function delegate to execute when all tasks in the
+ <paramref name="tasks"/> array have completed.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAll.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref
+ name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref
+ name="continuationFunction"/>
+ delegate and associated with the created <see
+ cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
+ delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationFunction">The function delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationFunction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}})">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.Tasks.TaskContinuationOptions)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
+ that will be started upon the completion of any Task in the provided set.
+ </summary>
+ <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
+ <param name="tasks">The array of tasks from which to continue when one task completes.</param>
+ <param name="continuationAction">The action delegate to execute when one task in the
+ <paramref name="tasks"/> array completes.</param>
+ <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ that will be assigned to the new continuation task.</param>
+ <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
+ TaskContinuationOptions</see> value that controls the behavior of
+ the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
+ <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
+ <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="tasks"/> array is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="continuationAction"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
+ <paramref name="scheduler"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array contains a null value.</exception>
+ <exception cref="T:System.ArgumentException">The exception that is thrown when the
+ <paramref name="tasks"/> array is empty.</exception>
+ <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
+ <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
+ value.</exception>
+ <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
+ of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
+ <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
+ has already been disposed.
+ </exception>
+ <remarks>
+ The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
+ which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
+ will be executed, are illegal with ContinueWhenAny.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.CancellationToken">
+ <summary>
+ Gets the default <see cref="T:System.Threading.CancellationToken">CancellationToken</see> of this
+ TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to all
+ tasks created by this factory unless another CancellationToken value is explicitly specified
+ during the call to the factory methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.Scheduler">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> of this
+ TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default scheduler for this factory. It will be used to schedule all
+ tasks unless another scheduler is explicitly specified during calls to this factory's methods.
+ If null, <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>
+ will be used.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.CreationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions
+ </see> value of this TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default creation options for this factory. They will be used to create all
+ tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskFactory.ContinuationOptions">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskContinuationOptions
+ </see> value of this TaskFactory.
+ </summary>
+ <remarks>
+ This property returns the default continuation options for this factory. They will be used to create
+ all continuation tasks unless other options are explicitly specified during calls to this factory's methods.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskScheduler">
+ <summary>
+ Represents an abstract scheduler for tasks.
+ </summary>
+ <remarks>
+ <para>
+ <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> acts as the extension point for all
+ pluggable scheduling logic. This includes mechanisms such as how to schedule a task for execution, and
+ how scheduled tasks should be exposed to debuggers.
+ </para>
+ <para>
+ All members of the abstract <see cref="T:System.Threading.Tasks.TaskScheduler"/> type are thread-safe
+ and may be used from multiple threads concurrently.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)">
+ <summary>
+ Queues a <see cref="T:System.Threading.Tasks.Task">Task</see> to the scheduler.
+ </summary>
+ <remarks>
+ <para>
+ A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ implements this method to accept tasks being scheduled on the scheduler.
+ A typical implementation would store the task in an internal data structure, which would
+ be serviced by threads that would execute those tasks at some time in the future.
+ </para>
+ <para>
+ This method is only meant to be called by the .NET Framework and
+ should not be called directly by the derived class. This is necessary
+ for maintaining the consistency of the system.
+ </para>
+ </remarks>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be queued.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>
+ Determines whether the provided <see cref="T:System.Threading.Tasks.Task">Task</see>
+ can be executed synchronously in this call, and if it can, executes it.
+ </summary>
+ <remarks>
+ <para>
+ A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> implements this function to
+ support inline execution of a task on a thread that initiates a wait on that task object. Inline
+ execution is optional, and the request may be rejected by returning false. However, better
+ scalability typically results the more tasks that can be inlined, and in fact a scheduler that
+ inlines too little may be prone to deadlocks. A proper implementation should ensure that a
+ request executing under the policies guaranteed by the scheduler can successfully inline. For
+ example, if a scheduler uses a dedicated thread to execute tasks, any inlining requests from that
+ thread should succeed.
+ </para>
+ <para>
+ If a scheduler decides to perform the inline execution, it should do so by calling to the base
+ TaskScheduler's
+ <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)">TryExecuteTask</see> method with the provided task object, propagating
+ the return value. It may also be appropriate for the scheduler to remove an inlined task from its
+ internal data structures if it decides to honor the inlining request. Note, however, that under
+ some circumstances a scheduler may be asked to inline a task that was not previously provided to
+ it with the <see cref="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)"/> method.
+ </para>
+ <para>
+ The derived scheduler is responsible for making sure that the calling thread is suitable for
+ executing the given task as far as its own scheduling and execution policies are concerned.
+ </para>
+ </remarks>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be
+ executed.</param>
+ <param name="taskWasPreviouslyQueued">A Boolean denoting whether or not task has previously been
+ queued. If this parameter is True, then the task may have been previously queued (scheduled); if
+ False, then the task is known not to have been queued, and this call is being made in order to
+ execute the task inline without queueing it.</param>
+ <returns>A Boolean value indicating whether the task was executed inline.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is
+ null.</exception>
+ <exception cref="T:System.InvalidOperationException">The <paramref name="task"/> was already
+ executed.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasks">
+ <summary>
+ Generates an enumerable of <see cref="T:System.Threading.Tasks.Task">Task</see> instances
+ currently queued to the scheduler waiting to be executed.
+ </summary>
+ <remarks>
+ <para>
+ A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler"/> implements this method in order to support
+ integration with debuggers. This method will only be invoked by the .NET Framework when the
+ debugger requests access to the data. The enumerable returned will be traversed by debugging
+ utilities to access the tasks currently queued to this scheduler, enabling the debugger to
+ provide a representation of this information in the user interface.
+ </para>
+ <para>
+ It is important to note that, when this method is called, all other threads in the process will
+ be frozen. Therefore, it's important to avoid synchronization with other threads that may lead to
+ blocking. If synchronization is necessary, the method should prefer to throw a <see cref="T:System.NotSupportedException"/>
+ than to block, which could cause a debugger to experience delays. Additionally, this method and
+ the enumerable returned must not modify any globally visible state.
+ </para>
+ <para>
+ The returned enumerable should never be null. If there are currently no queued tasks, an empty
+ enumerable should be returned instead.
+ </para>
+ <para>
+ For developers implementing a custom debugger, this method shouldn't be called directly, but
+ rather this functionality should be accessed through the internal wrapper method
+ GetScheduledTasksForDebugger:
+ <c>internal Task[] GetScheduledTasksForDebugger()</c>. This method returns an array of tasks,
+ rather than an enumerable. In order to retrieve a list of active schedulers, a debugger may use
+ another internal method: <c>internal static TaskScheduler[] GetTaskSchedulersForDebugger()</c>.
+ This static method returns an array of all active TaskScheduler instances.
+ GetScheduledTasksForDebugger then may be used on each of these scheduler instances to retrieve
+ the list of scheduled tasks for each.
+ </para>
+ </remarks>
+ <returns>An enumerable that allows traversal of tasks currently queued to this scheduler.
+ </returns>
+ <exception cref="T:System.NotSupportedException">
+ This scheduler is unable to generate a list of queued tasks at this time.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetThreadStatics">
+ <summary>
+ Retrieves some thread static state that can be cached and passed to multiple
+ TryRunInline calls, avoiding superflous TLS fetches.
+ </summary>
+ <returns>A bag of TLS state (or null if none exists).</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task,System.Boolean,System.Object)">
+ <summary>
+ Attempts to execute the target task synchronously.
+ </summary>
+ <param name="task">The task to run.</param>
+ <param name="taskWasPreviouslyQueued">True if the task may have been previously queued,
+ false if the task was absolutely not previously queued.</param>
+ <param name="threadStatics">The state retrieved from GetThreadStatics</param>
+ <returns>True if it ran, false otherwise.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryDequeue(System.Threading.Tasks.Task)">
+ <summary>
+ Attempts to dequeue a <see cref="T:System.Threading.Tasks.Task">Task</see> that was previously queued to
+ this scheduler.
+ </summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be dequeued.</param>
+ <returns>A Boolean denoting whether the <paramref name="task"/> argument was successfully dequeued.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.NotifyWorkItemProgress">
+ <summary>
+ Notifies the scheduler that a work item has made progress.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.#ctor">
+ <summary>
+ Initializes the <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.Finalize">
+ <summary>
+ Frees all resources associated with this scheduler.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.FromCurrentSynchronizationContext">
+ <summary>
+ Creates a <see cref="T:System.Threading.Tasks.TaskScheduler"/>
+ associated with the current <see cref="T:System.Threading.SynchronizationContext"/>.
+ </summary>
+ <remarks>
+ All <see cref="T:System.Threading.Tasks.Task">Task</see> instances queued to
+ the returned scheduler will be executed through a call to the
+ <see cref="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)">Post</see> method
+ on that context.
+ </remarks>
+ <returns>
+ A <see cref="T:System.Threading.Tasks.TaskScheduler"/> associated with
+ the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see>, as
+ determined by <see cref="P:System.Threading.SynchronizationContext.Current">SynchronizationContext.Current</see>.
+ </returns>
+ <exception cref="T:System.InvalidOperationException">
+ The current SynchronizationContext may not be used as a TaskScheduler.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)">
+ <summary>
+ Attempts to execute the provided <see cref="T:System.Threading.Tasks.Task">Task</see>
+ on this scheduler.
+ </summary>
+ <remarks>
+ <para>
+ Scheduler implementations are provided with <see cref="T:System.Threading.Tasks.Task">Task</see>
+ instances to be executed through either the <see cref="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)"/> method or the
+ <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)"/> method. When the scheduler deems it appropriate to run the
+ provided task, <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)"/> should be used to do so. TryExecuteTask handles all
+ aspects of executing a task, including action invocation, exception handling, state management,
+ and lifecycle control.
+ </para>
+ <para>
+ <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)"/> must only be used for tasks provided to this scheduler by the .NET
+ Framework infrastructure. It should not be used to execute arbitrary tasks obtained through
+ custom mechanisms.
+ </para>
+ </remarks>
+ <param name="task">
+ A <see cref="T:System.Threading.Tasks.Task">Task</see> object to be executed.</param>
+ <exception cref="T:System.InvalidOperationException">
+ The <paramref name="task"/> is not associated with this scheduler.
+ </exception>
+ <returns>A Boolean that is true if <paramref name="task"/> was successfully executed, false if it
+ was not. A common reason for execution failure is that the task had previously been executed or
+ is in the process of being executed by another thread.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasksForDebugger">
+ <summary>
+ Provides an array of all queued <see cref="T:System.Threading.Tasks.Task">Task</see> instances
+ for the debugger.
+ </summary>
+ <remarks>
+ The returned array is populated through a call to <see cref="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasks"/>.
+ Note that this function is only meant to be invoked by a debugger remotely.
+ It should not be called by any other codepaths.
+ </remarks>
+ <returns>An array of <see cref="T:System.Threading.Tasks.Task">Task</see> instances.</returns>
+ <exception cref="T:System.NotSupportedException">
+ This scheduler is unable to generate a list of queued tasks at this time.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.GetTaskSchedulersForDebugger">
+ <summary>
+ Provides an array of all active <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ instances for the debugger.
+ </summary>
+ <remarks>
+ This function is only meant to be invoked by a debugger remotely.
+ It should not be called by any other codepaths.
+ </remarks>
+ <returns>An array of <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> instances.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.RegisterTaskScheduler(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Registers a new TaskScheduler instance in the global collection of schedulers.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskScheduler.UnregisterTaskScheduler(System.Threading.Tasks.TaskScheduler)">
+ <summary>
+ Removes a TaskScheduler instance from the global collection of schedulers.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.MaximumConcurrencyLevel">
+ <summary>
+ Indicates the maximum concurrency level this
+ <see cref="T:System.Threading.Tasks.TaskScheduler"/> is able to support.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.RequiresAtomicStartTransition">
+ <summary>
+ Indicates whether this is a custom scheduler, in which case the safe code paths will be taken upon task entry
+ using a CAS to transition from queued state to executing.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.Default">
+ <summary>
+ Gets the default <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> instance.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.Current">
+ <summary>
+ Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
+ associated with the currently executing task.
+ </summary>
+ <remarks>
+ When not called from within a task, <see cref="P:System.Threading.Tasks.TaskScheduler.Current"/> will return the <see cref="P:System.Threading.Tasks.TaskScheduler.Default"/> scheduler.
+ </remarks>
+ </member>
+ <member name="P:System.Threading.Tasks.TaskScheduler.Id">
+ <summary>
+ Gets the unique ID for this <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
+ </summary>
+ </member>
+ <member name="E:System.Threading.Tasks.TaskScheduler.UnobservedTaskException">
+ <summary>
+ Occurs when a faulted <see cref="T:System.Threading.Tasks.Task"/>'s unobserved exception is about to trigger exception escalation
+ policy, which, by default, would terminate the process.
+ </summary>
+ <remarks>
+ This AppDomain-wide event provides a mechanism to prevent exception
+ escalation policy (which, by default, terminates the process) from triggering.
+ Each handler is passed a <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/>
+ instance, which may be used to examine the exception and to mark it as observed.
+ </remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskScheduler.SystemThreadingTasks_TaskSchedulerDebugView">
+ <summary>
+ Nested class that provides debugger view for TaskScheduler
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.ThreadPoolTaskScheduler">
+ <summary>Default thread pool scheduler.</summary>
+ </member>
+ <member name="T:System.Threading.Tasks.SynchronizationContextTaskScheduler">
+ <summary>
+ A TaskScheduler implementation that executes all tasks queued to it through a call to
+ <see cref="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)"/> on the <see cref="T:System.Threading.SynchronizationContext"/>
+ that its associated with. The default constructor for this class binds to the current <see cref="T:System.Threading.SynchronizationContext"/>
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.#ctor">
+ <summary>
+ Constructs a SynchronizationContextTaskScheduler associated with <see cref="T:System.Threading.SynchronizationContext.Current"/>
+ </summary>
+ <exception cref="T:System.InvalidOperationException">This constructor expects <see cref="T:System.Threading.SynchronizationContext.Current"/> to be set.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
+ <summary>
+ Implemetation of <see cref="T:System.Threading.Tasks.TaskScheduler.QueueTask"/> for this scheduler class.
+
+ Simply posts the tasks to be executed on the associated <see cref="T:System.Threading.SynchronizationContext"/>.
+ </summary>
+ <param name="task"></param>
+ </member>
+ <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>
+ Implementation of <see cref="T:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline"/> for this scheduler class.
+
+ The task will be executed inline only if the call happens within
+ the associated <see cref="T:System.Threading.SynchronizationContext"/>.
+ </summary>
+ <param name="task"></param>
+ <param name="taskWasPreviouslyQueued"></param>
+ </member>
+ <member name="P:System.Threading.Tasks.SynchronizationContextTaskScheduler.MaximumConcurrencyLevel">
+ <summary>
+ Implementes the <see cref="T:System.Threading.Tasks.TaskScheduler.MaximumConcurrencyLevel"/> property for
+ this scheduler class.
+
+ By default it returns 1, because a <see cref="T:System.Threading.SynchronizationContext"/> based
+ scheduler only supports execution on a single thread.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs">
+ <summary>
+ Provides data for the event that is raised when a faulted <see cref="T:System.Threading.Tasks.Task"/>'s
+ exception goes unobserved.
+ </summary>
+ <remarks>
+ The Exception property is used to examine the exception without marking it
+ as observed, whereas the <see cref="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.SetObserved"/> method is used to mark the exception
+ as observed. Marking the exception as observed prevents it from triggering exception escalation policy
+ which, by default, terminates the process.
+ </remarks>
+ </member>
+ <member name="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.#ctor(System.AggregateException)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/> class
+ with the unobserved exception.
+ </summary>
+ <param name="exception">The Exception that has gone unobserved.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.SetObserved">
+ <summary>
+ Marks the <see cref="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Exception"/> as "observed," thus preventing it
+ from triggering exception escalation policy which, by default, terminates the process.
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Observed">
+ <summary>
+ Gets whether this exception has been marked as "observed."
+ </summary>
+ </member>
+ <member name="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Exception">
+ <summary>
+ The Exception that went unobserved.
+ </summary>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskSchedulerException">
+ <summary>
+ Represents an exception used to communicate an invalid operation by a
+ <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/> class.
+ </summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
+ class with a specified error message.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
+ class using the default error message and a reference to the inner exception that is the cause of
+ this exception.
+ </summary>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.String,System.Exception)">
+ <summary>
+ Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
+ class with a specified error message and a reference to the inner exception that is the cause of
+ this exception.
+ </summary>
+ <param name="message">The error message that explains the reason for the exception.</param>
+ <param name="innerException">The exception that is the cause of the current exception.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl5/System.Runtime.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl5/System.Runtime.dll
new file mode 100644
index 0000000..fa831ad
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl5/System.Runtime.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl5/System.Runtime.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl5/System.Runtime.xml
new file mode 100644
index 0000000..93cb00d
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl5/System.Runtime.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Runtime</name>
+ </assembly>
+ <members>
+ <member name="T:System.IProgress`1">
+ <summary>Defines a provider for progress updates.</summary>
+ <typeparam name="T">The type of progress update value.</typeparam>
+ </member>
+ <member name="M:System.IProgress`1.Report(`0)">
+ <summary>Reports a progress update.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncStateMachineAttribute">
+ <summary>Identities the async state machine type for this method.</summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.StateMachineAttribute">
+ <summary>Identities the state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.StateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.StateMachineAttribute.StateMachineType">
+ <summary>Gets the type that implements the state machine.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerMemberNameAttribute">
+ <summary>
+ Allows you to obtain the method or property name of the caller to the method.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerLineNumberAttribute">
+ <summary>
+ Allows you to obtain the line number in the source file at which the method is called.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.CallerFilePathAttribute">
+ <summary>
+ Allows you to obtain the full path of the source file that contains the caller.
+ This is the file path at the time of compile.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IteratorStateMachineAttribute">
+ <summary>Identities the iterator state machine type for this method.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IteratorStateMachineAttribute.#ctor(System.Type)">
+ <summary>Initializes the attribute.</summary>
+ <param name="stateMachineType">The type that implements the state machine.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl5/System.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl5/System.Threading.Tasks.dll
new file mode 100644
index 0000000..ebbac4c
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl5/System.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl5/System.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl5/System.Threading.Tasks.xml
new file mode 100644
index 0000000..b47921e
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/sl5/System.Threading.Tasks.xml
@@ -0,0 +1,475 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>System.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore">
+ <summary>Holds state related to the builder's IAsyncStateMachine.</summary>
+ <remarks>This is a mutable struct. Be very delicate with it.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.m_stateMachine">
+ <summary>A reference to the heap-allocated state machine object associated with this builder.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.GetCompletionAction``2(``0@,``1@)">
+ <summary>
+ Gets the Action to use with an awaiter's OnCompleted or UnsafeOnCompleted method.
+ On first invocation, the supplied state machine will be boxed.
+ </summary>
+ <typeparam name="TMethodBuilder">Specifies the type of the method builder used.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine used.</typeparam>
+ <param name="builder">The builder.</param>
+ <param name="stateMachine">The state machine.</param>
+ <returns>An Action to provide to the awaiter.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner">
+ <summary>Provides the ability to invoke a state machine's MoveNext method under a supplied ExecutionContext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_context">
+ <summary>The context with which to run MoveNext.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_stateMachine">
+ <summary>The state machine whose MoveNext method should be invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.#ctor(System.ExecutionContextLightup)">
+ <summary>Initializes the runner.</summary>
+ <param name="context">The context with which to run MoveNext.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run">
+ <summary>Invokes MoveNext under the provided context.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.s_invokeMoveNext">
+ <summary>Cached delegate used with ExecutionContext.Run.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(System.Object)">
+ <summary>Invokes the MoveNext method on the supplied IAsyncStateMachine.</summary>
+ <param name="stateMachine">The IAsyncStateMachine machine instance.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1">
+ <summary>Provides a base class used to cache tasks of a specific return type.</summary>
+ <typeparam name="TResult">Specifies the type of results the cached tasks return.</typeparam>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.Singleton">
+ <summary>
+ A singleton cache for this result type.
+ This may be null if there are no cached tasks for this TResult.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCompleted(`0)">
+ <summary>Creates a non-disposable task.</summary>
+ <param name="result">The result for the task.</param>
+ <returns>The cacheable task.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCache">
+ <summary>Creates a cache.</summary>
+ <returns>A task cache for this result type.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.FromResult(`0)">
+ <summary>Gets a cached task if one exists.</summary>
+ <param name="result">The result for which we want a cached task.</param>
+ <returns>A cached task if one exists; otherwise, null.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache">
+ <summary>Provides a cache for Boolean tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_true">
+ <summary>A true task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_false">
+ <summary>A false task.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.FromResult(System.Boolean)">
+ <summary>Gets a cached task for the Boolean result.</summary>
+ <param name="result">true or false</param>
+ <returns>A cached task for the Boolean result.</returns>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache">
+ <summary>Provides a cache for zero Int32 tasks.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.INCLUSIVE_INT32_MIN">
+ <summary>The minimum value, inclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.EXCLUSIVE_INT32_MAX">
+ <summary>The maximum value, exclusive, for which we want a cached task.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.Int32Tasks">
+ <summary>The cache of Task{Int32}.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.CreateInt32Tasks">
+ <summary>Creates an array of cached tasks for the values in the range [INCLUSIVE_MIN,EXCLUSIVE_MAX).</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.FromResult(System.Int32)">
+ <summary>Gets a cached task for the zero Int32 result.</summary>
+ <param name="result">The integer value</param>
+ <returns>A cached task for the Int32 result or null if not cached.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncMethodBuilder">
+ <summary>Represents an asynchronous method builder.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.s_cachedCompleted">
+ <summary>A cached VoidTaskResult task used for builders that complete synchronously.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.m_builder">
+ <summary>The generic builder object to which this non-generic instance delegates.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetResult">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task"/> representing the builder's asynchronous operation.</returns>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1">
+ <summary>
+ Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task`1"/>.
+ This type is intended for compiler use only.
+ </summary>
+ <remarks>
+ AsyncTaskMethodBuilder{TResult} is a value type, and thus it is copied by value.
+ Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
+ or else the copies may end up building distinct Task instances.
+ </remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.s_defaultResultTask">
+ <summary>A cached task for default(TResult).</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_task">
+ <summary>The lazily-initialized task.</summary>
+ <remarks>Must be named m_task for debugger step-over to work correctly.</remarks>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_taskCompletionSource">
+ <summary>The lazily-initialized task completion source.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(`0)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state with the specified result.
+ </summary>
+ <param name="result">The result to use to complete the task.</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(System.Threading.Tasks.TaskCompletionSource{`0})">
+ <summary>
+ Completes the builder by using either the supplied completed task, or by completing
+ the builder's previously accessed task using default(TResult).
+ </summary>
+ <param name="completedTask">A task already completed with the value default(TResult).</param>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException(System.Exception)">
+ <summary>
+ Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the
+ <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
+ </summary>
+ <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetNotificationForWaitCompletion(System.Boolean)">
+ <summary>
+ Called by the debugger to request notification when the first wait operation
+ (await, Wait, Result, etc.) on this builder's task completes.
+ </summary>
+ <param name="enabled">
+ true to enable notification; false to disable a previously set notification.
+ </param>
+ <remarks>
+ This should only be invoked from within an asynchronous method,
+ and only by the debugger.
+ </remarks>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.GetTaskForResult(`0)">
+ <summary>
+ Gets a task for the specified result. This will either
+ be a cached or new task, never null.
+ </summary>
+ <param name="result">The result for which we need a task.</param>
+ <returns>The completed task containing the result.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.CompletionSource">
+ <summary>Gets the lazily-initialized TaskCompletionSource.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Task">
+ <summary>Gets the <see cref="T:System.Threading.Tasks.Task`1"/> for this builder.</summary>
+ <returns>The <see cref="T:System.Threading.Tasks.Task`1"/> representing the builder's asynchronous operation.</returns>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger, and only in a single-threaded manner
+ when no other threads are in the middle of accessing this property or this.Task.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder">
+ <summary>
+ Provides a builder for asynchronous methods that return void.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_synchronizationContext">
+ <summary>The synchronization context associated with this operation.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_coreState">
+ <summary>State related to the IAsyncStateMachine.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_objectIdForDebugger">
+ <summary>An object used by the debugger to uniquely identify this builder. Lazily initialized.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#cctor">
+ <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.PreventUnobservedTaskExceptions">
+ <summary>Registers with UnobservedTaskException to suppress exception crashing.</summary>
+ </member>
+ <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.s_preventUnobservedTaskExceptionsInvoked">
+ <summary>Non-zero if PreventUnobservedTaskExceptions has already been invoked.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Create">
+ <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</returns>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#ctor(System.Threading.SynchronizationContext)">
+ <summary>Initializes the <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
+ <param name="synchronizationContext">The synchronizationContext associated with this operation. This may be null.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start``1(``0@)">
+ <summary>Initiates the builder's execution with the associated state machine.</summary>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="stateMachine">The state machine instance, passed by reference.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Associates the builder with the state machine it represents.</summary>
+ <param name="stateMachine">The heap-allocated state machine object.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
+ <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+ <summary>
+ Schedules the specified state machine to be pushed forward when the specified awaiter completes.
+ </summary>
+ <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
+ <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
+ <param name="awaiter">The awaiter.</param>
+ <param name="stateMachine">The state machine.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetResult">
+ <summary>Completes the method builder successfully.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetException(System.Exception)">
+ <summary>Faults the method builder with an exception.</summary>
+ <param name="exception">The exception that is the cause of this fault.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.NotifySynchronizationContextOfCompletion">
+ <summary>Notifies the current synchronization context that the operation completed.</summary>
+ </member>
+ <member name="P:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.ObjectIdForDebugger">
+ <summary>
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+ </summary>
+ <remarks>
+ This property lazily instantiates the ID in a non-thread-safe manner.
+ It must only be used by the debugger and only in a single-threaded manner.
+ </remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.IAsyncStateMachine">
+ <summary>
+ Represents state machines generated for asynchronous methods.
+ This type is intended for compiler use only.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.MoveNext">
+ <summary>Moves the state machine to its next state.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
+ <summary>Configures the state machine with a heap-allocated replica.</summary>
+ <param name="stateMachine">The heap-allocated replica.</param>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.ICriticalNotifyCompletion">
+ <summary>
+ Represents an awaiter used to schedule continuations when an await operation completes.
+ </summary>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.INotifyCompletion">
+ <summary>
+ Represents an operation that will schedule continuations when the operation completes.
+ </summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.INotifyCompletion.OnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.ICriticalNotifyCompletion.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
+ <param name="continuation">The action to invoke when the operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <remarks>Unlike OnCompleted, UnsafeOnCompleted need not propagate ExecutionContext information.</remarks>
+ </member>
+ <member name="T:System.Runtime.CompilerServices.VoidTaskResult">
+ <summary>Used with Task(of void)</summary>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/win8/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/win8/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/win8/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/wp8/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/wp8/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.1.0.19/lib/wp8/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/License.rtf b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/License.rtf
new file mode 100644
index 0000000..78ff93d
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/License.rtf
@@ -0,0 +1,522 @@
+{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff40\deff0\stshfdbch31506\stshfloch31506\stshfhich31506\stshfbi31507\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs1025{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
+{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
+{\f11\fbidi \fmodern\fcharset128\fprq1{\*\panose 00000000000000000000}MS Mincho{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f13\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}SimSun{\*\falt \'cb\'ce\'cc\'e5};}
+{\f34\fbidi \froman\fcharset1\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Trebuchet MS{\*\falt Arial};}
+{\f40\fbidi \fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Tahoma{\*\falt ?? ??};}{\f44\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}@SimSun;}{\f45\fbidi \fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}@MS Mincho;}
+{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 00000000000000000000}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}{\f46\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\f47\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f49\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f50\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f51\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\f52\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f53\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f54\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f66\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}
+{\f67\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f69\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f70\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f71\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
+{\f72\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f73\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f74\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}
+{\f158\fbidi \fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f156\fbidi \fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}
+{\f157\fbidi \fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f159\fbidi \fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}
+{\f160\fbidi \fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f163\fbidi \fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}
+{\f436\fbidi \fswiss\fcharset238\fprq2 Trebuchet MS CE{\*\falt Arial};}{\f437\fbidi \fswiss\fcharset204\fprq2 Trebuchet MS Cyr{\*\falt Arial};}{\f439\fbidi \fswiss\fcharset161\fprq2 Trebuchet MS Greek{\*\falt Arial};}
+{\f440\fbidi \fswiss\fcharset162\fprq2 Trebuchet MS Tur{\*\falt Arial};}{\f443\fbidi \fswiss\fcharset186\fprq2 Trebuchet MS Baltic{\*\falt Arial};}{\f446\fbidi \fswiss\fcharset238\fprq2 Tahoma CE{\*\falt ?? ??};}
+{\f447\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr{\*\falt ?? ??};}{\f449\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek{\*\falt ?? ??};}{\f450\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur{\*\falt ?? ??};}
+{\f451\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew){\*\falt ?? ??};}{\f452\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic){\*\falt ?? ??};}{\f453\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic{\*\falt ?? ??};}
+{\f454\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese){\*\falt ?? ??};}{\f455\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai){\*\falt ?? ??};}{\f488\fbidi \fnil\fcharset0\fprq2 @SimSun Western;}{\f498\fbidi \fmodern\fcharset0\fprq1 @MS Mincho Western;}
+{\f496\fbidi \fmodern\fcharset238\fprq1 @MS Mincho CE;}{\f497\fbidi \fmodern\fcharset204\fprq1 @MS Mincho Cyr;}{\f499\fbidi \fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f500\fbidi \fmodern\fcharset162\fprq1 @MS Mincho Tur;}
+{\f503\fbidi \fmodern\fcharset186\fprq1 @MS Mincho Baltic;}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
+{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
+{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
+{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}
+{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}
+{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
+{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
+{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
+{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
+{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
+{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}
+{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}
+{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \fswiss\fcharset238\fprq2 Arial CE;}
+{\fbiminor\f31579\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}{\fbiminor\f31581\fbidi \fswiss\fcharset161\fprq2 Arial Greek;}{\fbiminor\f31582\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\fbiminor\f31583\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}
+{\fbiminor\f31584\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\fbiminor\f31585\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}{\fbiminor\f31586\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;
+\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;
+\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\ctextone\ctint255\cshade255\red0\green0\blue0;}{\*\defchp \f31506\fs22 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \sautoupd \sqformat \spriority0 \styrsid15686224 Normal;}{\s1\ql \fi-357\li357\ri0\sb120\sa120\widctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext1 \slink15 \sqformat \styrsid15686224 heading 1;}{\s2\ql \fi-363\li720\ri0\sb120\sa120\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0 \rtlch\fcs1
+\ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext2 \slink16 \sqformat \styrsid15686224 heading 2;}{\s3\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
+\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext3 \slink17 \sqformat \styrsid15686224 heading 3;}{\s4\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl3\outlinelevel3\adjustright\rin0\lin1435\itap0 \rtlch\fcs1
+\af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext4 \slink18 \sqformat \styrsid15686224 heading 4;}{\s5\ql \fi-357\li1792\ri0\sb120\sa120\widctlpar
+\tx1792\jclisttab\tx2155\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl4\outlinelevel4\adjustright\rin0\lin1792\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext5 \slink19 \sqformat \styrsid15686224 heading 5;}{\s6\ql \fi-357\li2149\ri0\sb120\sa120\widctlpar\jclisttab\tx2152\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl5\outlinelevel5\adjustright\rin0\lin2149\itap0 \rtlch\fcs1
+\af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext6 \slink20 \sqformat \styrsid15686224 heading 6;}{\s7\ql \fi-357\li2506\ri0\sb120\sa120\widctlpar
+\jclisttab\tx2509\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl6\outlinelevel6\adjustright\rin0\lin2506\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext7 \slink21 \sqformat \styrsid15686224 heading 7;}{\s8\ql \fi-357\li2863\ri0\sb120\sa120\widctlpar\jclisttab\tx2866\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl7\outlinelevel7\adjustright\rin0\lin2863\itap0 \rtlch\fcs1
+\af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext8 \slink22 \sqformat \styrsid15686224 heading 8;}{\s9\ql \fi-358\li3221\ri0\sb120\sa120\widctlpar
+\jclisttab\tx3223\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl8\outlinelevel8\adjustright\rin0\lin3221\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext9 \slink23 \sqformat \styrsid15686224 heading 9;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
+\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{\*\cs15 \additive
+\rtlch\fcs1 \ab\af40\afs19 \ltrch\fcs0 \b\fs19\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink1 \slocked \styrsid15686224 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\af40\afs19 \ltrch\fcs0 \b\fs19\loch\f40\hich\af40\dbch\af11
+\sbasedon10 \slink2 \slocked \styrsid15686224 Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \fs19\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink3 \slocked \styrsid15686224 Heading 3 Char;}{\*\cs18 \additive \rtlch\fcs1
+\af40\afs19 \ltrch\fcs0 \fs19\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink4 \slocked \styrsid15686224 Heading 4 Char;}{\*\cs19 \additive \rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \fs19\loch\f40\hich\af40\dbch\af11
+\sbasedon10 \slink5 \slocked \styrsid15686224 Heading 5 Char;}{\*\cs20 \additive \rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \fs19\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink6 \slocked \styrsid15686224 Heading 6 Char;}{\*\cs21 \additive \rtlch\fcs1
+\af40\afs19 \ltrch\fcs0 \fs19\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink7 \slocked \styrsid15686224 Heading 7 Char;}{\*\cs22 \additive \rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \fs19\loch\f40\hich\af40\dbch\af11
+\sbasedon10 \slink8 \slocked \styrsid15686224 Heading 8 Char;}{\*\cs23 \additive \rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \fs19\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink9 \slocked \styrsid15686224 Heading 9 Char;}{
+\s24\ql \li357\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext24 \styrsid15686224 Body 1;}{\s25\ql \fi-363\li720\ri0\sb120\sa120\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext25 \styrsid15686224 Bullet 2;}{\s26\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar
+\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin1435\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext26 \styrsid15686224 Bullet 4;}{\s27\ql \fi-357\li1792\ri0\sb120\sa120\widctlpar\jclisttab\tx1795\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin1792\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext27 \styrsid15686224 Bullet 5;}{\s28\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1
+\ab\af40\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \styrsid15686224 Heading EULA;}{\s29\ql \li0\ri0\sb120\sa120\widctlpar\brdrb\brdrs\brdrw10\brsp20
+\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af40\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \styrsid15686224
+Heading Software Title;}{\s30\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext30 \styrsid15686224 Preamble;}{\s31\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
+\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls4\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon3 \snext31 \slink38 \styrsid15686224 Heading 3 Bold;}{\s32\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin1435\itap0 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0
+\fs19\ul\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon26 \snext32 \styrsid15686224 Bullet 4 Underline;}{\*\cs33 \additive \rtlch\fcs1 \af40 \ltrch\fcs0 \f40\lang1033\langfe1033\langnp1033\langfenp1033
+\sbasedon10 \styrsid15686224 Body 2 Char;}{\*\cs34 \additive \rtlch\fcs1 \af40 \ltrch\fcs0 \f40\lang1033\langfe1033\langnp1033\langfenp1033 \sbasedon10 \styrsid15686224 Body 3 Char;}{\s35\ql \li0\ri0\sb120\sa120\widctlpar\brdrt\brdrs\brdrw10\brsp20
+\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon30 \snext35 \styrsid15686224
+Preamble Border Above;}{\*\cs36 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf2 \sbasedon10 \styrsid15686224 Hyperlink,Char Char7;}{\s37\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1
+\ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \slink39 \styrsid15686224 Body 0 Bold;}{\*\cs38 \additive \rtlch\fcs1 \ab\af40\afs19 \ltrch\fcs0
+\b\fs19\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink31 \slocked \styrsid15686224 Heading 3 Bold Char;}{\*\cs39 \additive \rtlch\fcs1 \ab\af40\afs19 \ltrch\fcs0 \b\fs19\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink37 \slocked \styrsid15686224
+Body 0 Bold Char;}{\*\cs40 \additive \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \f40\fs20 \sbasedon10 \slink41 \slocked \styrsid15686224 Bullet 3 Char1;}{\s41\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls7\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af40\afs20\alang1025 \ltrch\fcs0 \f40\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext41 \slink40 \styrsid15686224 Bullet 3;}{
+\s42\ql \fi-357\li357\ri0\sb120\sa120\widctlpar\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls9\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \af40\afs20\alang1025 \ltrch\fcs0 \f40\fs20\ul\lang1033\langfe1033\cgrid\langnp1033\langfenp1033
+\sbasedon41 \snext42 \sautoupd \styrsid15686224 Bullet 3 Underline;}{\s43\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af40\afs16\alang1025 \ltrch\fcs0
+\fs16\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext43 \slink44 \ssemihidden \sunhideused \styrsid3699522 Balloon Text;}{\*\cs44 \additive \rtlch\fcs1 \af40\afs16 \ltrch\fcs0
+\fs16\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink43 \slocked \ssemihidden \styrsid3699522 Balloon Text Char;}{\*\cs45 \additive \rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \fs16 \sbasedon10 \ssemihidden \sunhideused \styrsid3699522 annotation reference;}{
+\s46\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af40\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext46 \slink47 \ssemihidden \sunhideused \styrsid3699522 annotation text;}{\*\cs47 \additive \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\f40\hich\af40\dbch\af11 \sbasedon10 \slink46 \slocked \ssemihidden \styrsid3699522
+Comment Text Char;}{\s48\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af40\afs20\alang1025 \ltrch\fcs0
+\b\fs20\lang1033\langfe1033\loch\f40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon46 \snext46 \slink49 \ssemihidden \sunhideused \styrsid3699522 annotation subject;}{\*\cs49 \additive \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0
+\b\fs20\loch\f40\hich\af40\dbch\af11 \sbasedon47 \slink48 \slocked \ssemihidden \styrsid3699522 Comment Subject Char;}}{\*\listtable{\list\listtemplateid1928476992{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0 \fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0 \fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af40\afs20 \ltrch\fcs0 \b\i0\f40\fs20\fbias0 \s31\fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0 \fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc1\levelnfcn1\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0 \fi-357\li1792\jclisttab\tx2155\lin1792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid398796681}
+{\list\listtemplateid789093748\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-317712510\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s25\fi-363\li720
+\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23
+\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691
+\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}
+\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid477573462}{\list\listtemplateid1904874988{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers
+\'01;}\rtlch\fcs1 \ab\ai0\af40\afs20 \ltrch\fcs0 \b\i0\f40\fs20\cf0\fbias0 \s1\fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'01.;}{\levelnumbers
+\'01;}\rtlch\fcs1 \ab\ai0\af40\afs20 \ltrch\fcs0 \b\i0\f40\fs20\fbias0 \s2\fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'02.;}{\levelnumbers
+\'01;}\rtlch\fcs1 \ab\ai0\af40\afs20 \ltrch\fcs0 \b\i0\f40\fs20\fbias0 \s3\fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'03.;}{\levelnumbers
+\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0 \s4\fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc1\levelnfcn1\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0 \s5\fi-357\li1792\jclisttab\tx2155\lin1792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \s6\fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \s7\fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \s8\fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \s9\fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid752163927}{\list\listtemplateid285099256
+\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-308626962\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s42\fi-357\li1077\jclisttab\tx1080\lin1077 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689
+\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}
+\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480
+\jclisttab\tx6480\lin6480 }{\listname ;}\listid1121073746}{\list\listtemplateid303218272\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid612407812
+\'01\u-3913 ?;}{\levelnumbers;}\f3\cf17\fbias0 \s26\fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0
+\fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0
+\fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23
+\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1559511898}{\list\listtemplateid-743794326\listhybrid
+{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid1229593488\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s41\fi-357\li1077\jclisttab\tx1080\lin1077 }{\listlevel\levelnfc23
+\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}
+\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760
+\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }
+{\listname ;}\listid1567649130}{\list\listtemplateid-961874242\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-1175557160\'01\u-3913 ?;}{\levelnumbers;}
+\f3\fbias0 \s27\fi-357\li1792\jclisttab\tx1795\lin1792 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440
+\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }
+{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23
+\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1848404271}}{\*\listoverridetable{\listoverride\listid477573462\listoverridecount0\ls1}{\listoverride\listid1559511898\listoverridecount0\ls2}
+{\listoverride\listid1848404271\listoverridecount0\ls3}{\listoverride\listid398796681\listoverridecount0\ls4}{\listoverride\listid752163927\listoverridecount0\ls5}{\listoverride\listid398796681\listoverridecount9{\lfolevel\listoverridestartat
+\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel
+\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}\ls6}{\listoverride\listid1567649130\listoverridecount0\ls7}{\listoverride\listid1559511898\listoverridecount0\ls8}
+{\listoverride\listid1121073746\listoverridecount0\ls9}{\listoverride\listid752163927\listoverridecount0\ls10}}{\*\pgptbl {\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp7\itap0\li0\ri0\sb0\sa300}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp6\itap0\li0\ri0\sb0
+\sa0}{\pgp\ipgp2\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp1\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp4\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid340181\rsid874403\rsid1473980\rsid2177578\rsid2693076\rsid3699522\rsid4423363\rsid7214391\rsid8995160\rsid9441704\rsid12860942
+\rsid14566738\rsid14751308\rsid15014299\rsid15467703\rsid15686224\rsid15928942}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author kathan}{\operator Alok Shriram}
+{\creatim\yr2013\mo4\dy8\hr10\min19}{\revtim\yr2013\mo4\dy8\hr10\min19}{\version2}{\edmins0}{\nofpages4}{\nofwords1341}{\nofchars7648}{\*\company Microsoft Corporation}{\nofcharsws8972}{\vern57427}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office
+/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect
+\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen
+\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1440\dgvorigin1440\dghshow1\dgvshow1
+\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
+\asianbrkrule\rsidroot15686224\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0
+{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang
+{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang
+{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
+\pard\plain \ltrpar\s28\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs28\alang1025 \ltrch\fcs0
+\b\fs28\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 MICROSOFT SOFTWARE LICENSE TERMS
+\par }\pard\plain \ltrpar\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14566738 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid15686224\charrsid7214391 \hich\af40\dbch\af13\loch\f40 MICROSOFT }{\rtlch\fcs1 \ab\af40\afs20
+\ltrch\fcs0 \b\fs20\dbch\af13\insrsid340181 \hich\af40\dbch\af13\loch\f40 Async for .NET Framework}{\rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid14566738 \hich\af40\dbch\af13\loch\f40 \hich\af40\dbch\af13\loch\f40 dll }{\rtlch\fcs1
+\ab\af40\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid7214391\charrsid7214391 \hich\af40\dbch\af13\loch\f40 PACKAGE}{\rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid15686224\charrsid7214391 \hich\af40\dbch\af13\loch\f40 }{\rtlch\fcs1
+\ab\af40\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid14751308\charrsid7214391
+\par }\pard\plain \ltrpar\s29\ql \li0\ri0\sb120\sa120\nowidctlpar\brdrb\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs28\alang1025 \ltrch\fcs0
+\b\fs28\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\par }\pard\plain \ltrpar\s30\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40
+These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the \hich\af40\dbch\af13\loch\f40
+software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s25\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin360\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 updates,
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 supplements,
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 Internet-based services, and
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 support services
+\par }\pard\plain \ltrpar\s30\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40
+for this software, unless other terms accompany those items. If so, t\hich\af40\dbch\af13\loch\f40 hose terms apply.
+\par }{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE.
+\par }\pard\plain \ltrpar\s35\ql \li0\ri0\sb120\sa120\nowidctlpar\brdrt\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\insrsid15686224 \hich\af40\dbch\af11\loch\f40 IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE PERPETUAL RIGHTS BELOW.}{
+\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 1.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid14566738 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 INSTALLATION AND USE RIGHTS. }{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid14566738 \hich\af40\dbch\af13\loch\f40 You}{\rtlch\fcs1
+\ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid14566738\charrsid15934954 \hich\af40\dbch\af13\loch\f40 may install and use any num\hich\af40\dbch\af13\loch\f40 ber of copies of the software on your devices to design, develop and test your programs
+}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid14566738 .}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224\charrsid14566738 \hich\af40\dbch\af13\loch\f40 2.\tab}}{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0
+\fs20\dbch\af13\insrsid15686224\charrsid14566738 \hich\af40\dbch\af13\loch\f40 DISTRIBUTABLE CODE. }{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid14566738 \hich\af40\dbch\af13\loch\f40 }{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0
+\b0\fs20\dbch\af13\insrsid15686224\charrsid14566738 \hich\af40\dbch\af13\loch\f40 \hich\f40 The software is comprised of Distributable Code. \'93\loch\f40 \hich\f40 Distributable Code\'94\loch\f40
+ is code that you are permitted to distribute in programs you develop if you \hich\af40\dbch\af13\loch\f40 comply with the terms below.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\fs20\loch\af39\hich\af39\dbch\af13\insrsid15686224 \hich\af39\dbch\af13\loch\f39 a.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls6\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 Right to Use and Distribute.
+\par {\listtext\pard\plain\ltrpar \s42 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s42\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls9\adjustright\rin0\lin1077\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs20\alang1025 \ltrch\fcs0 \f40\fs20\ul\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40 \ltrch\fcs0
+\ulnone\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 You may copy and distribute the object code form of the software.
+\par {\listtext\pard\plain\ltrpar \s42 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af40 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40
+Third Party Distribution}{\rtlch\fcs1 \af40 \ltrch\fcs0 \ulnone\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 . You may permit distributors of your programs to copy and distribute the Distributable Code as part of \hich\af40\dbch\af13\loch\f40
+those programs.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\fs20\loch\af39\hich\af39\dbch\af13\insrsid15686224 \hich\af39\dbch\af13\loch\f39 b.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls6\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 Distribution Requirements. For any Distributable Code you distribute, you must
+
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s41\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls7\adjustright\rin0\lin1077\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs20\alang1025 \ltrch\fcs0 \f40\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40 \ltrch\fcs0
+\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 add significant primary functionality to it in your programs;
+\par {\*\atrfstart 353179605}{\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40
+for any Distributable Code having a filename extension of .lib, distribute only the results of runn\hich\af40\dbch\af13\loch\f40 ing such Distributable Code through a linker with your program;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40
+distribute Distributable Code included in a setup program only as part of that setup program without modification; }{\rtlch\fcs1 \af40\afs16 \ltrch\fcs0 \cs45\fs16\dbch\af11\insrsid3699522 {\*\atrfend 353179605}{\*\atnid kh}{\*\atnauthor kathan}\chatn
+{\*\annotation{\*\atnref 353179605}{\*\atndate 655469385}\ltrpar \pard\plain \ltrpar\s46\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af40\afs20\alang1025 \ltrch\fcs0
+\fs20\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40\afs16 \ltrch\fcs0 \cs45\fs16\insrsid3699522 \chatn }{\rtlch\fcs1 \af40 \ltrch\fcs0 \insrsid3699522 \hich\af40\dbch\af11\loch\f40
+Do these 2 apply to the .dlls? Standard terms which came in through the WinSDK\hich\af40\dbch\af11\loch\f40 \hich\f40 but were also deemed appropriate for VS so they ended up being \'93\loch\f40 \hich\f40 standard terms\'94\loch\f40 \hich\f40
+ for SDK-type releases\'85..
+\par }{\rtlch\fcs1 \af40 \ltrch\fcs0 \insrsid4423363
+\par }{\rtlch\fcs1 \af40 \ltrch\fcs0 \insrsid1473980 \hich\af40\dbch\af11\loch\f40 Alok to review his team and get back to me.}}}{\rtlch\fcs1 \af40 \ltrch\fcs0 \dbch\af13\insrsid15686224
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 require distributors and external end users to agree to terms that
+\hich\af40\dbch\af13\loch\f40 protect it at least as much as this agreement;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 display your valid copyright notice on your programs; and
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40
+indemnify, defend, and hold harmless Microsoft from any claims, including attorneys\hich\f40 \rquote \loch\f40 fees, related to the distribution or use of your programs.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\fs20\loch\af39\hich\af39\dbch\af13\insrsid15686224 \hich\af39\dbch\af13\loch\f39 c.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls6\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 Distrib\hich\af40\dbch\af13\loch\f40 ution Restrictions. You may not
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s41\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls7\adjustright\rin0\lin1077\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs20\alang1025 \ltrch\fcs0 \f40\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40 \ltrch\fcs0
+\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 alter any copyright, trademark or patent notice in the Distributable Code;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 use Microsoft\hich\f40 \rquote \loch\f40
+s trademarks in your programs\hich\f40 \rquote \loch\f40 names or in a way that suggests your programs come from or are endorsed by Microsoft;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 distribute Distrib\hich\af40\dbch\af13\loch\f40
+utable Code to run on a platform other than the Windows platform;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40
+include Distributable Code in malicious, deceptive or unlawful programs; or
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40
+modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Exclud\hich\af40\dbch\af13\loch\f40 ed License. An Excluded License is one that requires, as a condition of use, modification or distribution, that
+
+\par {\listtext\pard\plain\ltrpar \s26 \rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \fs19\cf17\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s26\ql \fi-358\li1435\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls8\adjustright\rin0\lin1435\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af40 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 the code be disclosed or distributed in source code form; or
+\par {\listtext\pard\plain\ltrpar \s27 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s27\ql \fi-357\li1792\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1795\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin1792\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 others have the right to modify it.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 3.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 SCOPE OF LICENSE.}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 The software is licensed, not
+\hich\af40\dbch\af13\loch\f40
+ sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doin
+\hich\af40\dbch\af13\loch\f40 g\hich\af40\dbch\af13\loch\f40 so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s25\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 work around any technical limitations in the software;
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40
+reverse engineer, decompile or disassemble the software, except and only t\hich\af40\dbch\af13\loch\f40 o the extent that applicable law expressly permits, despite this limitation;
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40
+make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation;
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 publish the software for others to copy;
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 rent, lease or le\hich\af40\dbch\af13\loch\f40 nd the software;
+
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 transfer the software or this agreement to any third party; or
+
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 use the software for commercial software hosting services.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 4.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 BACKUP COPY.}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40
+ You may make one backup copy of the software. You may use it only to reinstall the software.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 5.\tab}}{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af40\dbch\af13\loch\f40 DOCUMENTATI\hich\af40\dbch\af13\loch\f40 ON.}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40
+ Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 6.\tab}}{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af40\dbch\af13\loch\f40 EXPORT RESTRICTIONS.}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 The software is subject to United States export laws and regulations. You must comply w
+\hich\af40\dbch\af13\loch\f40 ith all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see }{\rtlch\fcs1 \ab0\af0\afs20
+\ltrch\fcs0 \cs36\b0\fs20\ul\cf2\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 www.microsoft.com/exporting}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 .}{\rtlch\fcs1 \ab0\af0\afs20 \ltrch\fcs0
+\cs36\b0\fs20\ul\cf2\dbch\af13\insrsid15686224
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 7.\tab}}{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af40\dbch\af13\loch\f40 SUPPORT SERVICES. }{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 Because this \hich\af40\dbch\af13\loch\f40 \hich\f40 software is \'93\loch\f40 \hich\f40 as is,\'94
+\loch\f40 we may not provide support services for it.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 8.\tab}}{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af40\dbch\af13\loch\f40 ENTIRE AGREEMENT.}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40
+ This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support serv\hich\af40\dbch\af13\loch\f40 ices.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 9.\tab}}\pard \ltrpar\s1\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin360\itap0\pararsid15686224 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 APPLICABLE LAW.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 a.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 United States.}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0
+\b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40
+ If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the sta\hich\af40\dbch\af13\loch\f40
+te where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 b.\tab}}{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af40\dbch\af13\loch\f40 Outside the United States.}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 If you acquired the software in any other country, the laws of that country apply.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 10.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 LEGAL EFFE\hich\af40\dbch\af13\loch\f40 CT.}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40
+ This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws o
+\hich\af40\dbch\af13\loch\f40 f your country if the laws of your country do not permit it to do so.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 11.\tab}}\pard \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\widctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 \hich\f40
+DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED \'93\loch\f40 \hich\f40 AS-IS.\'94\loch\f40 YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER\hich\af40\dbch\af13\loch\f40
+ RIGHTS OR STATUTORY GUARANTEES UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+\par }\pard\plain \ltrpar\s24\ql \li357\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 FO\hich\af40\dbch\af13\loch\f40 R AUSTRALIA \hich\f40 \endash
+\loch\f40 YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE RIGHTS.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 12.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\widctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES}{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\insrsid15686224 .\hich\af40\dbch\af11\loch\f40
+ YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.
+\par }\pard\plain \ltrpar\s24\ql \li357\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 This limitation applies to
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s25\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 anything related to the\hich\af40\dbch\af13\loch\f40 software, services, content (including code) on third party Internet sites, or third party programs; and
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40
+claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by appl\hich\af40\dbch\af13\loch\f40 icable law.
+\par }\pard\plain \ltrpar\ql \li360\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid15686224 \rtlch\fcs1 \af40\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40
+It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential
+\hich\af40\dbch\af13\loch\f40 or other damages.
+\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15014299 {\rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid15014299\charrsid15014299 \hich\af40\dbch\af13\loch\f40
+Please note: As this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French.
+\par }{\rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299
+\par
+\par }{\rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af40\dbch\af13\loch\f40 \hich\f40 Remarque : Ce logiciel \'e9\loch\f40 \hich\f40 tant distribu\'e9\loch\f40 \hich\f40 au Qu
+\'e9\loch\f40 bec, Canada, certaines des clauses dans ce contrat sont fo\hich\af40\dbch\af13\loch\f40 \hich\f40 urnies ci-dessous en fran\'e7\loch\f40 ais.
+\par \hich\af40\dbch\af13\loch\f40 \hich\f40 EXON\'c9\loch\f40 RATION DE GARANTIE.}{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af40\dbch\af13\loch\f40 \hich\f40 Le logiciel vis\'e9
+\loch\f40 \hich\f40 par une licence est offert \'ab\loch\f40 \hich\f40 tel quel \'bb\loch\f40 \hich\f40 . Toute utilisation de ce logiciel est \'e0\loch\f40 \hich\f40 votre seule risque et p\'e9\loch\f40 ril. Microsoft n\hich\f40 \rquote \loch\f40
+\hich\f40 accorde aucune autre garantie expresse. Vous pouvez b\'e9\loch\f40 \hich\f40 n\'e9\loch\f40 ficier\hich\af40\dbch\af13\loch\f40 \hich\f40
+ de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualit\'e9\loch\f40 marchande, d\hich\f40 \rquote \loch\f40
+\hich\f40 ad\'e9\loch\f40 \hich\f40 quation \'e0\loch\f40 un usage particulier et d\hich\f40 \rquote \loch\f40 ab\hich\af40\dbch\af13\loch\f40 s\hich\af40\dbch\af13\loch\f40 \hich\f40 ence de contrefa\'e7\loch\f40 on sont exclues.
+\par }{\rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af40\dbch\af13\loch\f40 \hich\f40 LIMITATION DES DOMMAGES-INT\'c9\loch\f40 \hich\f40 R\'ca\loch\f40 \hich\f40
+TS ET EXCLUSION DE RESPONSABILIT\'c9\loch\f40 POUR LES DOMMAGES.}{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af40\dbch\af13\loch\f40 \hich\f40
+ Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement \'e0\loch\f40 hauteur de 5,00 $ US. Vou\hich\af40\dbch\af13\loch\f40 \hich\f40 s ne pouvez pr\'e9\loch\f40 \hich\f40 tendre \'e0\loch\f40
+\hich\f40 aucune indemnisation pour les autres dommages, y compris les dommages sp\'e9\loch\f40 \hich\f40 ciaux, indirects ou accessoires et pertes de b\'e9\loch\f40 \hich\f40 n\'e9\loch\f40 fices.
+\par }{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15014299\charrsid15014299 \hich\af40\dbch\af13\loch\f40 Cette limitation concerne :
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\loch\af3\hich\af3\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard \ltrpar
+\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin360\itap0\pararsid15014299 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0
+\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af40\dbch\af13\loch\f40 \hich\f40 tout ce qui est reli\'e9\loch\f40 au logiciel, aux services ou au contenu (y compris le\hich\af40\dbch\af13\loch\f40
+ code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\loch\af3\hich\af3\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af40\dbch\af13\loch\f40 \hich\f40 les r\'e9
+\loch\f40 \hich\f40 clamations au titre de violation de contrat ou de garantie, ou au titre de responsabilit\'e9\loch\f40 \hich\f40 stricte, de n\'e9\loch\f40 gligence ou d\hich\f40 \rquote \loch\f40 \hich\f40 une autre faute dans la limite autoris\'e9
+\loch\f40 e par la loi e\hich\af40\dbch\af13\loch\f40 n vigueur.
+\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15014299 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299
+\hich\af40\dbch\af13\loch\f40 Elle s\hich\f40 \rquote \loch\f40 \hich\f40 applique \'e9\loch\f40 \hich\f40 galement, m\'ea\loch\f40 \hich\f40 me si Microsoft connaissait ou devrait conna\'ee\loch\f40 tre l\hich\f40 \rquote \'e9\loch\f40 \hich\f40
+ventualit\'e9\loch\f40 d\hich\f40 \rquote \loch\f40 un tel dommage. Si votre pays n\hich\f40 \rquote \loch\f40 autorise pas l\hich\f40 \rquote \loch\f40 \hich\f40 exclusion ou la limitation de responsabilit\'e9\loch\f40
+ pour les dommages indirects, accessoires ou de quelque natu\hich\af40\dbch\af13\loch\f40 re que ce soit, il se peut que la limitation ou l\hich\f40 \rquote \loch\f40 exclusion ci-dessus ne s\hich\f40 \rquote \loch\f40 \hich\f40 appliquera pas \'e0
+\loch\f40 \hich\f40 votre \'e9\loch\f40 gard.
+\par }\pard\plain \ltrpar\s37\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15014299 \rtlch\fcs1 \ab\af40\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af40\hich\af40\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af40\dbch\af13\loch\f40 EFFET JURIDIQUE.}{
+\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af40\dbch\af13\loch\f40 \hich\f40 Le pr\'e9\loch\f40 \hich\f40 sent contrat d\'e9\loch\f40
+crit certains droits juridiques. Vous pourriez avoir d\hich\f40 \rquote \loch\f40 \hich\f40 autres droits pr\'e9\loch\f40 \hich\f40 vus par les lois de votre pays. Le pr\'e9\loch\f40 sen\hich\af40\dbch\af13\loch\f40 \hich\f40
+t contrat ne modifie pas les droits que vous conf\'e8\loch\f40 rent les lois de votre pays si celles-ci ne le permettent pas}{\rtlch\fcs1 \ab0\af40\afs20 \ltrch\fcs0 \b0\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299 .}{\rtlch\fcs1 \af40
+\ltrch\fcs0 \insrsid4000782
+\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a
+9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad
+5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6
+b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0
+0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6
+a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f
+c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512
+0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462
+a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865
+6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b
+4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b
+4757e8d3f729e245eb2b260a0238fd010000ffff0300504b03041400060008000000210030dd4329a8060000a41b0000160000007468656d652f7468656d652f
+7468656d65312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87
+615b8116d8a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad
+79482a9c0498f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b
+5d8a314d3c94e018c8de1a8fa94fd05093f43672e23d06af89927ac06762a049136785c10607758d9053d965021d62d6f6804fc08f86e4bef210c352c144dbab
+999fb7b4717509af678b985ab0b6b4ae6f7ed9ba6c4170b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83a6569632cd467faddec9
+699640f6719e76b7d6ac355c7c89feca9cccad4ea7d36c65b258a206641f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd586
+8b37a088d1e4600ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe3a20f000d6458d104a9694ac6d88728eee2782428d6
+0cf03ac1a5193be4cbb921cd0b495fd054b5bd0f530c1931a3f7eaf9f7af9e3f45c70f9e1d3ff8e9f8e1c3e3073f5a42ceaa6d9c84e5552fbffdeccfc71fa33f
+9e7ef3f2d117d57859c6fffac327bffcfc793510d26726ce8b2f9ffcf6ecc98baf3efdfdbb4715f04d814765f890c644a29be408edf3181433567125272371be
+15c308d3f28acd249438c19a4b05fd9e8a1cf4cd296699771c393ac4b5e01d01e5a30a787d72cf1178108989a2159c77a2d801ee72ce3a5c545a6147f32a9979
+3849c26ae66252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d
+32a423279a668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2a
+f074481847bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86
+e877f0034e16bafb0e258ebb4faf06b769e888340b103d331115bebc4eb813bf83291b63624a0d1475a756c734f9bbc2cd28546ecbe1e20a3794ca175f3fae90
+fb6d2dd99bb07b55e5ccf68942bd0877b23c77b908e8db5f9db7f024d9239010f35bd4bbe2fcae387bfff9e2bc289f2fbe24cfaa301468dd8bd846dbb4ddf1c2
+ae7b4c191ba8292337a469bc25ec3d411f06f53a73e224c5292c8de0516732307070a1c0660d125c7d44553488700a4d7bddd3444299910e254ab984c3a219ae
+a4adf1d0f82b7bd46cea4388ad1c12ab5d1ed8e1153d9c9f350a3246aad01c6873462b9ac05999ad5cc988826eafc3acae853a33b7ba11cd1445875ba1b236b1
+399483c90bd560b0b0263435085a21b0f22a9cf9356b38ec6046026d77eba3dc2dc60b17e92219e180643ed27acffba86e9c94c7ca9c225a0f1b0cfae0788ad5
+4adc5a9aec1b703b8b93caec1a0bd8e5de7b132fe5113cf312503b998e2c2927274bd051db6b35979b1ef271daf6c6704e86c73805af4bdd476216c26593af84
+0dfb5393d964f9cc9bad5c313709ea70f561ed3ea7b053075221d51696910d0d339585004b34272bff7213cc7a510a5454a3b349b1b206c1f0af490176745d4b
+c663e2abb2b34b23da76f6352ba57ca2881844c1111ab189d8c7e07e1daaa04f40255c77988aa05fe06e4e5bdb4cb9c5394bbaf28d98c1d971ccd20867e556a7
+689ec9166e0a522183792b8907ba55ca6e943bbf2a26e52f48957218ffcf54d1fb09dc3eac04da033e5c0d0b8c74a6b43d2e54c4a10aa511f5fb021a07533b20
+5ae07e17a621a8e082dafc17e450ffb739676998b48643a4daa7211214f623150942f6a02c99e83b85583ddbbb2c4996113211551257a656ec1139246ca86be0
+aadedb3d1441a89b6a929501833b197fee7b9641a3503739e57c732a59b1f7da1cf8a73b1f9bcca0945b874d4393dbbf10b1680f66bbaa5d6f96e77b6f59113d
+316bb31a795600b3d256d0cad2fe354538e7566b2bd69cc6cbcd5c38f0e2bcc63058344429dc2121fd07f63f2a7c66bf76e80d75c8f7a1b622f878a18941d840
+545fb28d07d205d20e8ea071b283369834296bdaac75d256cb37eb0bee740bbe278cad253b8bbfcf69eca23973d939b97891c6ce2cecd8da8e2d343578f6648a
+c2d0383fc818c798cf64e52f597c740f1cbd05df0c264c49134cf09d4a60e8a107260f20f92d47b374e32f000000ffff0300504b030414000600080000002100
+0dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f7
+8277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89
+d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd500
+1996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0f
+bfff0000001c0200001300000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6
+a7e7c0000000360100000b00000000000000000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a
+0000001c00000000000000000000000000190200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d00140006000800000021
+0030dd4329a8060000a41b00001600000000000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d001400060008
+00000021000dd1909fb60000001b0100002700000000000000000000000000b20900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000ad0a00000000}
+{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
+617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
+6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
+656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
+{\*\latentstyles\lsdstimax371\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdlocked0 heading 1;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 7;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1;
+\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7;
+\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;
+\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Table;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 2;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 3;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 3;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 3;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 7;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 3;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 7;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 3;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Contemporary;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Elegant;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Professional;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Subtle 1;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Subtle 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 3;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority59 \lsdlocked0 Table Grid;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Theme;\lsdsemihidden1 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;
+\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid;\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1;
+\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2;\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;
+\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1;\lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1;
+\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdsemihidden1 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;
+\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;
+\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;
+\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;
+\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;
+\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3;
+\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;
+\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;
+\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4;
+\lsdpriority62 \lsdlocked0 Light Grid Accent 4;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;
+\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
+\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5;
+\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
+\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;
+\lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6;
+\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;
+\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;
+\lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
+\lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4;
+\lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4;
+\lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1;
+\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1;
+\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2;
+\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2;
+\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3;
+\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4;
+\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4;
+\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5;
+\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5;
+\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6;
+\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6;
+\lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark;
+\lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1;
+\lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1;
+\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2;
+\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3;
+\lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3;
+\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4;
+\lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4;
+\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5;
+\lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5;
+\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6;
+\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;}}{\*\datastore 010500000200000018000000
+4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000
+d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e500000000000000000000000050b2
+ef407d34ce01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/Microsoft.Bcl.Async.1.0.16.nupkg b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/Microsoft.Bcl.Async.1.0.16.nupkg
new file mode 100644
index 0000000..fffb5a3
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/Microsoft.Bcl.Async.1.0.16.nupkg
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/Microsoft.Bcl.Async.1.0.16.nuspec b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/Microsoft.Bcl.Async.1.0.16.nuspec
new file mode 100644
index 0000000..18d2666
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/Microsoft.Bcl.Async.1.0.16.nuspec
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
+ <metadata>
+ <id>Microsoft.Bcl.Async</id>
+ <version>1.0.16</version>
+ <title>Async for .NET Framework 4, Silverlight 4 and 5, and Windows Phone 7.5 and 8</title>
+ <authors>Microsoft</authors>
+ <owners>Microsoft</owners>
+ <licenseUrl>http://go.microsoft.com/fwlink/?LinkID=296434</licenseUrl>
+ <projectUrl>http://go.microsoft.com/fwlink/?LinkID=280056</projectUrl>
+ <iconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</iconUrl>
+ <requireLicenseAcceptance>true</requireLicenseAcceptance>
+ <description>This package enables Visual Studio 2012 projects targeting .NET Framework 4 (with KB2468871), Silverlight 4 and 5, and Windows Phone 7.5 (including any portable library combinations) to use the new 'async' and 'await' keywords. This package also includes Task-based extension methods that allow using some of the existing asynchronous APIs with the new language keywords. Windows Phone 8 projects can use this package to get access to async extension methods for the networking types.
+
+This package is not supported in Visual Studio 2010, and is only required for projects targeting .NET Framework 4.5 or .NET for Windows Store apps when consuming a library that uses this package. For known issues, please see: http://blogs.msdn.com/b/bclteam/p/asynctargetingpackkb.aspx.</description>
+ <summary>Enables usage of the 'async' and 'await' keywords from projects targeting .NET Framework 4 (with KB2468871), Silverlight 4 and 5, and Windows Phone 7.5 and 8.</summary>
+ <copyright>Copyright © Microsoft Corporation</copyright>
+ <tags>BCL Microsoft System Async Await Asynchronous</tags>
+ <dependencies>
+ <dependency id="Microsoft.Bcl" version="1.0.19" />
+ </dependencies>
+ <frameworkAssemblies>
+ <frameworkAssembly assemblyName="System.Net" targetFramework=".NETFramework4.0" />
+ </frameworkAssemblies>
+ <references>
+ <reference file="Microsoft.Threading.Tasks.dll" />
+ <reference file="Microsoft.Threading.Tasks.Extensions.Desktop.dll" />
+ <reference file="Microsoft.Threading.Tasks.Extensions.dll" />
+ <reference file="Microsoft.Threading.Tasks.Extensions.Phone.dll" />
+ <reference file="Microsoft.Threading.Tasks.Extensions.Silverlight.dll" />
+ </references>
+ </metadata>
+</package> \ No newline at end of file
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/ReleaseNotes.txt b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/ReleaseNotes.txt
new file mode 100644
index 0000000..6099fc6
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/ReleaseNotes.txt
@@ -0,0 +1,18 @@
+Changes in 1.0.14-rc
+- Changed: Moved to latest Microsoft.Bcl package (1.0.16-rc).
+
+Changes in 1.0.13-beta
+- Fixed: ConfigureAwait(false) still continue on captured context when using Async Targeting Pack (http://connect.microsoft.com/VisualStudio/feedback/details/767008/configureawait-false-still-continue-on-captured-context-when-using-async-targeting-pack)
+- Fixed: Silverlight 4 projects now get Microsoft.Threading.Tasks.Extensions.Silverlight
+- Added: Package now references System.Net.dll automatically for .NET 4.0 projects so that networking extension methods work out of the box.
+- Changed: Moved types in Microsoft.Threading.Tasks from System.* to Microsoft.* namespace to prevent name conflicts
+- Changed: Package now includes Microsoft.Threading.Tasks for .NET 4.5, Windows Store apps and Windows Phone 8 projects to enable the consumption of custom awaiters.
+- Changed: Microsoft.Bcl dependency is now not included for .NET 4.5, Windows Store apps and Windows Phone 8 projects because it is not needed.
+
+Changes in 1.0.12-beta
+
+- Fixed: TypeLoadException when using Async for WP7.5 version 1.0.11-beta (https://connect.microsoft.com/VisualStudio/feedback/details/768521/system-typeloadexception-when-using-async-for-wp7-5-version-1-0-11-beta)
+
+Changes in 1.0.11-beta
+
+- Initial release \ No newline at end of file
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.Extensions.Desktop.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.Extensions.Desktop.dll
new file mode 100644
index 0000000..fe18d03
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.Extensions.Desktop.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.Extensions.Desktop.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.Extensions.Desktop.xml
new file mode 100644
index 0000000..6fad7c9
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.Extensions.Desktop.xml
@@ -0,0 +1,684 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks.Extensions.Desktop</name>
+ </assembly>
+ <members>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ <member name="T:AsyncPlatformExtensions">
+ <summary>
+ Provides asynchronous wrappers for .NET Framework operations.
+ </summary>
+ <summary>
+ Provides asynchronous wrappers for .NET Framework operations.
+ </summary>
+ </member>
+ <member name="M:AsyncPlatformExtensions.DownloadStringTaskAsync(System.Net.WebClient,System.String)">
+ <summary>Downloads the resource with the specified URI as a string, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI from which to download data.</param>
+ <returns>A Task that contains the downloaded string.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.DownloadStringTaskAsync(System.Net.WebClient,System.Uri)">
+ <summary>Downloads the resource with the specified URI as a string, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI from which to download data.</param>
+ <returns>A Task that contains the downloaded string.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenReadTaskAsync(System.Net.WebClient,System.String)">
+ <summary>Opens a readable stream for the data downloaded from a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenReadTaskAsync(System.Net.WebClient,System.Uri)">
+ <summary>Opens a readable stream for the data downloaded from a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.String)">
+ <summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.Uri)">
+ <summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.String,System.String)">
+ <summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <param name="method">The HTTP method that should be used to open the stream.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.Uri,System.String)">
+ <summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <param name="method">The HTTP method that should be used to open the stream.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadStringTaskAsync(System.Net.WebClient,System.String,System.String)">
+ <summary>Uploads data in a string to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadStringTaskAsync(System.Net.WebClient,System.Uri,System.String)">
+ <summary>Uploads data in a string to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadStringTaskAsync(System.Net.WebClient,System.String,System.String,System.String)">
+ <summary>Uploads data in a string to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="method">The HTTP method that should be used to upload the data.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadStringTaskAsync(System.Net.WebClient,System.Uri,System.String,System.String)">
+ <summary>Uploads data in a string to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="method">The HTTP method that should be used to upload the data.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.GetUri(System.Net.WebClient,System.String)">
+ <summary>Converts a path to a Uri using the WebClient's logic.</summary>
+ <remarks>Based on WebClient's private GetUri method.</remarks>
+ </member>
+ <member name="M:AsyncPlatformExtensions.GetUri(System.Net.WebClient,System.Uri)">
+ <summary>Converts a path to a Uri using the WebClient's logic.</summary>
+ <remarks>Based on WebClient's private GetUri method.</remarks>
+ </member>
+ <member name="M:AsyncPlatformExtensions.DownloadDataTaskAsync(System.Net.WebClient,System.String)">
+ <summary>Downloads the resource with the specified URI as a byte array, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI from which to download data.</param>
+ <returns>A Task that contains the downloaded data.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.DownloadDataTaskAsync(System.Net.WebClient,System.Uri)">
+ <summary>Downloads the resource with the specified URI as a byte array, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI from which to download data.</param>
+ <returns>A Task that contains the downloaded data.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.DownloadFileTaskAsync(System.Net.WebClient,System.String,System.String)">
+ <summary>Downloads the resource with the specified URI to a local file, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI from which to download data.</param>
+ <param name="fileName">The name of the local file that is to receive the data.</param>
+ <returns>A Task that contains the downloaded data.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.DownloadFileTaskAsync(System.Net.WebClient,System.Uri,System.String)">
+ <summary>Downloads the resource with the specified URI to a local file, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI from which to download data.</param>
+ <param name="fileName">The name of the local file that is to receive the data.</param>
+ <returns>A Task that contains the downloaded data.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadDataTaskAsync(System.Net.WebClient,System.String,System.Byte[])">
+ <summary>Uploads data to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadDataTaskAsync(System.Net.WebClient,System.Uri,System.Byte[])">
+ <summary>Uploads data to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadDataTaskAsync(System.Net.WebClient,System.String,System.String,System.Byte[])">
+ <summary>Uploads data to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="method">The HTTP method that should be used to upload the data.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadDataTaskAsync(System.Net.WebClient,System.Uri,System.String,System.Byte[])">
+ <summary>Uploads data to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="method">The HTTP method that should be used to upload the data.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadFileTaskAsync(System.Net.WebClient,System.String,System.String)">
+ <summary>Uploads a file to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the file should be uploaded.</param>
+ <param name="fileName">A path to the file to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadFileTaskAsync(System.Net.WebClient,System.Uri,System.String)">
+ <summary>Uploads a file to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the file should be uploaded.</param>
+ <param name="fileName">A path to the file to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadFileTaskAsync(System.Net.WebClient,System.String,System.String,System.String)">
+ <summary>Uploads a file to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the file should be uploaded.</param>
+ <param name="method">The HTTP method that should be used to upload the file.</param>
+ <param name="fileName">A path to the file to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadFileTaskAsync(System.Net.WebClient,System.Uri,System.String,System.String)">
+ <summary>Uploads a file to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the file should be uploaded.</param>
+ <param name="method">The HTTP method that should be used to upload the file.</param>
+ <param name="fileName">A path to the file to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.AnnounceOnlineTaskAsync(System.ServiceModel.Discovery.AnnouncementClient,System.ServiceModel.Discovery.EndpointDiscoveryMetadata)">
+ <summary>Causes an online announcement (Hello) message to be sent asynchronously with the specified endpoint discovery metadata and user-defined state. The specified is called when the operation completes.</summary>
+ <returns>Task instance.</returns>
+ <param name="discoveryMetadata">The endpoint discovery metadata.</param>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.AnnounceOfflineTaskAsync(System.ServiceModel.Discovery.AnnouncementClient,System.ServiceModel.Discovery.EndpointDiscoveryMetadata)">
+ <summary>Causes an offline announcement (Bye) message to be sent asynchronously with the specified endpoint discovery metadata and user-defined state. The specified is called when the operation completes.</summary>
+ <returns>Task instance.</returns>
+ <param name="discoveryMetadata">The endpoint discovery metadata.</param>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.GetContextAsync(System.Net.HttpListener)">
+ <summary>Begins asynchronously retrieving an incoming request.</summary>
+ <returns>Task object that indicates the status of the asynchronous operation.</returns>
+ <exception cref="T:System.Net.HttpListenerException">A Win32 function call failed. Check the exception's property to determine the cause of the exception.</exception>
+ <exception cref="T:System.InvalidOperationException">This object has not been started or is currently stopped.</exception>
+ <exception cref="T:System.ObjectDisposedException">This object is closed.</exception>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.GetClientCertificateAsync(System.Net.HttpListenerRequest)">
+ <summary>Starts an asynchronous request for the client's X.509 v.3 certificate.</summary>
+ <returns>Task that indicates the status of the operation.</returns>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.AuthenticateAsClientAsync(System.Net.Security.NegotiateStream)">
+ <summary>Called by clients to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. This method does not block.</summary>
+ <returns>Task object indicating the status of the asynchronous operation. </returns>
+ <exception cref="T:System.Security.Authentication.AuthenticationException">The authentication failed. You can use this object to retry the authentication.</exception>
+ <exception cref="T:System.Security.Authentication.InvalidCredentialException">The authentication failed. You can use this object to retry the authentication.</exception>
+ <exception cref="T:System.ObjectDisposedException">This object has been closed.</exception>
+ <exception cref="T:System.InvalidOperationException">Authentication has already occurred.- or -This stream was used previously to attempt authentication as the server. You cannot use the stream to retry authentication as the client.</exception>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.AuthenticateAsClientAsync(System.Net.Security.NegotiateStream,System.Net.NetworkCredential,System.String)">
+ <summary>Called by clients to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. The authentication process uses the specified credentials. This method does not block.</summary>
+ <returns>Task object indicating the status of the asynchronous operation. </returns>
+ <param name="credential">The that is used to establish the identity of the client.</param>
+ <param name="targetName">The Service Principal Name (SPN) that uniquely identifies the server to authenticate.</param>
+ <exception cref="T:System.ArgumentNullException"> is null.- or -<paramref name="targetName" /> is null.</exception>
+ <exception cref="T:System.Security.Authentication.AuthenticationException">The authentication failed. You can use this object to retry the authentication.</exception>
+ <exception cref="T:System.Security.Authentication.InvalidCredentialException">The authentication failed. You can use this object to retry the authentication.</exception>
+ <exception cref="T:System.ObjectDisposedException">This object has been closed.</exception>
+ <exception cref="T:System.InvalidOperationException">Authentication has already occurred.- or -This stream was used previously to attempt authentication as the server. You cannot use the stream to retry authentication as the client.</exception>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.AuthenticateAsClientAsync(System.Net.Security.NegotiateStream,System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String)">
+ <summary>Called by clients to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. The authentication process uses the specified credentials and channel binding. This method does not block.</summary>
+ <returns>Task object indicating the status of the asynchronous operation.</returns>
+ <param name="credential">The that is used to establish the identity of the client.</param>
+ <param name="binding">The that is used for extended protection.</param>
+ <param name="targetName">The Service Principal Name (SPN) that uniquely identifies the server to authenticate.</param>
+ <exception cref="T:System.ArgumentNullException"> is null.- or -<paramref name="targetName" /> is null.</exception>
+ <exception cref="T:System.Security.Authentication.AuthenticationException">The authentication failed. You can use this object to retry the authentication.</exception>
+ <exception cref="T:System.Security.Authentication.InvalidCredentialException">The authentication failed. You can use this object to retry the authentication.</exception>
+ <exception cref="T:System.InvalidOperationException">Authentication has already occurred.- or -This stream was used previously to attempt authentication as the server. You cannot use the stream to retry authentication as the client.</exception>
+ <exception cref="T:System.ObjectDisposedException">This object has been closed.</exception>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.AuthenticateAsServerAsync(System.Net.Security.NegotiateStream)">
+ <summary>Called by servers to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. This method does not block.</summary>
+ <returns>Task object indicating the status of the asynchronous operation. </returns>
+ <exception cref="T:System.Security.Authentication.AuthenticationException">The authentication failed. You can use this object to retry the authentication.</exception>
+ <exception cref="T:System.Security.Authentication.InvalidCredentialException">The authentication failed. You can use this object to retry the authentication.</exception>
+ <exception cref="T:System.ObjectDisposedException">This object has been closed.</exception>
+ <exception cref="T:System.NotSupportedException">Windows 95 and Windows 98 are not supported.</exception>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.AuthenticateAsServerAsync(System.Net.Security.NegotiateStream,System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy)">
+ <summary>Called by servers to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. The authentication process uses the specified extended protection policy. This method does not block.</summary>
+ <returns>Task object indicating the status of the asynchronous operation.</returns>
+ <param name="policy">The that is used for extended protection.</param>
+ <exception cref="T:System.ArgumentException">The and <see cref="P:System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy.CustomServiceNames" /> on the extended protection policy passed in the parameter are both null.</exception>
+ <exception cref="T:System.Security.Authentication.AuthenticationException">The authentication failed. You can use this object to retry the authentication.</exception>
+ <exception cref="T:System.Security.Authentication.InvalidCredentialException">The authentication failed. You can use this object to retry the authentication.</exception>
+ <exception cref="T:System.NotSupportedException">Windows 95 and Windows 98 are not supported.</exception>
+ <exception cref="T:System.ObjectDisposedException">This object has been closed.</exception>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.AuthenticateAsServerAsync(System.Net.Security.NegotiateStream,System.Net.NetworkCredential,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel)">
+ <summary>Called by servers to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. The authentication process uses the specified server credentials and authentication options. This method does not block.</summary>
+ <returns>Task object indicating the status of the asynchronous operation. </returns>
+ <param name="credential">The that is used to establish the identity of the client.</param>
+ <param name="requiredProtectionLevel">One of the values, indicating the security services for the stream.</param>
+ <param name="requiredImpersonationLevel">One of the values, indicating how the server can use the client's credentials to access resources.</param>
+ <exception cref="T:System.ArgumentNullException"> is null.</exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> must be , <see cref="F:System.Security.Principal.TokenImpersonationLevel.Impersonation" />, or <see cref="F:System.Security.Principal.TokenImpersonationLevel.Delegation" />,</exception>
+ <exception cref="T:System.Security.Authentication.AuthenticationException">The authentication failed. You can use this object to retry the authentication.</exception>
+ <exception cref="T:System.Security.Authentication.InvalidCredentialException">The authentication failed. You can use this object to retry the authentication.</exception>
+ <exception cref="T:System.ObjectDisposedException">This object has been closed.</exception>
+ <exception cref="T:System.InvalidOperationException">Authentication has already occurred.- or -This stream was used previously to attempt authentication as the client. You cannot use the stream to retry authentication as the server.</exception>
+ <exception cref="T:System.NotSupportedException">Windows 95 and Windows 98 are not supported.</exception>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.AuthenticateAsClientAsync(System.Net.Security.SslStream,System.String)">
+ <summary>Called by clients to begin an asynchronous operation to authenticate the server and optionally the client.</summary>
+ <returns>Task object that indicates the status of the asynchronous operation. </returns>
+ <param name="targetHost">The name of the server that shares this .</param>
+ <exception cref="T:System.ArgumentNullException"> is null.</exception>
+ <exception cref="T:System.Security.Authentication.AuthenticationException">The authentication failed and left this object in an unusable state.</exception>
+ <exception cref="T:System.InvalidOperationException">Authentication has already occurred.-or-Server authentication using this was tried previously.-or- Authentication is already in progress.</exception>
+ <exception cref="T:System.ObjectDisposedException">This object has been closed.</exception>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.AuthenticateAsServerAsync(System.Net.Security.SslStream,System.Security.Cryptography.X509Certificates.X509Certificate)">
+ <summary>Called by servers to begin an asynchronous operation to authenticate the client and optionally the server in a client-server connection.</summary>
+ <returns>Task object indicating the status of the asynchronous operation. </returns>
+ <param name="serverCertificate">The X509Certificate used to authenticate the server.</param>
+ <exception cref="T:System.ArgumentNullException"> is null.</exception>
+ <exception cref="T:System.Security.Authentication.AuthenticationException">The authentication failed and left this object in an unusable state.</exception>
+ <exception cref="T:System.InvalidOperationException">Authentication has already occurred.-or-Client authentication using this was tried previously.-or- Authentication is already in progress.</exception>
+ <exception cref="T:System.ObjectDisposedException">This object has been closed.</exception>
+ <exception cref="T:System.PlatformNotSupportedException">The method is not supported on Windows 95, Windows 98, or Windows Millennium.</exception>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.ConnectAsync(System.Net.Sockets.TcpClient,System.String,System.Int32)">
+ <summary>Starts an asynchronous request for a remote host connection. The host is specified by a host name and a port number.</summary>
+ <returns>Task that represents the asynchronous connection.</returns>
+ <param name="hostname">The name of the remote host.</param>
+ <param name="port">The port number of the remote host.</param>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ObjectDisposedException">The has been closed. </exception>
+ <exception cref="T:System.NotSupportedException">This method is valid for sockets in the or families.</exception>
+ <exception cref="T:System.ArgumentOutOfRangeException">The port number is not valid.</exception>
+ <exception cref="T:System.InvalidOperationException">The is ing.</exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> <IPermission class="System.Diagnostics.PerformanceCounterPermission, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> <IPermission class="System.Net.SocketPermission, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.ConnectAsync(System.Net.Sockets.TcpClient,System.Net.IPAddress,System.Int32)">
+ <summary>Starts an asynchronous request for a remote host connection. The host is specified by an and a port number.</summary>
+ <returns>Task that represents the asynchronous connection.</returns>
+ <param name="address">The of the remote host.</param>
+ <param name="port">The port number of the remote host.</param>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.Net.Sockets.SocketException">An error occurred when attempting to access the socket. See the Remarks section for more information. </exception>
+ <exception cref="T:System.ObjectDisposedException">The has been closed. </exception>
+ <exception cref="T:System.NotSupportedException">The is not in the socket family.</exception>
+ <exception cref="T:System.ArgumentOutOfRangeException">The port number is not valid.</exception>
+ <exception cref="T:System.ArgumentException">The length of is zero.</exception>
+ <exception cref="T:System.InvalidOperationException">The is ing.</exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> <IPermission class="System.Diagnostics.PerformanceCounterPermission, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> <IPermission class="System.Net.SocketPermission, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.ConnectAsync(System.Net.Sockets.TcpClient,System.Net.IPAddress[],System.Int32)">
+ <summary>Starts an asynchronous request for a remote host connection. The host is specified by an array and a port number.</summary>
+ <returns>Task that represents the asynchronous connections.</returns>
+ <param name="ipAddresses">At least one , designating the remote host.</param>
+ <param name="port">The port number of the remote host.</param>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.Net.Sockets.SocketException">An error occurred when attempting to access the socket. See the Remarks section for more information. </exception>
+ <exception cref="T:System.ObjectDisposedException">The has been closed. </exception>
+ <exception cref="T:System.NotSupportedException">This method is valid for sockets that use or .</exception>
+ <exception cref="T:System.ArgumentOutOfRangeException">The port number is not valid.</exception>
+ <exception cref="T:System.ArgumentException">The length of is zero.</exception>
+ <exception cref="T:System.InvalidOperationException">The is ing.</exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> <IPermission class="System.Diagnostics.PerformanceCounterPermission, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> <IPermission class="System.Net.SocketPermission, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.AcceptSocketAsync(System.Net.Sockets.TcpListener)">
+ <summary>Starts an asynchronous operation to accept an incoming connection attempt.</summary>
+ <returns>Task that represents the asynchronous creation of the <see cref="T:System.Net.Sockets.Socket" />.</returns>
+ <exception cref="T:System.Net.Sockets.SocketException">An error occurred while attempting to access the socket. See the Remarks section for more information. </exception>
+ <exception cref="T:System.ObjectDisposedException">The has been closed. </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode, ControlEvidence" /> <IPermission class="System.Diagnostics.PerformanceCounterPermission, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.AcceptTcpClientAsync(System.Net.Sockets.TcpListener)">
+ <summary>Starts an asynchronous operation to accept an incoming connection attempt.</summary>
+ <returns>Task that represents the asynchronous creation of the <see cref="T:System.Net.Sockets.TcpClient" />.</returns>
+ <exception cref="T:System.Net.Sockets.SocketException">An error occurred while attempting to access the socket. See the Remarks section for more information. </exception>
+ <exception cref="T:System.ObjectDisposedException">The has been closed. </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode, ControlEvidence" /> <IPermission class="System.Diagnostics.PerformanceCounterPermission, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.SendAsync(System.Net.Sockets.UdpClient,System.Byte[],System.Int32,System.Net.IPEndPoint)">
+ <summary>Sends a datagram to a destination asynchronously. The destination is specified by a .</summary>
+ <returns>Task object that represents the asynchronous send.</returns>
+ <param name="datagram">A array that contains the data to be sent.</param>
+ <param name="bytes">The number of bytes to send.</param>
+ <param name="endPoint">The that represents the destination for the data.</param>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.SendAsync(System.Net.Sockets.UdpClient,System.Byte[],System.Int32)">
+ <summary>Sends a datagram to a remote host asynchronously. The destination was specified previously by a call to .</summary>
+ <returns>Task object that represents the asynchronous send.</returns>
+ <param name="datagram">A array that contains the data to be sent.</param>
+ <param name="bytes">The number of bytes to send.</param>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.SendAsync(System.Net.Sockets.UdpClient,System.Byte[],System.Int32,System.String,System.Int32)">
+ <summary>Sends a datagram to a remote host asynchronously. The destination was specified previously by a call to .</summary>
+ <returns>Task object that represents the asynchronous send.</returns>
+ <param name="datagram">A array that contains the data to be sent.</param>
+ <param name="bytes">The number of bytes to send.</param>
+ <param name="hostname">The host name.</param>
+ <param name="port">The host name.</param>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.GetUnicastAddressesAsync(System.Net.NetworkInformation.IPGlobalProperties)">
+ <summary>Starts an asynchronous request to retrieve the stable unicast IP address table on the local computer.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.NotImplementedException">This method is not implemented on the platform. This method uses the native NotifyStableUnicastIpAddressTable function that is supported on Windows Vista and later. </exception>
+ <exception cref="T:System.ComponentModel.Win32Exception">The call to the native NotifyStableUnicastIpAddressTable function failed.</exception>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenAsync(System.Data.SqlClient.SqlConnection)">
+ <summary>Opens the connection asynchronously.</summary>
+ <param name="source">The source.</param>
+ <returns>Task that represents the asynchronous request.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenAsync(System.Data.SqlClient.SqlConnection,System.Threading.CancellationToken)">
+ <summary>Opens the connection asynchronously.</summary>
+ <param name="source">The source.</param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>Task that represents the asynchronous request.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.ExecuteNonQueryAsync(System.Data.SqlClient.SqlCommand)">
+ <summary>Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this , given a callback procedure and state information.</summary>
+ <returns>Task that can be used to poll or wait for results, or both; this value is also needed when invoking <see cref="M:System.Data.SqlClient.SqlCommand.EndExecuteNonQuery(System.IAsyncResult)" />, which returns the number of affected rows.</returns>
+ <exception cref="T:System.Data.SqlClient.SqlException">Any error that occurred while executing the command text.</exception>
+ <exception cref="T:System.InvalidOperationException">The name/value pair "Asynchronous Processing=true" was not included within the connection string defining the connection for this .</exception>
+ <filterpriority>2</filterpriority>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.ExecuteNonQueryAsync(System.Data.SqlClient.SqlCommand,System.Threading.CancellationToken)">
+ <summary>Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this , given a callback procedure and state information.</summary>
+ <returns>Task that can be used to poll or wait for results, or both; this value is also needed when invoking <see cref="M:System.Data.SqlClient.SqlCommand.EndExecuteNonQuery(System.IAsyncResult)" />, which returns the number of affected rows.</returns>
+ <exception cref="T:System.Data.SqlClient.SqlException">Any error that occurred while executing the command text.</exception>
+ <exception cref="T:System.InvalidOperationException">The name/value pair "Asynchronous Processing=true" was not included within the connection string defining the connection for this .</exception>
+ <filterpriority>2</filterpriority>
+ <param name="cancellationToken">The cancellation token.</param>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.ExecuteXmlReaderAsync(System.Data.SqlClient.SqlCommand)">
+ <summary>Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this and returns results as an <see cref="T:System.Xml.XmlReader" /> object, using a callback procedure.</summary>
+ <returns>Task that can be used to poll, wait for results, or both; this value is also needed when the <see cref="M:System.Data.SqlClient.SqlCommand.EndExecuteXmlReader(System.IAsyncResult)" /> is called, which returns the results of the command as XML.</returns>
+ <exception cref="T:System.Data.SqlClient.SqlException">Any error that occurred while executing the command text.</exception>
+ <exception cref="T:System.InvalidOperationException">The name/value pair "Asynchronous Processing=true" was not included within the connection string defining the connection for this .</exception>
+ <filterpriority>2</filterpriority>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.ExecuteXmlReaderAsync(System.Data.SqlClient.SqlCommand,System.Threading.CancellationToken)">
+ <summary>Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this and returns results as an <see cref="T:System.Xml.XmlReader" /> object, using a callback procedure.</summary>
+ <returns>Task that can be used to poll, wait for results, or both; this value is also needed when the <see cref="M:System.Data.SqlClient.SqlCommand.EndExecuteXmlReader(System.IAsyncResult)" /> is called, which returns the results of the command as XML.</returns>
+ <exception cref="T:System.Data.SqlClient.SqlException">Any error that occurred while executing the command text.</exception>
+ <exception cref="T:System.InvalidOperationException">The name/value pair "Asynchronous Processing=true" was not included within the connection string defining the connection for this .</exception>
+ <filterpriority>2</filterpriority>
+ <param name="cancellationToken">The cancellation token.</param>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.ExecuteReaderAsync(System.Data.SqlClient.SqlCommand)">
+ <summary>Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this and retrieves one or more result sets from the server, given a callback procedure and state information.</summary>
+ <returns>Task that can be used to poll, wait for results, or both; this value is also needed when invoking <see cref="M:System.Data.SqlClient.SqlCommand.EndExecuteReader(System.IAsyncResult)" />, which returns a <see cref="T:System.Data.SqlClient.SqlDataReader" /> instance which can be used to retrieve the returned rows.</returns>
+ <exception cref="T:System.Data.SqlClient.SqlException">Any error that occurred while executing the command text.</exception>
+ <exception cref="T:System.InvalidOperationException">The name/value pair "Asynchronous Processing=true" was not included within the connection string defining the connection for this .</exception>
+ <filterpriority>2</filterpriority>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.ExecuteReaderAsync(System.Data.SqlClient.SqlCommand,System.Threading.CancellationToken)">
+ <summary>Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this and retrieves one or more result sets from the server, given a callback procedure and state information.</summary>
+ <returns>Task that can be used to poll, wait for results, or both; this value is also needed when invoking <see cref="M:System.Data.SqlClient.SqlCommand.EndExecuteReader(System.IAsyncResult)" />, which returns a <see cref="T:System.Data.SqlClient.SqlDataReader" /> instance which can be used to retrieve the returned rows.</returns>
+ <exception cref="T:System.Data.SqlClient.SqlException">Any error that occurred while executing the command text.</exception>
+ <exception cref="T:System.InvalidOperationException">The name/value pair "Asynchronous Processing=true" was not included within the connection string defining the connection for this .</exception>
+ <filterpriority>2</filterpriority>
+ <param name="cancellationToken">The cancellation token.</param>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.GetMetadataAsync(System.ServiceModel.Description.MetadataExchangeClient)">
+ <summary>Starts an asynchronous method call that returns a .</summary>
+ <returns>The metadata.</returns>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.GetMetadataAsync(System.ServiceModel.Description.MetadataExchangeClient,System.Uri,System.ServiceModel.Description.MetadataExchangeClientMode)">
+ <summary>Starts an asynchronous method call that returns a using the specified address, callback, asynchronous state, and download mechanism.</summary>
+ <returns>The metadata obtained from the specified .</returns>
+ <param name="address">The address of the metadata.</param>
+ <param name="mode">The value to use when downloading the metadata.</param>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.GetMetadataAsync(System.ServiceModel.Description.MetadataExchangeClient,System.ServiceModel.EndpointAddress)">
+ <summary>Starts an asynchronous method call that returns a using the specified address, callback, and asynchronous state.</summary>
+ <returns>The metadata obtained from the specified .</returns>
+ <param name="address">The address of the metadata.</param>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncPlatformExtensions.FindTaskAsync(System.ServiceModel.Discovery.DiscoveryClient,System.ServiceModel.Discovery.FindCriteria)">
+ <summary>
+ Begins an asynchronous find operation with the specified criteria.
+ </summary>
+ <param name="discoveryClient">The discovery client.</param>
+ <param name="criteria">The criteria for finding services.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.ResolveTaskAsync(System.ServiceModel.Discovery.DiscoveryClient,System.ServiceModel.Discovery.ResolveCriteria)">
+ <summary>
+ Begins an asynchronous resolve operation with the specified criteria.
+ </summary>
+ <param name="discoveryClient">The discovery client.</param>
+ <param name="criteria">The criteria for matching a service endpoint.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.SendTaskAsync(System.Net.NetworkInformation.Ping,System.Net.IPAddress)">
+ <summary>
+ Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message.
+ </summary>
+ <param name="ping">The Ping.</param>
+ <param name="address">An IPAddress that identifies the computer that is the destination for the ICMP echo message.</param>
+ <returns>A task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.SendTaskAsync(System.Net.NetworkInformation.Ping,System.String)">
+ <summary>
+ Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message.
+ </summary>
+ <param name="ping">The Ping.</param>
+ <param name="hostNameOrAddress">
+ A String that identifies the computer that is the destination for the ICMP echo message.
+ The value specified for this parameter can be a host name or a string representation of an IP address.
+ </param>
+ <returns>A task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.SendTaskAsync(System.Net.NetworkInformation.Ping,System.Net.IPAddress,System.Int32)">
+ <summary>
+ Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message.
+ </summary>
+ <param name="ping">The Ping.</param>
+ <param name="address">An IPAddress that identifies the computer that is the destination for the ICMP echo message.</param>
+ <param name="timeout">
+ An Int32 value that specifies the maximum number of milliseconds (after sending the echo message)
+ to wait for the ICMP echo reply message.
+ </param>
+ <returns>A task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.SendTaskAsync(System.Net.NetworkInformation.Ping,System.String,System.Int32)">
+ <summary>
+ Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message.
+ </summary>
+ <param name="ping">The Ping.</param>
+ <param name="hostNameOrAddress">
+ A String that identifies the computer that is the destination for the ICMP echo message.
+ The value specified for this parameter can be a host name or a string representation of an IP address.
+ </param>
+ <param name="timeout">
+ An Int32 value that specifies the maximum number of milliseconds (after sending the echo message)
+ to wait for the ICMP echo reply message.
+ </param>
+ <returns>A task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.SendTaskAsync(System.Net.NetworkInformation.Ping,System.Net.IPAddress,System.Int32,System.Byte[])">
+ <summary>
+ Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message.
+ </summary>
+ <param name="ping">The Ping.</param>
+ <param name="address">An IPAddress that identifies the computer that is the destination for the ICMP echo message.</param>
+ <param name="timeout">
+ An Int32 value that specifies the maximum number of milliseconds (after sending the echo message)
+ to wait for the ICMP echo reply message.
+ </param>
+ <param name="buffer">
+ A Byte array that contains data to be sent with the ICMP echo message and returned
+ in the ICMP echo reply message. The array cannot contain more than 65,500 bytes.
+ </param>
+ <returns>A task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.SendTaskAsync(System.Net.NetworkInformation.Ping,System.String,System.Int32,System.Byte[])">
+ <summary>
+ Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message.
+ </summary>
+ <param name="ping">The Ping.</param>
+ <param name="hostNameOrAddress">
+ A String that identifies the computer that is the destination for the ICMP echo message.
+ The value specified for this parameter can be a host name or a string representation of an IP address.
+ </param>
+ <param name="timeout">
+ An Int32 value that specifies the maximum number of milliseconds (after sending the echo message)
+ to wait for the ICMP echo reply message.
+ </param>
+ <param name="buffer">
+ A Byte array that contains data to be sent with the ICMP echo message and returned
+ in the ICMP echo reply message. The array cannot contain more than 65,500 bytes.
+ </param>
+ <returns>A task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.SendTaskAsync(System.Net.NetworkInformation.Ping,System.Net.IPAddress,System.Int32,System.Byte[],System.Net.NetworkInformation.PingOptions)">
+ <summary>
+ Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message.
+ </summary>
+ <param name="ping">The Ping.</param>
+ <param name="address">An IPAddress that identifies the computer that is the destination for the ICMP echo message.</param>
+ <param name="timeout">
+ An Int32 value that specifies the maximum number of milliseconds (after sending the echo message)
+ to wait for the ICMP echo reply message.
+ </param>
+ <param name="buffer">
+ A Byte array that contains data to be sent with the ICMP echo message and returned
+ in the ICMP echo reply message. The array cannot contain more than 65,500 bytes.
+ </param>
+ <param name="options">A PingOptions object used to control fragmentation and Time-to-Live values for the ICMP echo message packet.</param>
+ <returns>A task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.SendTaskAsync(System.Net.NetworkInformation.Ping,System.String,System.Int32,System.Byte[],System.Net.NetworkInformation.PingOptions)">
+ <summary>
+ Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message.
+ </summary>
+ <param name="ping">The Ping.</param>
+ <param name="hostNameOrAddress">
+ A String that identifies the computer that is the destination for the ICMP echo message.
+ The value specified for this parameter can be a host name or a string representation of an IP address.
+ </param>
+ <param name="timeout">
+ An Int32 value that specifies the maximum number of milliseconds (after sending the echo message)
+ to wait for the ICMP echo reply message.
+ </param>
+ <param name="buffer">
+ A Byte array that contains data to be sent with the ICMP echo message and returned
+ in the ICMP echo reply message. The array cannot contain more than 65,500 bytes.
+ </param>
+ <param name="options">A PingOptions object used to control fragmentation and Time-to-Live values for the ICMP echo message packet.</param>
+ <returns>A task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.SendTaskAsyncCore(System.Net.NetworkInformation.Ping,System.Object,System.Action{System.Threading.Tasks.TaskCompletionSource{System.Net.NetworkInformation.PingReply}})">
+ <summary>The core implementation of SendTaskAsync.</summary>
+ <param name="ping">The Ping.</param>
+ <param name="userToken">A user-defined object stored in the resulting Task.</param>
+ <param name="sendAsync">
+ A delegate that initiates the asynchronous send.
+ The provided TaskCompletionSource must be passed as the user-supplied state to the actual Ping.SendAsync method.
+ </param>
+ <returns></returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.SendTaskAsync(System.Net.Mail.SmtpClient,System.String,System.String,System.String,System.String)">
+ <summary>Sends an e-mail message asynchronously.</summary>
+ <param name="smtpClient">The client.</param>
+ <param name="from">A String that contains the address information of the message sender.</param>
+ <param name="recipients">A String that contains the address that the message is sent to.</param>
+ <param name="subject">A String that contains the subject line for the message.</param>
+ <param name="body">A String that contains the message body.</param>
+ <returns>A Task that represents the asynchronous send.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.SendTaskAsync(System.Net.Mail.SmtpClient,System.Net.Mail.MailMessage)">
+ <summary>Sends an e-mail message asynchronously.</summary>
+ <param name="smtpClient">The client.</param>
+ <param name="message">A MailMessage that contains the message to send.</param>
+ <returns>A Task that represents the asynchronous send.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.SendTaskAsyncCore(System.Net.Mail.SmtpClient,System.Object,System.Action{System.Threading.Tasks.TaskCompletionSource{System.Object}})">
+ <summary>The core implementation of SendTaskAsync.</summary>
+ <param name="smtpClient">The client.</param>
+ <param name="userToken">The user-supplied state.</param>
+ <param name="sendAsync">
+ A delegate that initiates the asynchronous send.
+ The provided TaskCompletionSource must be passed as the user-supplied state to the actual SmtpClient.SendAsync method.
+ </param>
+ <returns></returns>
+ </member>
+ <member name="T:System.Net.DnsEx">
+ <summary>Provides asynchronous wrappers for the <see cref="T:System.Net.Dns"/> class.</summary>
+ </member>
+ <member name="M:System.Net.DnsEx.GetHostAddressesAsync(System.String)">
+ <summary>Asynchronously returns the Internet Protocol (IP) addresses for the specified host.</summary>
+ <param name="hostNameOrAddress">The host name or IP address to resolve.</param>
+ <returns>An array of type System.Net.IPAddress that holds the IP addresses for the host specified.</returns>
+ </member>
+ <member name="M:System.Net.DnsEx.GetHostEntryAsync(System.Net.IPAddress)">
+ <summary>Asynchronously resolves an IP address to an System.Net.IPHostEntry instance.</summary>
+ <param name="address">The IP address to resolve.</param>
+ <returns>An System.Net.IPHostEntry instance that contains address information about the host.</returns>
+ </member>
+ <member name="M:System.Net.DnsEx.GetHostEntryAsync(System.String)">
+ <summary>Asynchronously resolves an IP address to an System.Net.IPHostEntry instance.</summary>
+ <param name="hostNameOrAddress">The host name or IP address to resolve.</param>
+ <returns>An System.Net.IPHostEntry instance that contains address information about the host.</returns>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.Extensions.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.Extensions.dll
new file mode 100644
index 0000000..e911377
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.Extensions.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.Extensions.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.Extensions.xml
new file mode 100644
index 0000000..af646a2
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.Extensions.xml
@@ -0,0 +1,275 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks.Extensions</name>
+ </assembly>
+ <members>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ <member name="T:AsyncExtensions">
+ <summary>
+ Provides asynchronous wrappers for .NET Framework operations.
+ </summary>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
+ <summary>
+ Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+ </summary>
+ <returns>A Task that represents the asynchronous read.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer to read data into. </param>
+ <param name="offset">The byte offset in at which to begin reading. </param>
+ <param name="count">The maximum number of bytes to read. </param>
+ <exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+ </summary>
+ <returns>A Task that represents the asynchronous read.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer to read data into. </param>
+ <param name="offset">The byte offset in at which to begin reading. </param>
+ <param name="count">The maximum number of bytes to read. </param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
+ <summary>
+ Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+ </summary>
+ <returns>A Task that represents the asynchronous write.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer containing data to write to the current stream.</param>
+ <param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
+ <param name="count">The maximum number of bytes to write. </param>
+ <exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
+ <exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
+ <exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+ </summary>
+ <returns>A Task that represents the asynchronous write.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer containing data to write to the current stream.</param>
+ <param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
+ <param name="count">The maximum number of bytes to write. </param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
+ <exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
+ <exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.Stream)">
+ <summary>
+ Flushes asynchronously the current stream.
+ </summary>
+ <returns>A Task that represents the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.Stream,System.Threading.CancellationToken)">
+ <summary>
+ Flushes asynchronously the current stream.
+ </summary>
+ <returns>A Task that represents the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsyncInternal(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
+ <summary>
+ Reads a maximum of count characters from the reader asynchronously and writes
+ the data to buffer, beginning at index.
+ </summary>
+ <param name="buffer">
+ When the operation completes, contains the specified character array with the
+ values between index and (index + count - 1) replaced by the characters read
+ from the current source.
+ </param>
+ <param name="count">
+ The maximum number of characters to read. If the end of the stream is reached
+ before count of characters is read into buffer, the current method returns.
+ </param>
+ <param name="index">The place in buffer at which to begin writing.</param>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadBlockAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
+ <summary>
+ Reads asynchronously a maximum of count characters from the current stream, and writes the
+ data to buffer, beginning at index.
+ </summary>
+ <param name="source">The source reader.</param>
+ <param name="buffer">
+ When this method returns, this parameter contains the specified character
+ array with the values between index and (index + count -1) replaced by the
+ characters read from the current source.
+ </param>
+ <param name="index">The position in buffer at which to begin writing.</param>
+ <param name="count">The maximum number of characters to read.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadLineAsync(System.IO.TextReader)">
+ <summary>
+ Reads a line of characters from the reader and returns the string asynchronously.
+ </summary>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadToEndAsync(System.IO.TextReader)">
+ <summary>
+ Reads all characters from the current position to the end of the TextReader
+ and returns them as one string asynchronously.
+ </summary>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.String)">
+ <summary>Writes a string asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The string to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char)">
+ <summary>Writes a char asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The char to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char[])">
+ <summary>Writes a char array asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+ <summary>Writes a subarray of characters asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <param name="index">Starting index in the buffer.</param>
+ <param name="count">The number of characters to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter)">
+ <summary>Writes a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.String)">
+ <summary>Writes a string followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The string to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char)">
+ <summary>Writes a char followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The char to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char[])">
+ <summary>Writes a char array followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+ <summary>Writes a subarray of characters followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <param name="index">Starting index in the buffer.</param>
+ <param name="count">The number of characters to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.TextWriter)">
+ <summary>
+ Clears all buffers for the current writer and causes any buffered data to
+ be written to the underlying device.
+ </summary>
+ <param name="target">The writer.</param>
+ <returns>A Task representing the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.GetResponseAsync(System.Net.WebRequest)">
+ <summary>Starts an asynchronous request for a web resource.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.InvalidOperationException">The stream is already in use by a previous call to . </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncExtensions.GetRequestStreamAsync(System.Net.WebRequest)">
+ <summary>Starts an asynchronous request for a object to use to write data.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.Net.ProtocolViolationException">The property is GET and the application writes to the stream. </exception>
+ <exception cref="T:System.InvalidOperationException">The stream is being used by a previous call to . </exception>
+ <exception cref="T:System.ApplicationException">No write stream is available. </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.dll
new file mode 100644
index 0000000..065d746
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.xml
new file mode 100644
index 0000000..5c22030
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net40/Microsoft.Threading.Tasks.xml
@@ -0,0 +1,630 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:AwaitExtensions">
+ <summary>
+ Provides extension methods for threading-related types.
+ </summary>
+ </member>
+ <member name="M:AwaitExtensions.CancelAfter(System.Threading.CancellationTokenSource,System.Int32)">
+ <summary>Cancels the <see cref="T:System.Threading.CancellationTokenSource"/> after the specified duration.</summary>
+ <param name="source">The CancellationTokenSource.</param>
+ <param name="dueTime">The due time in milliseconds for the source to be canceled.</param>
+ </member>
+ <member name="M:AwaitExtensions.CancelAfter(System.Threading.CancellationTokenSource,System.TimeSpan)">
+ <summary>Cancels the <see cref="T:System.Threading.CancellationTokenSource"/> after the specified duration.</summary>
+ <param name="source">The CancellationTokenSource.</param>
+ <param name="dueTime">The due time for the source to be canceled.</param>
+ </member>
+ <member name="M:AwaitExtensions.GetAwaiter(System.Threading.Tasks.Task)">
+ <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <param name="task">The task to await.</param>
+ <returns>An awaiter instance.</returns>
+ </member>
+ <member name="M:AwaitExtensions.GetAwaiter``1(System.Threading.Tasks.Task{``0})">
+ <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <typeparam name="TResult">Specifies the type of data returned by the task.</typeparam>
+ <param name="task">The task to await.</param>
+ <returns>An awaiter instance.</returns>
+ </member>
+ <member name="M:AwaitExtensions.ConfigureAwait(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Creates and configures an awaitable object for awaiting the specified task.</summary>
+ <param name="task">The task to be awaited.</param>
+ <param name="continueOnCapturedContext">
+ true to automatic marshag back to the original call site's current SynchronizationContext
+ or TaskScheduler; otherwise, false.
+ </param>
+ <returns>The instance to be awaited.</returns>
+ </member>
+ <member name="M:AwaitExtensions.ConfigureAwait``1(System.Threading.Tasks.Task{``0},System.Boolean)">
+ <summary>Creates and configures an awaitable object for awaiting the specified task.</summary>
+ <param name="task">The task to be awaited.</param>
+ <param name="continueOnCapturedContext">
+ true to automatic marshag back to the original call site's current SynchronizationContext
+ or TaskScheduler; otherwise, false.
+ </param>
+ <returns>The instance to be awaited.</returns>
+ </member>
+ <member name="T:Microsoft.ProgressEventHandler`1">
+ <summary>Event handler for progress reports.</summary>
+ <typeparam name="T">Specifies the type of data for the progress report.</typeparam>
+ <param name="sender">The sender of the report.</param>
+ <param name="value">The reported value.</param>
+ </member>
+ <member name="T:Microsoft.Progress`1">
+ <summary>
+ Provides an IProgress{T} that invokes callbacks for each reported progress value.
+ </summary>
+ <typeparam name="T">Specifies the type of the progress report value.</typeparam>
+ <remarks>
+ Any handler provided to the constructor or event handlers registered with
+ the <see cref="E:Microsoft.Progress`1.ProgressChanged"/> event are invoked through a
+ <see cref="T:System.Threading.SynchronizationContext"/> instance captured
+ when the instance is constructed. If there is no current SynchronizationContext
+ at the time of construction, the callbacks will be invoked on the ThreadPool.
+ </remarks>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_synchronizationContext">
+ <summary>The synchronization context captured upon construction. This will never be null.</summary>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_handler">
+ <summary>The handler specified to the constructor. This may be null.</summary>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_invokeHandlers">
+ <summary>A cached delegate used to post invocation to the synchronization context.</summary>
+ </member>
+ <member name="M:Microsoft.Progress`1.#ctor">
+ <summary>Initializes the <see cref="T:Microsoft.Progress`1"/>.</summary>
+ </member>
+ <member name="M:Microsoft.Progress`1.#ctor(System.Action{`0})">
+ <summary>Initializes the <see cref="T:Microsoft.Progress`1"/> with the specified callback.</summary>
+ <param name="handler">
+ A handler to invoke for each reported progress value. This handler will be invoked
+ in addition to any delegates registered with the <see cref="E:Microsoft.Progress`1.ProgressChanged"/> event.
+ </param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="handler"/> is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:Microsoft.Progress`1.OnReport(`0)">
+ <summary>Reports a progress change.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="M:Microsoft.Progress`1.System#IProgress{T}#Report(`0)">
+ <summary>Reports a progress change.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="M:Microsoft.Progress`1.InvokeHandlers(System.Object)">
+ <summary>Invokes the action and event callbacks.</summary>
+ <param name="state">The progress value.</param>
+ </member>
+ <member name="E:Microsoft.Progress`1.ProgressChanged">
+ <summary>Raised for each reported progress value.</summary>
+ <remarks>
+ Handlers registered with this event will be invoked on the
+ <see cref="T:System.Threading.SynchronizationContext"/> captured when the instance was constructed.
+ </remarks>
+ </member>
+ <member name="T:Microsoft.ProgressStatics">
+ <summary>Holds static values for <see cref="T:Microsoft.Progress`1"/>.</summary>
+ <remarks>This avoids one static instance per type T.</remarks>
+ </member>
+ <member name="F:Microsoft.ProgressStatics.DefaultContext">
+ <summary>A default synchronization context that targets the ThreadPool.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable">
+ <summary>Provides an awaitable object that allows for configured awaits on <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.m_configuredTaskAwaiter">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.#ctor(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.GetAwaiter">
+ <summary>Gets an awaiter for this awaitable.</summary>
+ <returns>The awaiter.</returns>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter">
+ <summary>Provides an awaiter for a <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.m_continueOnCapturedContext">
+ <summary>Whether to attempt marshaling back to the original context.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.#ctor(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task"/> to await.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured
+ when BeginAwait is called; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1">
+ <summary>Provides an awaitable object that allows for configured awaits on <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.m_configuredTaskAwaiter">
+ <summary>The underlying awaitable on whose logic this awaitable relies.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.#ctor(System.Threading.Tasks.Task{`0},System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task`1"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.GetAwaiter">
+ <summary>Gets an awaiter for this awaitable.</summary>
+ <returns>The awaiter.</returns>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter">
+ <summary>Provides an awaiter for a <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.m_continueOnCapturedContext">
+ <summary>Whether to attempt marshaling back to the original context.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.#ctor(System.Threading.Tasks.Task{`0},System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task`1"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.TaskAwaiter">
+ <summary>Provides an awaiter for awaiting a <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.CONTINUE_ON_CAPTURED_CONTEXT_DEFAULT">
+ <summary>The default value to use for continueOnCapturedContext.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.InvalidOperationException_TaskNotCompleted">
+ <summary>Error message for GetAwaiter.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.#ctor(System.Threading.Tasks.Task)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task"/> to be awaited.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(System.Threading.Tasks.Task)">
+ <summary>
+ Fast checks for the end of an await operation to determine whether more needs to be done
+ prior to completing the await.
+ </summary>
+ <param name="task">The awaited task.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(System.Threading.Tasks.Task)">
+ <summary>Handles validations on tasks that aren't successfully completed.</summary>
+ <param name="task">The awaited task.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)">
+ <summary>Throws an exception to handle a task that completed in a state other than RanToCompletion.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.OnCompletedInternal(System.Threading.Tasks.Task,System.Action,System.Boolean)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="task">The awaited task.</param>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.RunNoException(System.Action)">
+ <summary>Invokes the delegate in a try/catch that will propagate the exception asynchronously on the ThreadPool.</summary>
+ <param name="continuation"></param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter.IsValidLocationForInlining">
+ <summary>Whether the current thread is appropriate for inlining the await continuation.</summary>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.TaskAwaiter`1">
+ <summary>Provides an awaiter for awaiting a <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.#ctor(System.Threading.Tasks.Task{`0})">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter`1"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task`1"/> to be awaited.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.YieldAwaitable">
+ <summary>Provides an awaitable context for switching into a target environment.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.GetAwaiter">
+ <summary>Gets an awaiter for this <see cref="T:Microsoft.Runtime.CompilerServices.YieldAwaitable"/>.</summary>
+ <returns>An awaiter for this awaitable.</returns>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter">
+ <summary>Provides an awaiter that switches into a target environment.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.s_completed">
+ <summary>A completed task.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.OnCompleted(System.Action)">
+ <summary>Posts the <paramref name="continuation"/> back to the current context.</summary>
+ <param name="continuation">The action to invoke asynchronously.</param>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Posts the <paramref name="continuation"/> back to the current context.</summary>
+ <param name="continuation">The action to invoke asynchronously.</param>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.GetResult">
+ <summary>Ends the await operation.</summary>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.IsCompleted">
+ <summary>Gets whether a yield is not required.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskEx">
+ <summary>Provides methods for creating and manipulating tasks.</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Action)">
+ <summary>Creates a task that runs the specified action.</summary>
+ <param name="action">The action to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Action,System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified action.</summary>
+ <param name="action">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to request cancellation of this task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{``0})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{``0},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to cancel the task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Func{System.Threading.Tasks.Task})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Func{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to request cancellation of this task.</param>
+ <returns>A task that represents the completion of the function.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to cancel the task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.Int32)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay in milliseconds before the returned task completes.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.TimeSpan)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay before the returned task completes.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.TimeSpan,System.Threading.CancellationToken)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay before the returned task completes.</param>
+ <param name="cancellationToken">A CancellationToken that may be used to cancel the task before the due time occurs.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.Int32,System.Threading.CancellationToken)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay in milliseconds before the returned task completes.</param>
+ <param name="cancellationToken">A CancellationToken that may be used to cancel the task before the due time occurs.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskEx.s_preCompletedTask">
+ <summary>An already completed task.</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll(System.Threading.Tasks.Task[])">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll``1(System.Threading.Tasks.Task{``0}[])">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAllCore``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task},System.Action{System.Threading.Tasks.Task[],System.Threading.Tasks.TaskCompletionSource{``0}})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <param name="setResultAction">
+ A callback invoked when all of the tasks complete successfully in the RanToCompletion state.
+ This callback is responsible for storing the results into the TaskCompletionSource.
+ </param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny(System.Threading.Tasks.Task[])">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task})">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny``1(System.Threading.Tasks.Task{``0}[])">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.FromResult``1(``0)">
+ <summary>Creates an already completed <see cref="T:System.Threading.Tasks.Task`1"/> from the specified result.</summary>
+ <param name="result">The result from which to create the completed task.</param>
+ <returns>The completed task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Yield">
+ <summary>Creates an awaitable that asynchronously yields back to the current context when awaited.</summary>
+ <returns>
+ A context that, when awaited, will asynchronously transition back into the current context.
+ If SynchronizationContext.Current is non-null, that is treated as the current context.
+ Otherwise, TaskScheduler.Current is treated as the current context.
+ </returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.AddPotentiallyUnwrappedExceptions(System.Collections.Generic.List{System.Exception}@,System.Exception)">
+ <summary>Adds the target exception to the list, initializing the list if it's null.</summary>
+ <param name="targetList">The list to which to add the exception and initialize if the list is null.</param>
+ <param name="exception">The exception to add, and unwrap if it's an aggregate.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net45/Microsoft.Threading.Tasks.Extensions.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net45/Microsoft.Threading.Tasks.Extensions.dll
new file mode 100644
index 0000000..e911377
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net45/Microsoft.Threading.Tasks.Extensions.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net45/Microsoft.Threading.Tasks.Extensions.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net45/Microsoft.Threading.Tasks.Extensions.xml
new file mode 100644
index 0000000..af646a2
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net45/Microsoft.Threading.Tasks.Extensions.xml
@@ -0,0 +1,275 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks.Extensions</name>
+ </assembly>
+ <members>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ <member name="T:AsyncExtensions">
+ <summary>
+ Provides asynchronous wrappers for .NET Framework operations.
+ </summary>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
+ <summary>
+ Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+ </summary>
+ <returns>A Task that represents the asynchronous read.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer to read data into. </param>
+ <param name="offset">The byte offset in at which to begin reading. </param>
+ <param name="count">The maximum number of bytes to read. </param>
+ <exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+ </summary>
+ <returns>A Task that represents the asynchronous read.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer to read data into. </param>
+ <param name="offset">The byte offset in at which to begin reading. </param>
+ <param name="count">The maximum number of bytes to read. </param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
+ <summary>
+ Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+ </summary>
+ <returns>A Task that represents the asynchronous write.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer containing data to write to the current stream.</param>
+ <param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
+ <param name="count">The maximum number of bytes to write. </param>
+ <exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
+ <exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
+ <exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+ </summary>
+ <returns>A Task that represents the asynchronous write.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer containing data to write to the current stream.</param>
+ <param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
+ <param name="count">The maximum number of bytes to write. </param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
+ <exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
+ <exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.Stream)">
+ <summary>
+ Flushes asynchronously the current stream.
+ </summary>
+ <returns>A Task that represents the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.Stream,System.Threading.CancellationToken)">
+ <summary>
+ Flushes asynchronously the current stream.
+ </summary>
+ <returns>A Task that represents the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsyncInternal(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
+ <summary>
+ Reads a maximum of count characters from the reader asynchronously and writes
+ the data to buffer, beginning at index.
+ </summary>
+ <param name="buffer">
+ When the operation completes, contains the specified character array with the
+ values between index and (index + count - 1) replaced by the characters read
+ from the current source.
+ </param>
+ <param name="count">
+ The maximum number of characters to read. If the end of the stream is reached
+ before count of characters is read into buffer, the current method returns.
+ </param>
+ <param name="index">The place in buffer at which to begin writing.</param>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadBlockAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
+ <summary>
+ Reads asynchronously a maximum of count characters from the current stream, and writes the
+ data to buffer, beginning at index.
+ </summary>
+ <param name="source">The source reader.</param>
+ <param name="buffer">
+ When this method returns, this parameter contains the specified character
+ array with the values between index and (index + count -1) replaced by the
+ characters read from the current source.
+ </param>
+ <param name="index">The position in buffer at which to begin writing.</param>
+ <param name="count">The maximum number of characters to read.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadLineAsync(System.IO.TextReader)">
+ <summary>
+ Reads a line of characters from the reader and returns the string asynchronously.
+ </summary>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadToEndAsync(System.IO.TextReader)">
+ <summary>
+ Reads all characters from the current position to the end of the TextReader
+ and returns them as one string asynchronously.
+ </summary>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.String)">
+ <summary>Writes a string asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The string to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char)">
+ <summary>Writes a char asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The char to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char[])">
+ <summary>Writes a char array asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+ <summary>Writes a subarray of characters asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <param name="index">Starting index in the buffer.</param>
+ <param name="count">The number of characters to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter)">
+ <summary>Writes a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.String)">
+ <summary>Writes a string followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The string to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char)">
+ <summary>Writes a char followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The char to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char[])">
+ <summary>Writes a char array followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+ <summary>Writes a subarray of characters followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <param name="index">Starting index in the buffer.</param>
+ <param name="count">The number of characters to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.TextWriter)">
+ <summary>
+ Clears all buffers for the current writer and causes any buffered data to
+ be written to the underlying device.
+ </summary>
+ <param name="target">The writer.</param>
+ <returns>A Task representing the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.GetResponseAsync(System.Net.WebRequest)">
+ <summary>Starts an asynchronous request for a web resource.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.InvalidOperationException">The stream is already in use by a previous call to . </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncExtensions.GetRequestStreamAsync(System.Net.WebRequest)">
+ <summary>Starts an asynchronous request for a object to use to write data.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.Net.ProtocolViolationException">The property is GET and the application writes to the stream. </exception>
+ <exception cref="T:System.InvalidOperationException">The stream is being used by a previous call to . </exception>
+ <exception cref="T:System.ApplicationException">No write stream is available. </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net45/Microsoft.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net45/Microsoft.Threading.Tasks.dll
new file mode 100644
index 0000000..065d746
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net45/Microsoft.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net45/Microsoft.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net45/Microsoft.Threading.Tasks.xml
new file mode 100644
index 0000000..5c22030
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/net45/Microsoft.Threading.Tasks.xml
@@ -0,0 +1,630 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:AwaitExtensions">
+ <summary>
+ Provides extension methods for threading-related types.
+ </summary>
+ </member>
+ <member name="M:AwaitExtensions.CancelAfter(System.Threading.CancellationTokenSource,System.Int32)">
+ <summary>Cancels the <see cref="T:System.Threading.CancellationTokenSource"/> after the specified duration.</summary>
+ <param name="source">The CancellationTokenSource.</param>
+ <param name="dueTime">The due time in milliseconds for the source to be canceled.</param>
+ </member>
+ <member name="M:AwaitExtensions.CancelAfter(System.Threading.CancellationTokenSource,System.TimeSpan)">
+ <summary>Cancels the <see cref="T:System.Threading.CancellationTokenSource"/> after the specified duration.</summary>
+ <param name="source">The CancellationTokenSource.</param>
+ <param name="dueTime">The due time for the source to be canceled.</param>
+ </member>
+ <member name="M:AwaitExtensions.GetAwaiter(System.Threading.Tasks.Task)">
+ <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <param name="task">The task to await.</param>
+ <returns>An awaiter instance.</returns>
+ </member>
+ <member name="M:AwaitExtensions.GetAwaiter``1(System.Threading.Tasks.Task{``0})">
+ <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <typeparam name="TResult">Specifies the type of data returned by the task.</typeparam>
+ <param name="task">The task to await.</param>
+ <returns>An awaiter instance.</returns>
+ </member>
+ <member name="M:AwaitExtensions.ConfigureAwait(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Creates and configures an awaitable object for awaiting the specified task.</summary>
+ <param name="task">The task to be awaited.</param>
+ <param name="continueOnCapturedContext">
+ true to automatic marshag back to the original call site's current SynchronizationContext
+ or TaskScheduler; otherwise, false.
+ </param>
+ <returns>The instance to be awaited.</returns>
+ </member>
+ <member name="M:AwaitExtensions.ConfigureAwait``1(System.Threading.Tasks.Task{``0},System.Boolean)">
+ <summary>Creates and configures an awaitable object for awaiting the specified task.</summary>
+ <param name="task">The task to be awaited.</param>
+ <param name="continueOnCapturedContext">
+ true to automatic marshag back to the original call site's current SynchronizationContext
+ or TaskScheduler; otherwise, false.
+ </param>
+ <returns>The instance to be awaited.</returns>
+ </member>
+ <member name="T:Microsoft.ProgressEventHandler`1">
+ <summary>Event handler for progress reports.</summary>
+ <typeparam name="T">Specifies the type of data for the progress report.</typeparam>
+ <param name="sender">The sender of the report.</param>
+ <param name="value">The reported value.</param>
+ </member>
+ <member name="T:Microsoft.Progress`1">
+ <summary>
+ Provides an IProgress{T} that invokes callbacks for each reported progress value.
+ </summary>
+ <typeparam name="T">Specifies the type of the progress report value.</typeparam>
+ <remarks>
+ Any handler provided to the constructor or event handlers registered with
+ the <see cref="E:Microsoft.Progress`1.ProgressChanged"/> event are invoked through a
+ <see cref="T:System.Threading.SynchronizationContext"/> instance captured
+ when the instance is constructed. If there is no current SynchronizationContext
+ at the time of construction, the callbacks will be invoked on the ThreadPool.
+ </remarks>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_synchronizationContext">
+ <summary>The synchronization context captured upon construction. This will never be null.</summary>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_handler">
+ <summary>The handler specified to the constructor. This may be null.</summary>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_invokeHandlers">
+ <summary>A cached delegate used to post invocation to the synchronization context.</summary>
+ </member>
+ <member name="M:Microsoft.Progress`1.#ctor">
+ <summary>Initializes the <see cref="T:Microsoft.Progress`1"/>.</summary>
+ </member>
+ <member name="M:Microsoft.Progress`1.#ctor(System.Action{`0})">
+ <summary>Initializes the <see cref="T:Microsoft.Progress`1"/> with the specified callback.</summary>
+ <param name="handler">
+ A handler to invoke for each reported progress value. This handler will be invoked
+ in addition to any delegates registered with the <see cref="E:Microsoft.Progress`1.ProgressChanged"/> event.
+ </param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="handler"/> is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:Microsoft.Progress`1.OnReport(`0)">
+ <summary>Reports a progress change.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="M:Microsoft.Progress`1.System#IProgress{T}#Report(`0)">
+ <summary>Reports a progress change.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="M:Microsoft.Progress`1.InvokeHandlers(System.Object)">
+ <summary>Invokes the action and event callbacks.</summary>
+ <param name="state">The progress value.</param>
+ </member>
+ <member name="E:Microsoft.Progress`1.ProgressChanged">
+ <summary>Raised for each reported progress value.</summary>
+ <remarks>
+ Handlers registered with this event will be invoked on the
+ <see cref="T:System.Threading.SynchronizationContext"/> captured when the instance was constructed.
+ </remarks>
+ </member>
+ <member name="T:Microsoft.ProgressStatics">
+ <summary>Holds static values for <see cref="T:Microsoft.Progress`1"/>.</summary>
+ <remarks>This avoids one static instance per type T.</remarks>
+ </member>
+ <member name="F:Microsoft.ProgressStatics.DefaultContext">
+ <summary>A default synchronization context that targets the ThreadPool.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable">
+ <summary>Provides an awaitable object that allows for configured awaits on <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.m_configuredTaskAwaiter">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.#ctor(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.GetAwaiter">
+ <summary>Gets an awaiter for this awaitable.</summary>
+ <returns>The awaiter.</returns>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter">
+ <summary>Provides an awaiter for a <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.m_continueOnCapturedContext">
+ <summary>Whether to attempt marshaling back to the original context.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.#ctor(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task"/> to await.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured
+ when BeginAwait is called; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1">
+ <summary>Provides an awaitable object that allows for configured awaits on <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.m_configuredTaskAwaiter">
+ <summary>The underlying awaitable on whose logic this awaitable relies.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.#ctor(System.Threading.Tasks.Task{`0},System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task`1"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.GetAwaiter">
+ <summary>Gets an awaiter for this awaitable.</summary>
+ <returns>The awaiter.</returns>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter">
+ <summary>Provides an awaiter for a <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.m_continueOnCapturedContext">
+ <summary>Whether to attempt marshaling back to the original context.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.#ctor(System.Threading.Tasks.Task{`0},System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task`1"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.TaskAwaiter">
+ <summary>Provides an awaiter for awaiting a <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.CONTINUE_ON_CAPTURED_CONTEXT_DEFAULT">
+ <summary>The default value to use for continueOnCapturedContext.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.InvalidOperationException_TaskNotCompleted">
+ <summary>Error message for GetAwaiter.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.#ctor(System.Threading.Tasks.Task)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task"/> to be awaited.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(System.Threading.Tasks.Task)">
+ <summary>
+ Fast checks for the end of an await operation to determine whether more needs to be done
+ prior to completing the await.
+ </summary>
+ <param name="task">The awaited task.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(System.Threading.Tasks.Task)">
+ <summary>Handles validations on tasks that aren't successfully completed.</summary>
+ <param name="task">The awaited task.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)">
+ <summary>Throws an exception to handle a task that completed in a state other than RanToCompletion.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.OnCompletedInternal(System.Threading.Tasks.Task,System.Action,System.Boolean)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="task">The awaited task.</param>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.RunNoException(System.Action)">
+ <summary>Invokes the delegate in a try/catch that will propagate the exception asynchronously on the ThreadPool.</summary>
+ <param name="continuation"></param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter.IsValidLocationForInlining">
+ <summary>Whether the current thread is appropriate for inlining the await continuation.</summary>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.TaskAwaiter`1">
+ <summary>Provides an awaiter for awaiting a <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.#ctor(System.Threading.Tasks.Task{`0})">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter`1"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task`1"/> to be awaited.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.YieldAwaitable">
+ <summary>Provides an awaitable context for switching into a target environment.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.GetAwaiter">
+ <summary>Gets an awaiter for this <see cref="T:Microsoft.Runtime.CompilerServices.YieldAwaitable"/>.</summary>
+ <returns>An awaiter for this awaitable.</returns>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter">
+ <summary>Provides an awaiter that switches into a target environment.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.s_completed">
+ <summary>A completed task.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.OnCompleted(System.Action)">
+ <summary>Posts the <paramref name="continuation"/> back to the current context.</summary>
+ <param name="continuation">The action to invoke asynchronously.</param>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Posts the <paramref name="continuation"/> back to the current context.</summary>
+ <param name="continuation">The action to invoke asynchronously.</param>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.GetResult">
+ <summary>Ends the await operation.</summary>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.IsCompleted">
+ <summary>Gets whether a yield is not required.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskEx">
+ <summary>Provides methods for creating and manipulating tasks.</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Action)">
+ <summary>Creates a task that runs the specified action.</summary>
+ <param name="action">The action to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Action,System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified action.</summary>
+ <param name="action">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to request cancellation of this task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{``0})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{``0},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to cancel the task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Func{System.Threading.Tasks.Task})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Func{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to request cancellation of this task.</param>
+ <returns>A task that represents the completion of the function.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to cancel the task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.Int32)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay in milliseconds before the returned task completes.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.TimeSpan)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay before the returned task completes.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.TimeSpan,System.Threading.CancellationToken)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay before the returned task completes.</param>
+ <param name="cancellationToken">A CancellationToken that may be used to cancel the task before the due time occurs.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.Int32,System.Threading.CancellationToken)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay in milliseconds before the returned task completes.</param>
+ <param name="cancellationToken">A CancellationToken that may be used to cancel the task before the due time occurs.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskEx.s_preCompletedTask">
+ <summary>An already completed task.</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll(System.Threading.Tasks.Task[])">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll``1(System.Threading.Tasks.Task{``0}[])">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAllCore``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task},System.Action{System.Threading.Tasks.Task[],System.Threading.Tasks.TaskCompletionSource{``0}})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <param name="setResultAction">
+ A callback invoked when all of the tasks complete successfully in the RanToCompletion state.
+ This callback is responsible for storing the results into the TaskCompletionSource.
+ </param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny(System.Threading.Tasks.Task[])">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task})">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny``1(System.Threading.Tasks.Task{``0}[])">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.FromResult``1(``0)">
+ <summary>Creates an already completed <see cref="T:System.Threading.Tasks.Task`1"/> from the specified result.</summary>
+ <param name="result">The result from which to create the completed task.</param>
+ <returns>The completed task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Yield">
+ <summary>Creates an awaitable that asynchronously yields back to the current context when awaited.</summary>
+ <returns>
+ A context that, when awaited, will asynchronously transition back into the current context.
+ If SynchronizationContext.Current is non-null, that is treated as the current context.
+ Otherwise, TaskScheduler.Current is treated as the current context.
+ </returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.AddPotentiallyUnwrappedExceptions(System.Collections.Generic.List{System.Exception}@,System.Exception)">
+ <summary>Adds the target exception to the list, initializing the list if it's null.</summary>
+ <param name="targetList">The list to which to add the exception and initialize if the list is null.</param>
+ <param name="exception">The exception to add, and unwrap if it's an aggregate.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.Extensions.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.Extensions.dll
new file mode 100644
index 0000000..e911377
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.Extensions.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.Extensions.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.Extensions.xml
new file mode 100644
index 0000000..af646a2
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.Extensions.xml
@@ -0,0 +1,275 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks.Extensions</name>
+ </assembly>
+ <members>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ <member name="T:AsyncExtensions">
+ <summary>
+ Provides asynchronous wrappers for .NET Framework operations.
+ </summary>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
+ <summary>
+ Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+ </summary>
+ <returns>A Task that represents the asynchronous read.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer to read data into. </param>
+ <param name="offset">The byte offset in at which to begin reading. </param>
+ <param name="count">The maximum number of bytes to read. </param>
+ <exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+ </summary>
+ <returns>A Task that represents the asynchronous read.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer to read data into. </param>
+ <param name="offset">The byte offset in at which to begin reading. </param>
+ <param name="count">The maximum number of bytes to read. </param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
+ <summary>
+ Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+ </summary>
+ <returns>A Task that represents the asynchronous write.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer containing data to write to the current stream.</param>
+ <param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
+ <param name="count">The maximum number of bytes to write. </param>
+ <exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
+ <exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
+ <exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+ </summary>
+ <returns>A Task that represents the asynchronous write.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer containing data to write to the current stream.</param>
+ <param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
+ <param name="count">The maximum number of bytes to write. </param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
+ <exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
+ <exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.Stream)">
+ <summary>
+ Flushes asynchronously the current stream.
+ </summary>
+ <returns>A Task that represents the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.Stream,System.Threading.CancellationToken)">
+ <summary>
+ Flushes asynchronously the current stream.
+ </summary>
+ <returns>A Task that represents the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsyncInternal(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
+ <summary>
+ Reads a maximum of count characters from the reader asynchronously and writes
+ the data to buffer, beginning at index.
+ </summary>
+ <param name="buffer">
+ When the operation completes, contains the specified character array with the
+ values between index and (index + count - 1) replaced by the characters read
+ from the current source.
+ </param>
+ <param name="count">
+ The maximum number of characters to read. If the end of the stream is reached
+ before count of characters is read into buffer, the current method returns.
+ </param>
+ <param name="index">The place in buffer at which to begin writing.</param>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadBlockAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
+ <summary>
+ Reads asynchronously a maximum of count characters from the current stream, and writes the
+ data to buffer, beginning at index.
+ </summary>
+ <param name="source">The source reader.</param>
+ <param name="buffer">
+ When this method returns, this parameter contains the specified character
+ array with the values between index and (index + count -1) replaced by the
+ characters read from the current source.
+ </param>
+ <param name="index">The position in buffer at which to begin writing.</param>
+ <param name="count">The maximum number of characters to read.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadLineAsync(System.IO.TextReader)">
+ <summary>
+ Reads a line of characters from the reader and returns the string asynchronously.
+ </summary>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadToEndAsync(System.IO.TextReader)">
+ <summary>
+ Reads all characters from the current position to the end of the TextReader
+ and returns them as one string asynchronously.
+ </summary>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.String)">
+ <summary>Writes a string asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The string to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char)">
+ <summary>Writes a char asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The char to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char[])">
+ <summary>Writes a char array asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+ <summary>Writes a subarray of characters asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <param name="index">Starting index in the buffer.</param>
+ <param name="count">The number of characters to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter)">
+ <summary>Writes a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.String)">
+ <summary>Writes a string followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The string to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char)">
+ <summary>Writes a char followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The char to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char[])">
+ <summary>Writes a char array followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+ <summary>Writes a subarray of characters followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <param name="index">Starting index in the buffer.</param>
+ <param name="count">The number of characters to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.TextWriter)">
+ <summary>
+ Clears all buffers for the current writer and causes any buffered data to
+ be written to the underlying device.
+ </summary>
+ <param name="target">The writer.</param>
+ <returns>A Task representing the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.GetResponseAsync(System.Net.WebRequest)">
+ <summary>Starts an asynchronous request for a web resource.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.InvalidOperationException">The stream is already in use by a previous call to . </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncExtensions.GetRequestStreamAsync(System.Net.WebRequest)">
+ <summary>Starts an asynchronous request for a object to use to write data.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.Net.ProtocolViolationException">The property is GET and the application writes to the stream. </exception>
+ <exception cref="T:System.InvalidOperationException">The stream is being used by a previous call to . </exception>
+ <exception cref="T:System.ApplicationException">No write stream is available. </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.dll
new file mode 100644
index 0000000..065d746
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.xml
new file mode 100644
index 0000000..5c22030
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.xml
@@ -0,0 +1,630 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:AwaitExtensions">
+ <summary>
+ Provides extension methods for threading-related types.
+ </summary>
+ </member>
+ <member name="M:AwaitExtensions.CancelAfter(System.Threading.CancellationTokenSource,System.Int32)">
+ <summary>Cancels the <see cref="T:System.Threading.CancellationTokenSource"/> after the specified duration.</summary>
+ <param name="source">The CancellationTokenSource.</param>
+ <param name="dueTime">The due time in milliseconds for the source to be canceled.</param>
+ </member>
+ <member name="M:AwaitExtensions.CancelAfter(System.Threading.CancellationTokenSource,System.TimeSpan)">
+ <summary>Cancels the <see cref="T:System.Threading.CancellationTokenSource"/> after the specified duration.</summary>
+ <param name="source">The CancellationTokenSource.</param>
+ <param name="dueTime">The due time for the source to be canceled.</param>
+ </member>
+ <member name="M:AwaitExtensions.GetAwaiter(System.Threading.Tasks.Task)">
+ <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <param name="task">The task to await.</param>
+ <returns>An awaiter instance.</returns>
+ </member>
+ <member name="M:AwaitExtensions.GetAwaiter``1(System.Threading.Tasks.Task{``0})">
+ <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <typeparam name="TResult">Specifies the type of data returned by the task.</typeparam>
+ <param name="task">The task to await.</param>
+ <returns>An awaiter instance.</returns>
+ </member>
+ <member name="M:AwaitExtensions.ConfigureAwait(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Creates and configures an awaitable object for awaiting the specified task.</summary>
+ <param name="task">The task to be awaited.</param>
+ <param name="continueOnCapturedContext">
+ true to automatic marshag back to the original call site's current SynchronizationContext
+ or TaskScheduler; otherwise, false.
+ </param>
+ <returns>The instance to be awaited.</returns>
+ </member>
+ <member name="M:AwaitExtensions.ConfigureAwait``1(System.Threading.Tasks.Task{``0},System.Boolean)">
+ <summary>Creates and configures an awaitable object for awaiting the specified task.</summary>
+ <param name="task">The task to be awaited.</param>
+ <param name="continueOnCapturedContext">
+ true to automatic marshag back to the original call site's current SynchronizationContext
+ or TaskScheduler; otherwise, false.
+ </param>
+ <returns>The instance to be awaited.</returns>
+ </member>
+ <member name="T:Microsoft.ProgressEventHandler`1">
+ <summary>Event handler for progress reports.</summary>
+ <typeparam name="T">Specifies the type of data for the progress report.</typeparam>
+ <param name="sender">The sender of the report.</param>
+ <param name="value">The reported value.</param>
+ </member>
+ <member name="T:Microsoft.Progress`1">
+ <summary>
+ Provides an IProgress{T} that invokes callbacks for each reported progress value.
+ </summary>
+ <typeparam name="T">Specifies the type of the progress report value.</typeparam>
+ <remarks>
+ Any handler provided to the constructor or event handlers registered with
+ the <see cref="E:Microsoft.Progress`1.ProgressChanged"/> event are invoked through a
+ <see cref="T:System.Threading.SynchronizationContext"/> instance captured
+ when the instance is constructed. If there is no current SynchronizationContext
+ at the time of construction, the callbacks will be invoked on the ThreadPool.
+ </remarks>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_synchronizationContext">
+ <summary>The synchronization context captured upon construction. This will never be null.</summary>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_handler">
+ <summary>The handler specified to the constructor. This may be null.</summary>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_invokeHandlers">
+ <summary>A cached delegate used to post invocation to the synchronization context.</summary>
+ </member>
+ <member name="M:Microsoft.Progress`1.#ctor">
+ <summary>Initializes the <see cref="T:Microsoft.Progress`1"/>.</summary>
+ </member>
+ <member name="M:Microsoft.Progress`1.#ctor(System.Action{`0})">
+ <summary>Initializes the <see cref="T:Microsoft.Progress`1"/> with the specified callback.</summary>
+ <param name="handler">
+ A handler to invoke for each reported progress value. This handler will be invoked
+ in addition to any delegates registered with the <see cref="E:Microsoft.Progress`1.ProgressChanged"/> event.
+ </param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="handler"/> is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:Microsoft.Progress`1.OnReport(`0)">
+ <summary>Reports a progress change.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="M:Microsoft.Progress`1.System#IProgress{T}#Report(`0)">
+ <summary>Reports a progress change.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="M:Microsoft.Progress`1.InvokeHandlers(System.Object)">
+ <summary>Invokes the action and event callbacks.</summary>
+ <param name="state">The progress value.</param>
+ </member>
+ <member name="E:Microsoft.Progress`1.ProgressChanged">
+ <summary>Raised for each reported progress value.</summary>
+ <remarks>
+ Handlers registered with this event will be invoked on the
+ <see cref="T:System.Threading.SynchronizationContext"/> captured when the instance was constructed.
+ </remarks>
+ </member>
+ <member name="T:Microsoft.ProgressStatics">
+ <summary>Holds static values for <see cref="T:Microsoft.Progress`1"/>.</summary>
+ <remarks>This avoids one static instance per type T.</remarks>
+ </member>
+ <member name="F:Microsoft.ProgressStatics.DefaultContext">
+ <summary>A default synchronization context that targets the ThreadPool.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable">
+ <summary>Provides an awaitable object that allows for configured awaits on <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.m_configuredTaskAwaiter">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.#ctor(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.GetAwaiter">
+ <summary>Gets an awaiter for this awaitable.</summary>
+ <returns>The awaiter.</returns>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter">
+ <summary>Provides an awaiter for a <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.m_continueOnCapturedContext">
+ <summary>Whether to attempt marshaling back to the original context.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.#ctor(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task"/> to await.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured
+ when BeginAwait is called; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1">
+ <summary>Provides an awaitable object that allows for configured awaits on <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.m_configuredTaskAwaiter">
+ <summary>The underlying awaitable on whose logic this awaitable relies.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.#ctor(System.Threading.Tasks.Task{`0},System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task`1"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.GetAwaiter">
+ <summary>Gets an awaiter for this awaitable.</summary>
+ <returns>The awaiter.</returns>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter">
+ <summary>Provides an awaiter for a <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.m_continueOnCapturedContext">
+ <summary>Whether to attempt marshaling back to the original context.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.#ctor(System.Threading.Tasks.Task{`0},System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task`1"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.TaskAwaiter">
+ <summary>Provides an awaiter for awaiting a <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.CONTINUE_ON_CAPTURED_CONTEXT_DEFAULT">
+ <summary>The default value to use for continueOnCapturedContext.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.InvalidOperationException_TaskNotCompleted">
+ <summary>Error message for GetAwaiter.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.#ctor(System.Threading.Tasks.Task)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task"/> to be awaited.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(System.Threading.Tasks.Task)">
+ <summary>
+ Fast checks for the end of an await operation to determine whether more needs to be done
+ prior to completing the await.
+ </summary>
+ <param name="task">The awaited task.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(System.Threading.Tasks.Task)">
+ <summary>Handles validations on tasks that aren't successfully completed.</summary>
+ <param name="task">The awaited task.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)">
+ <summary>Throws an exception to handle a task that completed in a state other than RanToCompletion.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.OnCompletedInternal(System.Threading.Tasks.Task,System.Action,System.Boolean)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="task">The awaited task.</param>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.RunNoException(System.Action)">
+ <summary>Invokes the delegate in a try/catch that will propagate the exception asynchronously on the ThreadPool.</summary>
+ <param name="continuation"></param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter.IsValidLocationForInlining">
+ <summary>Whether the current thread is appropriate for inlining the await continuation.</summary>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.TaskAwaiter`1">
+ <summary>Provides an awaiter for awaiting a <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.#ctor(System.Threading.Tasks.Task{`0})">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter`1"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task`1"/> to be awaited.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.YieldAwaitable">
+ <summary>Provides an awaitable context for switching into a target environment.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.GetAwaiter">
+ <summary>Gets an awaiter for this <see cref="T:Microsoft.Runtime.CompilerServices.YieldAwaitable"/>.</summary>
+ <returns>An awaiter for this awaitable.</returns>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter">
+ <summary>Provides an awaiter that switches into a target environment.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.s_completed">
+ <summary>A completed task.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.OnCompleted(System.Action)">
+ <summary>Posts the <paramref name="continuation"/> back to the current context.</summary>
+ <param name="continuation">The action to invoke asynchronously.</param>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Posts the <paramref name="continuation"/> back to the current context.</summary>
+ <param name="continuation">The action to invoke asynchronously.</param>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.GetResult">
+ <summary>Ends the await operation.</summary>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.IsCompleted">
+ <summary>Gets whether a yield is not required.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskEx">
+ <summary>Provides methods for creating and manipulating tasks.</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Action)">
+ <summary>Creates a task that runs the specified action.</summary>
+ <param name="action">The action to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Action,System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified action.</summary>
+ <param name="action">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to request cancellation of this task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{``0})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{``0},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to cancel the task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Func{System.Threading.Tasks.Task})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Func{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to request cancellation of this task.</param>
+ <returns>A task that represents the completion of the function.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to cancel the task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.Int32)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay in milliseconds before the returned task completes.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.TimeSpan)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay before the returned task completes.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.TimeSpan,System.Threading.CancellationToken)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay before the returned task completes.</param>
+ <param name="cancellationToken">A CancellationToken that may be used to cancel the task before the due time occurs.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.Int32,System.Threading.CancellationToken)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay in milliseconds before the returned task completes.</param>
+ <param name="cancellationToken">A CancellationToken that may be used to cancel the task before the due time occurs.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskEx.s_preCompletedTask">
+ <summary>An already completed task.</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll(System.Threading.Tasks.Task[])">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll``1(System.Threading.Tasks.Task{``0}[])">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAllCore``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task},System.Action{System.Threading.Tasks.Task[],System.Threading.Tasks.TaskCompletionSource{``0}})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <param name="setResultAction">
+ A callback invoked when all of the tasks complete successfully in the RanToCompletion state.
+ This callback is responsible for storing the results into the TaskCompletionSource.
+ </param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny(System.Threading.Tasks.Task[])">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task})">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny``1(System.Threading.Tasks.Task{``0}[])">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.FromResult``1(``0)">
+ <summary>Creates an already completed <see cref="T:System.Threading.Tasks.Task`1"/> from the specified result.</summary>
+ <param name="result">The result from which to create the completed task.</param>
+ <returns>The completed task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Yield">
+ <summary>Creates an awaitable that asynchronously yields back to the current context when awaited.</summary>
+ <returns>
+ A context that, when awaited, will asynchronously transition back into the current context.
+ If SynchronizationContext.Current is non-null, that is treated as the current context.
+ Otherwise, TaskScheduler.Current is treated as the current context.
+ </returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.AddPotentiallyUnwrappedExceptions(System.Collections.Generic.List{System.Exception}@,System.Exception)">
+ <summary>Adds the target exception to the list, initializing the list if it's null.</summary>
+ <param name="targetList">The list to which to add the exception and initialize if the list is null.</param>
+ <param name="exception">The exception to add, and unwrap if it's an aggregate.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.Extensions.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.Extensions.dll
new file mode 100644
index 0000000..e911377
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.Extensions.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.Extensions.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.Extensions.xml
new file mode 100644
index 0000000..af646a2
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.Extensions.xml
@@ -0,0 +1,275 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks.Extensions</name>
+ </assembly>
+ <members>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ <member name="T:AsyncExtensions">
+ <summary>
+ Provides asynchronous wrappers for .NET Framework operations.
+ </summary>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
+ <summary>
+ Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+ </summary>
+ <returns>A Task that represents the asynchronous read.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer to read data into. </param>
+ <param name="offset">The byte offset in at which to begin reading. </param>
+ <param name="count">The maximum number of bytes to read. </param>
+ <exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+ </summary>
+ <returns>A Task that represents the asynchronous read.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer to read data into. </param>
+ <param name="offset">The byte offset in at which to begin reading. </param>
+ <param name="count">The maximum number of bytes to read. </param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
+ <summary>
+ Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+ </summary>
+ <returns>A Task that represents the asynchronous write.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer containing data to write to the current stream.</param>
+ <param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
+ <param name="count">The maximum number of bytes to write. </param>
+ <exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
+ <exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
+ <exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+ </summary>
+ <returns>A Task that represents the asynchronous write.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer containing data to write to the current stream.</param>
+ <param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
+ <param name="count">The maximum number of bytes to write. </param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
+ <exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
+ <exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.Stream)">
+ <summary>
+ Flushes asynchronously the current stream.
+ </summary>
+ <returns>A Task that represents the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.Stream,System.Threading.CancellationToken)">
+ <summary>
+ Flushes asynchronously the current stream.
+ </summary>
+ <returns>A Task that represents the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsyncInternal(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
+ <summary>
+ Reads a maximum of count characters from the reader asynchronously and writes
+ the data to buffer, beginning at index.
+ </summary>
+ <param name="buffer">
+ When the operation completes, contains the specified character array with the
+ values between index and (index + count - 1) replaced by the characters read
+ from the current source.
+ </param>
+ <param name="count">
+ The maximum number of characters to read. If the end of the stream is reached
+ before count of characters is read into buffer, the current method returns.
+ </param>
+ <param name="index">The place in buffer at which to begin writing.</param>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadBlockAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
+ <summary>
+ Reads asynchronously a maximum of count characters from the current stream, and writes the
+ data to buffer, beginning at index.
+ </summary>
+ <param name="source">The source reader.</param>
+ <param name="buffer">
+ When this method returns, this parameter contains the specified character
+ array with the values between index and (index + count -1) replaced by the
+ characters read from the current source.
+ </param>
+ <param name="index">The position in buffer at which to begin writing.</param>
+ <param name="count">The maximum number of characters to read.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadLineAsync(System.IO.TextReader)">
+ <summary>
+ Reads a line of characters from the reader and returns the string asynchronously.
+ </summary>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadToEndAsync(System.IO.TextReader)">
+ <summary>
+ Reads all characters from the current position to the end of the TextReader
+ and returns them as one string asynchronously.
+ </summary>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.String)">
+ <summary>Writes a string asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The string to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char)">
+ <summary>Writes a char asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The char to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char[])">
+ <summary>Writes a char array asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+ <summary>Writes a subarray of characters asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <param name="index">Starting index in the buffer.</param>
+ <param name="count">The number of characters to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter)">
+ <summary>Writes a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.String)">
+ <summary>Writes a string followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The string to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char)">
+ <summary>Writes a char followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The char to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char[])">
+ <summary>Writes a char array followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+ <summary>Writes a subarray of characters followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <param name="index">Starting index in the buffer.</param>
+ <param name="count">The number of characters to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.TextWriter)">
+ <summary>
+ Clears all buffers for the current writer and causes any buffered data to
+ be written to the underlying device.
+ </summary>
+ <param name="target">The writer.</param>
+ <returns>A Task representing the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.GetResponseAsync(System.Net.WebRequest)">
+ <summary>Starts an asynchronous request for a web resource.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.InvalidOperationException">The stream is already in use by a previous call to . </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncExtensions.GetRequestStreamAsync(System.Net.WebRequest)">
+ <summary>Starts an asynchronous request for a object to use to write data.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.Net.ProtocolViolationException">The property is GET and the application writes to the stream. </exception>
+ <exception cref="T:System.InvalidOperationException">The stream is being used by a previous call to . </exception>
+ <exception cref="T:System.ApplicationException">No write stream is available. </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.dll
new file mode 100644
index 0000000..065d746
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.xml
new file mode 100644
index 0000000..5c22030
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.xml
@@ -0,0 +1,630 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:AwaitExtensions">
+ <summary>
+ Provides extension methods for threading-related types.
+ </summary>
+ </member>
+ <member name="M:AwaitExtensions.CancelAfter(System.Threading.CancellationTokenSource,System.Int32)">
+ <summary>Cancels the <see cref="T:System.Threading.CancellationTokenSource"/> after the specified duration.</summary>
+ <param name="source">The CancellationTokenSource.</param>
+ <param name="dueTime">The due time in milliseconds for the source to be canceled.</param>
+ </member>
+ <member name="M:AwaitExtensions.CancelAfter(System.Threading.CancellationTokenSource,System.TimeSpan)">
+ <summary>Cancels the <see cref="T:System.Threading.CancellationTokenSource"/> after the specified duration.</summary>
+ <param name="source">The CancellationTokenSource.</param>
+ <param name="dueTime">The due time for the source to be canceled.</param>
+ </member>
+ <member name="M:AwaitExtensions.GetAwaiter(System.Threading.Tasks.Task)">
+ <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <param name="task">The task to await.</param>
+ <returns>An awaiter instance.</returns>
+ </member>
+ <member name="M:AwaitExtensions.GetAwaiter``1(System.Threading.Tasks.Task{``0})">
+ <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <typeparam name="TResult">Specifies the type of data returned by the task.</typeparam>
+ <param name="task">The task to await.</param>
+ <returns>An awaiter instance.</returns>
+ </member>
+ <member name="M:AwaitExtensions.ConfigureAwait(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Creates and configures an awaitable object for awaiting the specified task.</summary>
+ <param name="task">The task to be awaited.</param>
+ <param name="continueOnCapturedContext">
+ true to automatic marshag back to the original call site's current SynchronizationContext
+ or TaskScheduler; otherwise, false.
+ </param>
+ <returns>The instance to be awaited.</returns>
+ </member>
+ <member name="M:AwaitExtensions.ConfigureAwait``1(System.Threading.Tasks.Task{``0},System.Boolean)">
+ <summary>Creates and configures an awaitable object for awaiting the specified task.</summary>
+ <param name="task">The task to be awaited.</param>
+ <param name="continueOnCapturedContext">
+ true to automatic marshag back to the original call site's current SynchronizationContext
+ or TaskScheduler; otherwise, false.
+ </param>
+ <returns>The instance to be awaited.</returns>
+ </member>
+ <member name="T:Microsoft.ProgressEventHandler`1">
+ <summary>Event handler for progress reports.</summary>
+ <typeparam name="T">Specifies the type of data for the progress report.</typeparam>
+ <param name="sender">The sender of the report.</param>
+ <param name="value">The reported value.</param>
+ </member>
+ <member name="T:Microsoft.Progress`1">
+ <summary>
+ Provides an IProgress{T} that invokes callbacks for each reported progress value.
+ </summary>
+ <typeparam name="T">Specifies the type of the progress report value.</typeparam>
+ <remarks>
+ Any handler provided to the constructor or event handlers registered with
+ the <see cref="E:Microsoft.Progress`1.ProgressChanged"/> event are invoked through a
+ <see cref="T:System.Threading.SynchronizationContext"/> instance captured
+ when the instance is constructed. If there is no current SynchronizationContext
+ at the time of construction, the callbacks will be invoked on the ThreadPool.
+ </remarks>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_synchronizationContext">
+ <summary>The synchronization context captured upon construction. This will never be null.</summary>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_handler">
+ <summary>The handler specified to the constructor. This may be null.</summary>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_invokeHandlers">
+ <summary>A cached delegate used to post invocation to the synchronization context.</summary>
+ </member>
+ <member name="M:Microsoft.Progress`1.#ctor">
+ <summary>Initializes the <see cref="T:Microsoft.Progress`1"/>.</summary>
+ </member>
+ <member name="M:Microsoft.Progress`1.#ctor(System.Action{`0})">
+ <summary>Initializes the <see cref="T:Microsoft.Progress`1"/> with the specified callback.</summary>
+ <param name="handler">
+ A handler to invoke for each reported progress value. This handler will be invoked
+ in addition to any delegates registered with the <see cref="E:Microsoft.Progress`1.ProgressChanged"/> event.
+ </param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="handler"/> is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:Microsoft.Progress`1.OnReport(`0)">
+ <summary>Reports a progress change.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="M:Microsoft.Progress`1.System#IProgress{T}#Report(`0)">
+ <summary>Reports a progress change.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="M:Microsoft.Progress`1.InvokeHandlers(System.Object)">
+ <summary>Invokes the action and event callbacks.</summary>
+ <param name="state">The progress value.</param>
+ </member>
+ <member name="E:Microsoft.Progress`1.ProgressChanged">
+ <summary>Raised for each reported progress value.</summary>
+ <remarks>
+ Handlers registered with this event will be invoked on the
+ <see cref="T:System.Threading.SynchronizationContext"/> captured when the instance was constructed.
+ </remarks>
+ </member>
+ <member name="T:Microsoft.ProgressStatics">
+ <summary>Holds static values for <see cref="T:Microsoft.Progress`1"/>.</summary>
+ <remarks>This avoids one static instance per type T.</remarks>
+ </member>
+ <member name="F:Microsoft.ProgressStatics.DefaultContext">
+ <summary>A default synchronization context that targets the ThreadPool.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable">
+ <summary>Provides an awaitable object that allows for configured awaits on <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.m_configuredTaskAwaiter">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.#ctor(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.GetAwaiter">
+ <summary>Gets an awaiter for this awaitable.</summary>
+ <returns>The awaiter.</returns>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter">
+ <summary>Provides an awaiter for a <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.m_continueOnCapturedContext">
+ <summary>Whether to attempt marshaling back to the original context.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.#ctor(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task"/> to await.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured
+ when BeginAwait is called; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1">
+ <summary>Provides an awaitable object that allows for configured awaits on <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.m_configuredTaskAwaiter">
+ <summary>The underlying awaitable on whose logic this awaitable relies.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.#ctor(System.Threading.Tasks.Task{`0},System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task`1"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.GetAwaiter">
+ <summary>Gets an awaiter for this awaitable.</summary>
+ <returns>The awaiter.</returns>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter">
+ <summary>Provides an awaiter for a <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.m_continueOnCapturedContext">
+ <summary>Whether to attempt marshaling back to the original context.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.#ctor(System.Threading.Tasks.Task{`0},System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task`1"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.TaskAwaiter">
+ <summary>Provides an awaiter for awaiting a <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.CONTINUE_ON_CAPTURED_CONTEXT_DEFAULT">
+ <summary>The default value to use for continueOnCapturedContext.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.InvalidOperationException_TaskNotCompleted">
+ <summary>Error message for GetAwaiter.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.#ctor(System.Threading.Tasks.Task)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task"/> to be awaited.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(System.Threading.Tasks.Task)">
+ <summary>
+ Fast checks for the end of an await operation to determine whether more needs to be done
+ prior to completing the await.
+ </summary>
+ <param name="task">The awaited task.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(System.Threading.Tasks.Task)">
+ <summary>Handles validations on tasks that aren't successfully completed.</summary>
+ <param name="task">The awaited task.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)">
+ <summary>Throws an exception to handle a task that completed in a state other than RanToCompletion.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.OnCompletedInternal(System.Threading.Tasks.Task,System.Action,System.Boolean)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="task">The awaited task.</param>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.RunNoException(System.Action)">
+ <summary>Invokes the delegate in a try/catch that will propagate the exception asynchronously on the ThreadPool.</summary>
+ <param name="continuation"></param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter.IsValidLocationForInlining">
+ <summary>Whether the current thread is appropriate for inlining the await continuation.</summary>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.TaskAwaiter`1">
+ <summary>Provides an awaiter for awaiting a <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.#ctor(System.Threading.Tasks.Task{`0})">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter`1"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task`1"/> to be awaited.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.YieldAwaitable">
+ <summary>Provides an awaitable context for switching into a target environment.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.GetAwaiter">
+ <summary>Gets an awaiter for this <see cref="T:Microsoft.Runtime.CompilerServices.YieldAwaitable"/>.</summary>
+ <returns>An awaiter for this awaitable.</returns>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter">
+ <summary>Provides an awaiter that switches into a target environment.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.s_completed">
+ <summary>A completed task.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.OnCompleted(System.Action)">
+ <summary>Posts the <paramref name="continuation"/> back to the current context.</summary>
+ <param name="continuation">The action to invoke asynchronously.</param>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Posts the <paramref name="continuation"/> back to the current context.</summary>
+ <param name="continuation">The action to invoke asynchronously.</param>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.GetResult">
+ <summary>Ends the await operation.</summary>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.IsCompleted">
+ <summary>Gets whether a yield is not required.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskEx">
+ <summary>Provides methods for creating and manipulating tasks.</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Action)">
+ <summary>Creates a task that runs the specified action.</summary>
+ <param name="action">The action to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Action,System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified action.</summary>
+ <param name="action">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to request cancellation of this task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{``0})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{``0},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to cancel the task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Func{System.Threading.Tasks.Task})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Func{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to request cancellation of this task.</param>
+ <returns>A task that represents the completion of the function.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to cancel the task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.Int32)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay in milliseconds before the returned task completes.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.TimeSpan)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay before the returned task completes.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.TimeSpan,System.Threading.CancellationToken)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay before the returned task completes.</param>
+ <param name="cancellationToken">A CancellationToken that may be used to cancel the task before the due time occurs.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.Int32,System.Threading.CancellationToken)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay in milliseconds before the returned task completes.</param>
+ <param name="cancellationToken">A CancellationToken that may be used to cancel the task before the due time occurs.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskEx.s_preCompletedTask">
+ <summary>An already completed task.</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll(System.Threading.Tasks.Task[])">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll``1(System.Threading.Tasks.Task{``0}[])">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAllCore``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task},System.Action{System.Threading.Tasks.Task[],System.Threading.Tasks.TaskCompletionSource{``0}})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <param name="setResultAction">
+ A callback invoked when all of the tasks complete successfully in the RanToCompletion state.
+ This callback is responsible for storing the results into the TaskCompletionSource.
+ </param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny(System.Threading.Tasks.Task[])">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task})">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny``1(System.Threading.Tasks.Task{``0}[])">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.FromResult``1(``0)">
+ <summary>Creates an already completed <see cref="T:System.Threading.Tasks.Task`1"/> from the specified result.</summary>
+ <param name="result">The result from which to create the completed task.</param>
+ <returns>The completed task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Yield">
+ <summary>Creates an awaitable that asynchronously yields back to the current context when awaited.</summary>
+ <returns>
+ A context that, when awaited, will asynchronously transition back into the current context.
+ If SynchronizationContext.Current is non-null, that is treated as the current context.
+ Otherwise, TaskScheduler.Current is treated as the current context.
+ </returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.AddPotentiallyUnwrappedExceptions(System.Collections.Generic.List{System.Exception}@,System.Exception)">
+ <summary>Adds the target exception to the list, initializing the list if it's null.</summary>
+ <param name="targetList">The list to which to add the exception and initialize if the list is null.</param>
+ <param name="exception">The exception to add, and unwrap if it's an aggregate.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8/Microsoft.Threading.Tasks.Extensions.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8/Microsoft.Threading.Tasks.Extensions.dll
new file mode 100644
index 0000000..e911377
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8/Microsoft.Threading.Tasks.Extensions.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8/Microsoft.Threading.Tasks.Extensions.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8/Microsoft.Threading.Tasks.Extensions.xml
new file mode 100644
index 0000000..af646a2
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8/Microsoft.Threading.Tasks.Extensions.xml
@@ -0,0 +1,275 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks.Extensions</name>
+ </assembly>
+ <members>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ <member name="T:AsyncExtensions">
+ <summary>
+ Provides asynchronous wrappers for .NET Framework operations.
+ </summary>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
+ <summary>
+ Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+ </summary>
+ <returns>A Task that represents the asynchronous read.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer to read data into. </param>
+ <param name="offset">The byte offset in at which to begin reading. </param>
+ <param name="count">The maximum number of bytes to read. </param>
+ <exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+ </summary>
+ <returns>A Task that represents the asynchronous read.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer to read data into. </param>
+ <param name="offset">The byte offset in at which to begin reading. </param>
+ <param name="count">The maximum number of bytes to read. </param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
+ <summary>
+ Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+ </summary>
+ <returns>A Task that represents the asynchronous write.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer containing data to write to the current stream.</param>
+ <param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
+ <param name="count">The maximum number of bytes to write. </param>
+ <exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
+ <exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
+ <exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+ </summary>
+ <returns>A Task that represents the asynchronous write.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer containing data to write to the current stream.</param>
+ <param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
+ <param name="count">The maximum number of bytes to write. </param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
+ <exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
+ <exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.Stream)">
+ <summary>
+ Flushes asynchronously the current stream.
+ </summary>
+ <returns>A Task that represents the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.Stream,System.Threading.CancellationToken)">
+ <summary>
+ Flushes asynchronously the current stream.
+ </summary>
+ <returns>A Task that represents the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsyncInternal(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
+ <summary>
+ Reads a maximum of count characters from the reader asynchronously and writes
+ the data to buffer, beginning at index.
+ </summary>
+ <param name="buffer">
+ When the operation completes, contains the specified character array with the
+ values between index and (index + count - 1) replaced by the characters read
+ from the current source.
+ </param>
+ <param name="count">
+ The maximum number of characters to read. If the end of the stream is reached
+ before count of characters is read into buffer, the current method returns.
+ </param>
+ <param name="index">The place in buffer at which to begin writing.</param>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadBlockAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
+ <summary>
+ Reads asynchronously a maximum of count characters from the current stream, and writes the
+ data to buffer, beginning at index.
+ </summary>
+ <param name="source">The source reader.</param>
+ <param name="buffer">
+ When this method returns, this parameter contains the specified character
+ array with the values between index and (index + count -1) replaced by the
+ characters read from the current source.
+ </param>
+ <param name="index">The position in buffer at which to begin writing.</param>
+ <param name="count">The maximum number of characters to read.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadLineAsync(System.IO.TextReader)">
+ <summary>
+ Reads a line of characters from the reader and returns the string asynchronously.
+ </summary>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadToEndAsync(System.IO.TextReader)">
+ <summary>
+ Reads all characters from the current position to the end of the TextReader
+ and returns them as one string asynchronously.
+ </summary>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.String)">
+ <summary>Writes a string asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The string to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char)">
+ <summary>Writes a char asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The char to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char[])">
+ <summary>Writes a char array asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+ <summary>Writes a subarray of characters asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <param name="index">Starting index in the buffer.</param>
+ <param name="count">The number of characters to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter)">
+ <summary>Writes a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.String)">
+ <summary>Writes a string followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The string to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char)">
+ <summary>Writes a char followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The char to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char[])">
+ <summary>Writes a char array followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+ <summary>Writes a subarray of characters followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <param name="index">Starting index in the buffer.</param>
+ <param name="count">The number of characters to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.TextWriter)">
+ <summary>
+ Clears all buffers for the current writer and causes any buffered data to
+ be written to the underlying device.
+ </summary>
+ <param name="target">The writer.</param>
+ <returns>A Task representing the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.GetResponseAsync(System.Net.WebRequest)">
+ <summary>Starts an asynchronous request for a web resource.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.InvalidOperationException">The stream is already in use by a previous call to . </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncExtensions.GetRequestStreamAsync(System.Net.WebRequest)">
+ <summary>Starts an asynchronous request for a object to use to write data.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.Net.ProtocolViolationException">The property is GET and the application writes to the stream. </exception>
+ <exception cref="T:System.InvalidOperationException">The stream is being used by a previous call to . </exception>
+ <exception cref="T:System.ApplicationException">No write stream is available. </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8/Microsoft.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8/Microsoft.Threading.Tasks.dll
new file mode 100644
index 0000000..065d746
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8/Microsoft.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8/Microsoft.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8/Microsoft.Threading.Tasks.xml
new file mode 100644
index 0000000..5c22030
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/portable-net45+win8/Microsoft.Threading.Tasks.xml
@@ -0,0 +1,630 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:AwaitExtensions">
+ <summary>
+ Provides extension methods for threading-related types.
+ </summary>
+ </member>
+ <member name="M:AwaitExtensions.CancelAfter(System.Threading.CancellationTokenSource,System.Int32)">
+ <summary>Cancels the <see cref="T:System.Threading.CancellationTokenSource"/> after the specified duration.</summary>
+ <param name="source">The CancellationTokenSource.</param>
+ <param name="dueTime">The due time in milliseconds for the source to be canceled.</param>
+ </member>
+ <member name="M:AwaitExtensions.CancelAfter(System.Threading.CancellationTokenSource,System.TimeSpan)">
+ <summary>Cancels the <see cref="T:System.Threading.CancellationTokenSource"/> after the specified duration.</summary>
+ <param name="source">The CancellationTokenSource.</param>
+ <param name="dueTime">The due time for the source to be canceled.</param>
+ </member>
+ <member name="M:AwaitExtensions.GetAwaiter(System.Threading.Tasks.Task)">
+ <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <param name="task">The task to await.</param>
+ <returns>An awaiter instance.</returns>
+ </member>
+ <member name="M:AwaitExtensions.GetAwaiter``1(System.Threading.Tasks.Task{``0})">
+ <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <typeparam name="TResult">Specifies the type of data returned by the task.</typeparam>
+ <param name="task">The task to await.</param>
+ <returns>An awaiter instance.</returns>
+ </member>
+ <member name="M:AwaitExtensions.ConfigureAwait(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Creates and configures an awaitable object for awaiting the specified task.</summary>
+ <param name="task">The task to be awaited.</param>
+ <param name="continueOnCapturedContext">
+ true to automatic marshag back to the original call site's current SynchronizationContext
+ or TaskScheduler; otherwise, false.
+ </param>
+ <returns>The instance to be awaited.</returns>
+ </member>
+ <member name="M:AwaitExtensions.ConfigureAwait``1(System.Threading.Tasks.Task{``0},System.Boolean)">
+ <summary>Creates and configures an awaitable object for awaiting the specified task.</summary>
+ <param name="task">The task to be awaited.</param>
+ <param name="continueOnCapturedContext">
+ true to automatic marshag back to the original call site's current SynchronizationContext
+ or TaskScheduler; otherwise, false.
+ </param>
+ <returns>The instance to be awaited.</returns>
+ </member>
+ <member name="T:Microsoft.ProgressEventHandler`1">
+ <summary>Event handler for progress reports.</summary>
+ <typeparam name="T">Specifies the type of data for the progress report.</typeparam>
+ <param name="sender">The sender of the report.</param>
+ <param name="value">The reported value.</param>
+ </member>
+ <member name="T:Microsoft.Progress`1">
+ <summary>
+ Provides an IProgress{T} that invokes callbacks for each reported progress value.
+ </summary>
+ <typeparam name="T">Specifies the type of the progress report value.</typeparam>
+ <remarks>
+ Any handler provided to the constructor or event handlers registered with
+ the <see cref="E:Microsoft.Progress`1.ProgressChanged"/> event are invoked through a
+ <see cref="T:System.Threading.SynchronizationContext"/> instance captured
+ when the instance is constructed. If there is no current SynchronizationContext
+ at the time of construction, the callbacks will be invoked on the ThreadPool.
+ </remarks>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_synchronizationContext">
+ <summary>The synchronization context captured upon construction. This will never be null.</summary>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_handler">
+ <summary>The handler specified to the constructor. This may be null.</summary>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_invokeHandlers">
+ <summary>A cached delegate used to post invocation to the synchronization context.</summary>
+ </member>
+ <member name="M:Microsoft.Progress`1.#ctor">
+ <summary>Initializes the <see cref="T:Microsoft.Progress`1"/>.</summary>
+ </member>
+ <member name="M:Microsoft.Progress`1.#ctor(System.Action{`0})">
+ <summary>Initializes the <see cref="T:Microsoft.Progress`1"/> with the specified callback.</summary>
+ <param name="handler">
+ A handler to invoke for each reported progress value. This handler will be invoked
+ in addition to any delegates registered with the <see cref="E:Microsoft.Progress`1.ProgressChanged"/> event.
+ </param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="handler"/> is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:Microsoft.Progress`1.OnReport(`0)">
+ <summary>Reports a progress change.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="M:Microsoft.Progress`1.System#IProgress{T}#Report(`0)">
+ <summary>Reports a progress change.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="M:Microsoft.Progress`1.InvokeHandlers(System.Object)">
+ <summary>Invokes the action and event callbacks.</summary>
+ <param name="state">The progress value.</param>
+ </member>
+ <member name="E:Microsoft.Progress`1.ProgressChanged">
+ <summary>Raised for each reported progress value.</summary>
+ <remarks>
+ Handlers registered with this event will be invoked on the
+ <see cref="T:System.Threading.SynchronizationContext"/> captured when the instance was constructed.
+ </remarks>
+ </member>
+ <member name="T:Microsoft.ProgressStatics">
+ <summary>Holds static values for <see cref="T:Microsoft.Progress`1"/>.</summary>
+ <remarks>This avoids one static instance per type T.</remarks>
+ </member>
+ <member name="F:Microsoft.ProgressStatics.DefaultContext">
+ <summary>A default synchronization context that targets the ThreadPool.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable">
+ <summary>Provides an awaitable object that allows for configured awaits on <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.m_configuredTaskAwaiter">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.#ctor(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.GetAwaiter">
+ <summary>Gets an awaiter for this awaitable.</summary>
+ <returns>The awaiter.</returns>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter">
+ <summary>Provides an awaiter for a <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.m_continueOnCapturedContext">
+ <summary>Whether to attempt marshaling back to the original context.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.#ctor(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task"/> to await.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured
+ when BeginAwait is called; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1">
+ <summary>Provides an awaitable object that allows for configured awaits on <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.m_configuredTaskAwaiter">
+ <summary>The underlying awaitable on whose logic this awaitable relies.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.#ctor(System.Threading.Tasks.Task{`0},System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task`1"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.GetAwaiter">
+ <summary>Gets an awaiter for this awaitable.</summary>
+ <returns>The awaiter.</returns>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter">
+ <summary>Provides an awaiter for a <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.m_continueOnCapturedContext">
+ <summary>Whether to attempt marshaling back to the original context.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.#ctor(System.Threading.Tasks.Task{`0},System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task`1"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.TaskAwaiter">
+ <summary>Provides an awaiter for awaiting a <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.CONTINUE_ON_CAPTURED_CONTEXT_DEFAULT">
+ <summary>The default value to use for continueOnCapturedContext.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.InvalidOperationException_TaskNotCompleted">
+ <summary>Error message for GetAwaiter.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.#ctor(System.Threading.Tasks.Task)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task"/> to be awaited.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(System.Threading.Tasks.Task)">
+ <summary>
+ Fast checks for the end of an await operation to determine whether more needs to be done
+ prior to completing the await.
+ </summary>
+ <param name="task">The awaited task.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(System.Threading.Tasks.Task)">
+ <summary>Handles validations on tasks that aren't successfully completed.</summary>
+ <param name="task">The awaited task.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)">
+ <summary>Throws an exception to handle a task that completed in a state other than RanToCompletion.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.OnCompletedInternal(System.Threading.Tasks.Task,System.Action,System.Boolean)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="task">The awaited task.</param>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.RunNoException(System.Action)">
+ <summary>Invokes the delegate in a try/catch that will propagate the exception asynchronously on the ThreadPool.</summary>
+ <param name="continuation"></param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter.IsValidLocationForInlining">
+ <summary>Whether the current thread is appropriate for inlining the await continuation.</summary>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.TaskAwaiter`1">
+ <summary>Provides an awaiter for awaiting a <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.#ctor(System.Threading.Tasks.Task{`0})">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter`1"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task`1"/> to be awaited.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.YieldAwaitable">
+ <summary>Provides an awaitable context for switching into a target environment.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.GetAwaiter">
+ <summary>Gets an awaiter for this <see cref="T:Microsoft.Runtime.CompilerServices.YieldAwaitable"/>.</summary>
+ <returns>An awaiter for this awaitable.</returns>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter">
+ <summary>Provides an awaiter that switches into a target environment.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.s_completed">
+ <summary>A completed task.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.OnCompleted(System.Action)">
+ <summary>Posts the <paramref name="continuation"/> back to the current context.</summary>
+ <param name="continuation">The action to invoke asynchronously.</param>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Posts the <paramref name="continuation"/> back to the current context.</summary>
+ <param name="continuation">The action to invoke asynchronously.</param>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.GetResult">
+ <summary>Ends the await operation.</summary>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.IsCompleted">
+ <summary>Gets whether a yield is not required.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskEx">
+ <summary>Provides methods for creating and manipulating tasks.</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Action)">
+ <summary>Creates a task that runs the specified action.</summary>
+ <param name="action">The action to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Action,System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified action.</summary>
+ <param name="action">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to request cancellation of this task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{``0})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{``0},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to cancel the task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Func{System.Threading.Tasks.Task})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Func{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to request cancellation of this task.</param>
+ <returns>A task that represents the completion of the function.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to cancel the task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.Int32)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay in milliseconds before the returned task completes.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.TimeSpan)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay before the returned task completes.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.TimeSpan,System.Threading.CancellationToken)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay before the returned task completes.</param>
+ <param name="cancellationToken">A CancellationToken that may be used to cancel the task before the due time occurs.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.Int32,System.Threading.CancellationToken)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay in milliseconds before the returned task completes.</param>
+ <param name="cancellationToken">A CancellationToken that may be used to cancel the task before the due time occurs.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskEx.s_preCompletedTask">
+ <summary>An already completed task.</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll(System.Threading.Tasks.Task[])">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll``1(System.Threading.Tasks.Task{``0}[])">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAllCore``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task},System.Action{System.Threading.Tasks.Task[],System.Threading.Tasks.TaskCompletionSource{``0}})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <param name="setResultAction">
+ A callback invoked when all of the tasks complete successfully in the RanToCompletion state.
+ This callback is responsible for storing the results into the TaskCompletionSource.
+ </param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny(System.Threading.Tasks.Task[])">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task})">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny``1(System.Threading.Tasks.Task{``0}[])">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.FromResult``1(``0)">
+ <summary>Creates an already completed <see cref="T:System.Threading.Tasks.Task`1"/> from the specified result.</summary>
+ <param name="result">The result from which to create the completed task.</param>
+ <returns>The completed task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Yield">
+ <summary>Creates an awaitable that asynchronously yields back to the current context when awaited.</summary>
+ <returns>
+ A context that, when awaited, will asynchronously transition back into the current context.
+ If SynchronizationContext.Current is non-null, that is treated as the current context.
+ Otherwise, TaskScheduler.Current is treated as the current context.
+ </returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.AddPotentiallyUnwrappedExceptions(System.Collections.Generic.List{System.Exception}@,System.Exception)">
+ <summary>Adds the target exception to the list, initializing the list if it's null.</summary>
+ <param name="targetList">The list to which to add the exception and initialize if the list is null.</param>
+ <param name="exception">The exception to add, and unwrap if it's an aggregate.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.Phone.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.Phone.dll
new file mode 100644
index 0000000..1d110cc
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.Phone.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.Phone.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.Phone.xml
new file mode 100644
index 0000000..515d703
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.Phone.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks.Extensions.Phone</name>
+ </assembly>
+ <members>
+ <member name="T:AsyncPlatformExtensions">
+ <summary>
+ Provides asynchronous wrappers for .NET Framework operations.
+ </summary>
+ <summary>
+ Provides asynchronous wrappers for .NET Framework operations.
+ </summary>
+ </member>
+ <member name="M:AsyncPlatformExtensions.DownloadStringTaskAsync(System.Net.WebClient,System.String)">
+ <summary>Downloads the resource with the specified URI as a string, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI from which to download data.</param>
+ <returns>A Task that contains the downloaded string.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.DownloadStringTaskAsync(System.Net.WebClient,System.Uri)">
+ <summary>Downloads the resource with the specified URI as a string, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI from which to download data.</param>
+ <returns>A Task that contains the downloaded string.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenReadTaskAsync(System.Net.WebClient,System.String)">
+ <summary>Opens a readable stream for the data downloaded from a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenReadTaskAsync(System.Net.WebClient,System.Uri)">
+ <summary>Opens a readable stream for the data downloaded from a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.String)">
+ <summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.Uri)">
+ <summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.String,System.String)">
+ <summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <param name="method">The HTTP method that should be used to open the stream.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.Uri,System.String)">
+ <summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <param name="method">The HTTP method that should be used to open the stream.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadStringTaskAsync(System.Net.WebClient,System.String,System.String)">
+ <summary>Uploads data in a string to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadStringTaskAsync(System.Net.WebClient,System.Uri,System.String)">
+ <summary>Uploads data in a string to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadStringTaskAsync(System.Net.WebClient,System.String,System.String,System.String)">
+ <summary>Uploads data in a string to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="method">The HTTP method that should be used to upload the data.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadStringTaskAsync(System.Net.WebClient,System.Uri,System.String,System.String)">
+ <summary>Uploads data in a string to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="method">The HTTP method that should be used to upload the data.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.GetUri(System.Net.WebClient,System.String)">
+ <summary>Converts a path to a Uri using the WebClient's logic.</summary>
+ <remarks>Based on WebClient's private GetUri method.</remarks>
+ </member>
+ <member name="M:AsyncPlatformExtensions.GetUri(System.Net.WebClient,System.Uri)">
+ <summary>Converts a path to a Uri using the WebClient's logic.</summary>
+ <remarks>Based on WebClient's private GetUri method.</remarks>
+ </member>
+ <member name="M:AsyncPlatformExtensions.InvokeAsync(System.Windows.Threading.Dispatcher,System.Action)">
+ <summary>Asynchronously invokes an Action on the Dispatcher.</summary>
+ <param name="dispatcher">The Dispatcher.</param>
+ <param name="action">The action to invoke.</param>
+ <returns>A Task that represents the execution of the action.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.InvokeAsync``1(System.Windows.Threading.Dispatcher,System.Func{``0})">
+ <summary>Asynchronously invokes an Action on the Dispatcher.</summary>
+ <param name="dispatcher">The Dispatcher.</param>
+ <param name="function">The function to invoke.</param>
+ <returns>A Task that represents the execution of the function.</returns>
+ </member>
+ <member name="T:VoidTaskResult">
+ <summary>Used with Task(of void)</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.dll
new file mode 100644
index 0000000..e911377
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.xml
new file mode 100644
index 0000000..af646a2
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.xml
@@ -0,0 +1,275 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks.Extensions</name>
+ </assembly>
+ <members>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ <member name="T:AsyncExtensions">
+ <summary>
+ Provides asynchronous wrappers for .NET Framework operations.
+ </summary>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
+ <summary>
+ Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+ </summary>
+ <returns>A Task that represents the asynchronous read.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer to read data into. </param>
+ <param name="offset">The byte offset in at which to begin reading. </param>
+ <param name="count">The maximum number of bytes to read. </param>
+ <exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+ </summary>
+ <returns>A Task that represents the asynchronous read.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer to read data into. </param>
+ <param name="offset">The byte offset in at which to begin reading. </param>
+ <param name="count">The maximum number of bytes to read. </param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
+ <summary>
+ Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+ </summary>
+ <returns>A Task that represents the asynchronous write.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer containing data to write to the current stream.</param>
+ <param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
+ <param name="count">The maximum number of bytes to write. </param>
+ <exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
+ <exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
+ <exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+ </summary>
+ <returns>A Task that represents the asynchronous write.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer containing data to write to the current stream.</param>
+ <param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
+ <param name="count">The maximum number of bytes to write. </param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
+ <exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
+ <exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.Stream)">
+ <summary>
+ Flushes asynchronously the current stream.
+ </summary>
+ <returns>A Task that represents the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.Stream,System.Threading.CancellationToken)">
+ <summary>
+ Flushes asynchronously the current stream.
+ </summary>
+ <returns>A Task that represents the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsyncInternal(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
+ <summary>
+ Reads a maximum of count characters from the reader asynchronously and writes
+ the data to buffer, beginning at index.
+ </summary>
+ <param name="buffer">
+ When the operation completes, contains the specified character array with the
+ values between index and (index + count - 1) replaced by the characters read
+ from the current source.
+ </param>
+ <param name="count">
+ The maximum number of characters to read. If the end of the stream is reached
+ before count of characters is read into buffer, the current method returns.
+ </param>
+ <param name="index">The place in buffer at which to begin writing.</param>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadBlockAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
+ <summary>
+ Reads asynchronously a maximum of count characters from the current stream, and writes the
+ data to buffer, beginning at index.
+ </summary>
+ <param name="source">The source reader.</param>
+ <param name="buffer">
+ When this method returns, this parameter contains the specified character
+ array with the values between index and (index + count -1) replaced by the
+ characters read from the current source.
+ </param>
+ <param name="index">The position in buffer at which to begin writing.</param>
+ <param name="count">The maximum number of characters to read.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadLineAsync(System.IO.TextReader)">
+ <summary>
+ Reads a line of characters from the reader and returns the string asynchronously.
+ </summary>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadToEndAsync(System.IO.TextReader)">
+ <summary>
+ Reads all characters from the current position to the end of the TextReader
+ and returns them as one string asynchronously.
+ </summary>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.String)">
+ <summary>Writes a string asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The string to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char)">
+ <summary>Writes a char asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The char to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char[])">
+ <summary>Writes a char array asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+ <summary>Writes a subarray of characters asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <param name="index">Starting index in the buffer.</param>
+ <param name="count">The number of characters to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter)">
+ <summary>Writes a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.String)">
+ <summary>Writes a string followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The string to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char)">
+ <summary>Writes a char followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The char to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char[])">
+ <summary>Writes a char array followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+ <summary>Writes a subarray of characters followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <param name="index">Starting index in the buffer.</param>
+ <param name="count">The number of characters to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.TextWriter)">
+ <summary>
+ Clears all buffers for the current writer and causes any buffered data to
+ be written to the underlying device.
+ </summary>
+ <param name="target">The writer.</param>
+ <returns>A Task representing the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.GetResponseAsync(System.Net.WebRequest)">
+ <summary>Starts an asynchronous request for a web resource.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.InvalidOperationException">The stream is already in use by a previous call to . </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncExtensions.GetRequestStreamAsync(System.Net.WebRequest)">
+ <summary>Starts an asynchronous request for a object to use to write data.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.Net.ProtocolViolationException">The property is GET and the application writes to the stream. </exception>
+ <exception cref="T:System.InvalidOperationException">The stream is being used by a previous call to . </exception>
+ <exception cref="T:System.ApplicationException">No write stream is available. </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.dll
new file mode 100644
index 0000000..065d746
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.xml
new file mode 100644
index 0000000..5c22030
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.xml
@@ -0,0 +1,630 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:AwaitExtensions">
+ <summary>
+ Provides extension methods for threading-related types.
+ </summary>
+ </member>
+ <member name="M:AwaitExtensions.CancelAfter(System.Threading.CancellationTokenSource,System.Int32)">
+ <summary>Cancels the <see cref="T:System.Threading.CancellationTokenSource"/> after the specified duration.</summary>
+ <param name="source">The CancellationTokenSource.</param>
+ <param name="dueTime">The due time in milliseconds for the source to be canceled.</param>
+ </member>
+ <member name="M:AwaitExtensions.CancelAfter(System.Threading.CancellationTokenSource,System.TimeSpan)">
+ <summary>Cancels the <see cref="T:System.Threading.CancellationTokenSource"/> after the specified duration.</summary>
+ <param name="source">The CancellationTokenSource.</param>
+ <param name="dueTime">The due time for the source to be canceled.</param>
+ </member>
+ <member name="M:AwaitExtensions.GetAwaiter(System.Threading.Tasks.Task)">
+ <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <param name="task">The task to await.</param>
+ <returns>An awaiter instance.</returns>
+ </member>
+ <member name="M:AwaitExtensions.GetAwaiter``1(System.Threading.Tasks.Task{``0})">
+ <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <typeparam name="TResult">Specifies the type of data returned by the task.</typeparam>
+ <param name="task">The task to await.</param>
+ <returns>An awaiter instance.</returns>
+ </member>
+ <member name="M:AwaitExtensions.ConfigureAwait(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Creates and configures an awaitable object for awaiting the specified task.</summary>
+ <param name="task">The task to be awaited.</param>
+ <param name="continueOnCapturedContext">
+ true to automatic marshag back to the original call site's current SynchronizationContext
+ or TaskScheduler; otherwise, false.
+ </param>
+ <returns>The instance to be awaited.</returns>
+ </member>
+ <member name="M:AwaitExtensions.ConfigureAwait``1(System.Threading.Tasks.Task{``0},System.Boolean)">
+ <summary>Creates and configures an awaitable object for awaiting the specified task.</summary>
+ <param name="task">The task to be awaited.</param>
+ <param name="continueOnCapturedContext">
+ true to automatic marshag back to the original call site's current SynchronizationContext
+ or TaskScheduler; otherwise, false.
+ </param>
+ <returns>The instance to be awaited.</returns>
+ </member>
+ <member name="T:Microsoft.ProgressEventHandler`1">
+ <summary>Event handler for progress reports.</summary>
+ <typeparam name="T">Specifies the type of data for the progress report.</typeparam>
+ <param name="sender">The sender of the report.</param>
+ <param name="value">The reported value.</param>
+ </member>
+ <member name="T:Microsoft.Progress`1">
+ <summary>
+ Provides an IProgress{T} that invokes callbacks for each reported progress value.
+ </summary>
+ <typeparam name="T">Specifies the type of the progress report value.</typeparam>
+ <remarks>
+ Any handler provided to the constructor or event handlers registered with
+ the <see cref="E:Microsoft.Progress`1.ProgressChanged"/> event are invoked through a
+ <see cref="T:System.Threading.SynchronizationContext"/> instance captured
+ when the instance is constructed. If there is no current SynchronizationContext
+ at the time of construction, the callbacks will be invoked on the ThreadPool.
+ </remarks>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_synchronizationContext">
+ <summary>The synchronization context captured upon construction. This will never be null.</summary>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_handler">
+ <summary>The handler specified to the constructor. This may be null.</summary>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_invokeHandlers">
+ <summary>A cached delegate used to post invocation to the synchronization context.</summary>
+ </member>
+ <member name="M:Microsoft.Progress`1.#ctor">
+ <summary>Initializes the <see cref="T:Microsoft.Progress`1"/>.</summary>
+ </member>
+ <member name="M:Microsoft.Progress`1.#ctor(System.Action{`0})">
+ <summary>Initializes the <see cref="T:Microsoft.Progress`1"/> with the specified callback.</summary>
+ <param name="handler">
+ A handler to invoke for each reported progress value. This handler will be invoked
+ in addition to any delegates registered with the <see cref="E:Microsoft.Progress`1.ProgressChanged"/> event.
+ </param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="handler"/> is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:Microsoft.Progress`1.OnReport(`0)">
+ <summary>Reports a progress change.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="M:Microsoft.Progress`1.System#IProgress{T}#Report(`0)">
+ <summary>Reports a progress change.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="M:Microsoft.Progress`1.InvokeHandlers(System.Object)">
+ <summary>Invokes the action and event callbacks.</summary>
+ <param name="state">The progress value.</param>
+ </member>
+ <member name="E:Microsoft.Progress`1.ProgressChanged">
+ <summary>Raised for each reported progress value.</summary>
+ <remarks>
+ Handlers registered with this event will be invoked on the
+ <see cref="T:System.Threading.SynchronizationContext"/> captured when the instance was constructed.
+ </remarks>
+ </member>
+ <member name="T:Microsoft.ProgressStatics">
+ <summary>Holds static values for <see cref="T:Microsoft.Progress`1"/>.</summary>
+ <remarks>This avoids one static instance per type T.</remarks>
+ </member>
+ <member name="F:Microsoft.ProgressStatics.DefaultContext">
+ <summary>A default synchronization context that targets the ThreadPool.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable">
+ <summary>Provides an awaitable object that allows for configured awaits on <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.m_configuredTaskAwaiter">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.#ctor(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.GetAwaiter">
+ <summary>Gets an awaiter for this awaitable.</summary>
+ <returns>The awaiter.</returns>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter">
+ <summary>Provides an awaiter for a <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.m_continueOnCapturedContext">
+ <summary>Whether to attempt marshaling back to the original context.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.#ctor(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task"/> to await.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured
+ when BeginAwait is called; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1">
+ <summary>Provides an awaitable object that allows for configured awaits on <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.m_configuredTaskAwaiter">
+ <summary>The underlying awaitable on whose logic this awaitable relies.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.#ctor(System.Threading.Tasks.Task{`0},System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task`1"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.GetAwaiter">
+ <summary>Gets an awaiter for this awaitable.</summary>
+ <returns>The awaiter.</returns>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter">
+ <summary>Provides an awaiter for a <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.m_continueOnCapturedContext">
+ <summary>Whether to attempt marshaling back to the original context.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.#ctor(System.Threading.Tasks.Task{`0},System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task`1"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.TaskAwaiter">
+ <summary>Provides an awaiter for awaiting a <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.CONTINUE_ON_CAPTURED_CONTEXT_DEFAULT">
+ <summary>The default value to use for continueOnCapturedContext.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.InvalidOperationException_TaskNotCompleted">
+ <summary>Error message for GetAwaiter.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.#ctor(System.Threading.Tasks.Task)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task"/> to be awaited.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(System.Threading.Tasks.Task)">
+ <summary>
+ Fast checks for the end of an await operation to determine whether more needs to be done
+ prior to completing the await.
+ </summary>
+ <param name="task">The awaited task.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(System.Threading.Tasks.Task)">
+ <summary>Handles validations on tasks that aren't successfully completed.</summary>
+ <param name="task">The awaited task.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)">
+ <summary>Throws an exception to handle a task that completed in a state other than RanToCompletion.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.OnCompletedInternal(System.Threading.Tasks.Task,System.Action,System.Boolean)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="task">The awaited task.</param>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.RunNoException(System.Action)">
+ <summary>Invokes the delegate in a try/catch that will propagate the exception asynchronously on the ThreadPool.</summary>
+ <param name="continuation"></param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter.IsValidLocationForInlining">
+ <summary>Whether the current thread is appropriate for inlining the await continuation.</summary>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.TaskAwaiter`1">
+ <summary>Provides an awaiter for awaiting a <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.#ctor(System.Threading.Tasks.Task{`0})">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter`1"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task`1"/> to be awaited.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.YieldAwaitable">
+ <summary>Provides an awaitable context for switching into a target environment.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.GetAwaiter">
+ <summary>Gets an awaiter for this <see cref="T:Microsoft.Runtime.CompilerServices.YieldAwaitable"/>.</summary>
+ <returns>An awaiter for this awaitable.</returns>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter">
+ <summary>Provides an awaiter that switches into a target environment.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.s_completed">
+ <summary>A completed task.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.OnCompleted(System.Action)">
+ <summary>Posts the <paramref name="continuation"/> back to the current context.</summary>
+ <param name="continuation">The action to invoke asynchronously.</param>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Posts the <paramref name="continuation"/> back to the current context.</summary>
+ <param name="continuation">The action to invoke asynchronously.</param>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.GetResult">
+ <summary>Ends the await operation.</summary>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.IsCompleted">
+ <summary>Gets whether a yield is not required.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskEx">
+ <summary>Provides methods for creating and manipulating tasks.</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Action)">
+ <summary>Creates a task that runs the specified action.</summary>
+ <param name="action">The action to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Action,System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified action.</summary>
+ <param name="action">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to request cancellation of this task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{``0})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{``0},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to cancel the task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Func{System.Threading.Tasks.Task})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Func{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to request cancellation of this task.</param>
+ <returns>A task that represents the completion of the function.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to cancel the task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.Int32)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay in milliseconds before the returned task completes.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.TimeSpan)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay before the returned task completes.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.TimeSpan,System.Threading.CancellationToken)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay before the returned task completes.</param>
+ <param name="cancellationToken">A CancellationToken that may be used to cancel the task before the due time occurs.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.Int32,System.Threading.CancellationToken)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay in milliseconds before the returned task completes.</param>
+ <param name="cancellationToken">A CancellationToken that may be used to cancel the task before the due time occurs.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskEx.s_preCompletedTask">
+ <summary>An already completed task.</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll(System.Threading.Tasks.Task[])">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll``1(System.Threading.Tasks.Task{``0}[])">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAllCore``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task},System.Action{System.Threading.Tasks.Task[],System.Threading.Tasks.TaskCompletionSource{``0}})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <param name="setResultAction">
+ A callback invoked when all of the tasks complete successfully in the RanToCompletion state.
+ This callback is responsible for storing the results into the TaskCompletionSource.
+ </param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny(System.Threading.Tasks.Task[])">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task})">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny``1(System.Threading.Tasks.Task{``0}[])">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.FromResult``1(``0)">
+ <summary>Creates an already completed <see cref="T:System.Threading.Tasks.Task`1"/> from the specified result.</summary>
+ <param name="result">The result from which to create the completed task.</param>
+ <returns>The completed task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Yield">
+ <summary>Creates an awaitable that asynchronously yields back to the current context when awaited.</summary>
+ <returns>
+ A context that, when awaited, will asynchronously transition back into the current context.
+ If SynchronizationContext.Current is non-null, that is treated as the current context.
+ Otherwise, TaskScheduler.Current is treated as the current context.
+ </returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.AddPotentiallyUnwrappedExceptions(System.Collections.Generic.List{System.Exception}@,System.Exception)">
+ <summary>Adds the target exception to the list, initializing the list if it's null.</summary>
+ <param name="targetList">The list to which to add the exception and initialize if the list is null.</param>
+ <param name="exception">The exception to add, and unwrap if it's an aggregate.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.Extensions.Silverlight.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.Extensions.Silverlight.dll
new file mode 100644
index 0000000..e683718
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.Extensions.Silverlight.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.Extensions.Silverlight.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.Extensions.Silverlight.xml
new file mode 100644
index 0000000..950e092
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.Extensions.Silverlight.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks.Extensions.Silverlight</name>
+ </assembly>
+ <members>
+ <member name="T:AsyncPlatformExtensions">
+ <summary>
+ Provides asynchronous wrappers for .NET Framework operations.
+ </summary>
+ <summary>
+ Provides asynchronous wrappers for .NET Framework operations.
+ </summary>
+ </member>
+ <member name="M:AsyncPlatformExtensions.DownloadStringTaskAsync(System.Net.WebClient,System.String)">
+ <summary>Downloads the resource with the specified URI as a string, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI from which to download data.</param>
+ <returns>A Task that contains the downloaded string.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.DownloadStringTaskAsync(System.Net.WebClient,System.Uri)">
+ <summary>Downloads the resource with the specified URI as a string, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI from which to download data.</param>
+ <returns>A Task that contains the downloaded string.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenReadTaskAsync(System.Net.WebClient,System.String)">
+ <summary>Opens a readable stream for the data downloaded from a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenReadTaskAsync(System.Net.WebClient,System.Uri)">
+ <summary>Opens a readable stream for the data downloaded from a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.String)">
+ <summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.Uri)">
+ <summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.String,System.String)">
+ <summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <param name="method">The HTTP method that should be used to open the stream.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.Uri,System.String)">
+ <summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <param name="method">The HTTP method that should be used to open the stream.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadStringTaskAsync(System.Net.WebClient,System.String,System.String)">
+ <summary>Uploads data in a string to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadStringTaskAsync(System.Net.WebClient,System.Uri,System.String)">
+ <summary>Uploads data in a string to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadStringTaskAsync(System.Net.WebClient,System.String,System.String,System.String)">
+ <summary>Uploads data in a string to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="method">The HTTP method that should be used to upload the data.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadStringTaskAsync(System.Net.WebClient,System.Uri,System.String,System.String)">
+ <summary>Uploads data in a string to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="method">The HTTP method that should be used to upload the data.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.GetUri(System.Net.WebClient,System.String)">
+ <summary>Converts a path to a Uri using the WebClient's logic.</summary>
+ <remarks>Based on WebClient's private GetUri method.</remarks>
+ </member>
+ <member name="M:AsyncPlatformExtensions.GetUri(System.Net.WebClient,System.Uri)">
+ <summary>Converts a path to a Uri using the WebClient's logic.</summary>
+ <remarks>Based on WebClient's private GetUri method.</remarks>
+ </member>
+ <member name="M:AsyncPlatformExtensions.InvokeAsync(System.Windows.Threading.Dispatcher,System.Action)">
+ <summary>Asynchronously invokes an Action on the Dispatcher.</summary>
+ <param name="dispatcher">The Dispatcher.</param>
+ <param name="action">The action to invoke.</param>
+ <returns>A Task that represents the execution of the action.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.InvokeAsync``1(System.Windows.Threading.Dispatcher,System.Func{``0})">
+ <summary>Asynchronously invokes an Action on the Dispatcher.</summary>
+ <param name="dispatcher">The Dispatcher.</param>
+ <param name="function">The function to invoke.</param>
+ <returns>A Task that represents the execution of the function.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ <member name="T:VoidTaskResult">
+ <summary>Used with Task(of void)</summary>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.Extensions.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.Extensions.dll
new file mode 100644
index 0000000..e911377
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.Extensions.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.Extensions.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.Extensions.xml
new file mode 100644
index 0000000..af646a2
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.Extensions.xml
@@ -0,0 +1,275 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks.Extensions</name>
+ </assembly>
+ <members>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ <member name="T:AsyncExtensions">
+ <summary>
+ Provides asynchronous wrappers for .NET Framework operations.
+ </summary>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
+ <summary>
+ Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+ </summary>
+ <returns>A Task that represents the asynchronous read.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer to read data into. </param>
+ <param name="offset">The byte offset in at which to begin reading. </param>
+ <param name="count">The maximum number of bytes to read. </param>
+ <exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+ </summary>
+ <returns>A Task that represents the asynchronous read.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer to read data into. </param>
+ <param name="offset">The byte offset in at which to begin reading. </param>
+ <param name="count">The maximum number of bytes to read. </param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
+ <summary>
+ Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+ </summary>
+ <returns>A Task that represents the asynchronous write.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer containing data to write to the current stream.</param>
+ <param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
+ <param name="count">The maximum number of bytes to write. </param>
+ <exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
+ <exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
+ <exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+ </summary>
+ <returns>A Task that represents the asynchronous write.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer containing data to write to the current stream.</param>
+ <param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
+ <param name="count">The maximum number of bytes to write. </param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
+ <exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
+ <exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.Stream)">
+ <summary>
+ Flushes asynchronously the current stream.
+ </summary>
+ <returns>A Task that represents the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.Stream,System.Threading.CancellationToken)">
+ <summary>
+ Flushes asynchronously the current stream.
+ </summary>
+ <returns>A Task that represents the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsyncInternal(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
+ <summary>
+ Reads a maximum of count characters from the reader asynchronously and writes
+ the data to buffer, beginning at index.
+ </summary>
+ <param name="buffer">
+ When the operation completes, contains the specified character array with the
+ values between index and (index + count - 1) replaced by the characters read
+ from the current source.
+ </param>
+ <param name="count">
+ The maximum number of characters to read. If the end of the stream is reached
+ before count of characters is read into buffer, the current method returns.
+ </param>
+ <param name="index">The place in buffer at which to begin writing.</param>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadBlockAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
+ <summary>
+ Reads asynchronously a maximum of count characters from the current stream, and writes the
+ data to buffer, beginning at index.
+ </summary>
+ <param name="source">The source reader.</param>
+ <param name="buffer">
+ When this method returns, this parameter contains the specified character
+ array with the values between index and (index + count -1) replaced by the
+ characters read from the current source.
+ </param>
+ <param name="index">The position in buffer at which to begin writing.</param>
+ <param name="count">The maximum number of characters to read.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadLineAsync(System.IO.TextReader)">
+ <summary>
+ Reads a line of characters from the reader and returns the string asynchronously.
+ </summary>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadToEndAsync(System.IO.TextReader)">
+ <summary>
+ Reads all characters from the current position to the end of the TextReader
+ and returns them as one string asynchronously.
+ </summary>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.String)">
+ <summary>Writes a string asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The string to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char)">
+ <summary>Writes a char asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The char to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char[])">
+ <summary>Writes a char array asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+ <summary>Writes a subarray of characters asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <param name="index">Starting index in the buffer.</param>
+ <param name="count">The number of characters to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter)">
+ <summary>Writes a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.String)">
+ <summary>Writes a string followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The string to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char)">
+ <summary>Writes a char followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The char to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char[])">
+ <summary>Writes a char array followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+ <summary>Writes a subarray of characters followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <param name="index">Starting index in the buffer.</param>
+ <param name="count">The number of characters to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.TextWriter)">
+ <summary>
+ Clears all buffers for the current writer and causes any buffered data to
+ be written to the underlying device.
+ </summary>
+ <param name="target">The writer.</param>
+ <returns>A Task representing the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.GetResponseAsync(System.Net.WebRequest)">
+ <summary>Starts an asynchronous request for a web resource.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.InvalidOperationException">The stream is already in use by a previous call to . </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncExtensions.GetRequestStreamAsync(System.Net.WebRequest)">
+ <summary>Starts an asynchronous request for a object to use to write data.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.Net.ProtocolViolationException">The property is GET and the application writes to the stream. </exception>
+ <exception cref="T:System.InvalidOperationException">The stream is being used by a previous call to . </exception>
+ <exception cref="T:System.ApplicationException">No write stream is available. </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.dll
new file mode 100644
index 0000000..065d746
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.xml
new file mode 100644
index 0000000..5c22030
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/sl4/Microsoft.Threading.Tasks.xml
@@ -0,0 +1,630 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:AwaitExtensions">
+ <summary>
+ Provides extension methods for threading-related types.
+ </summary>
+ </member>
+ <member name="M:AwaitExtensions.CancelAfter(System.Threading.CancellationTokenSource,System.Int32)">
+ <summary>Cancels the <see cref="T:System.Threading.CancellationTokenSource"/> after the specified duration.</summary>
+ <param name="source">The CancellationTokenSource.</param>
+ <param name="dueTime">The due time in milliseconds for the source to be canceled.</param>
+ </member>
+ <member name="M:AwaitExtensions.CancelAfter(System.Threading.CancellationTokenSource,System.TimeSpan)">
+ <summary>Cancels the <see cref="T:System.Threading.CancellationTokenSource"/> after the specified duration.</summary>
+ <param name="source">The CancellationTokenSource.</param>
+ <param name="dueTime">The due time for the source to be canceled.</param>
+ </member>
+ <member name="M:AwaitExtensions.GetAwaiter(System.Threading.Tasks.Task)">
+ <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <param name="task">The task to await.</param>
+ <returns>An awaiter instance.</returns>
+ </member>
+ <member name="M:AwaitExtensions.GetAwaiter``1(System.Threading.Tasks.Task{``0})">
+ <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <typeparam name="TResult">Specifies the type of data returned by the task.</typeparam>
+ <param name="task">The task to await.</param>
+ <returns>An awaiter instance.</returns>
+ </member>
+ <member name="M:AwaitExtensions.ConfigureAwait(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Creates and configures an awaitable object for awaiting the specified task.</summary>
+ <param name="task">The task to be awaited.</param>
+ <param name="continueOnCapturedContext">
+ true to automatic marshag back to the original call site's current SynchronizationContext
+ or TaskScheduler; otherwise, false.
+ </param>
+ <returns>The instance to be awaited.</returns>
+ </member>
+ <member name="M:AwaitExtensions.ConfigureAwait``1(System.Threading.Tasks.Task{``0},System.Boolean)">
+ <summary>Creates and configures an awaitable object for awaiting the specified task.</summary>
+ <param name="task">The task to be awaited.</param>
+ <param name="continueOnCapturedContext">
+ true to automatic marshag back to the original call site's current SynchronizationContext
+ or TaskScheduler; otherwise, false.
+ </param>
+ <returns>The instance to be awaited.</returns>
+ </member>
+ <member name="T:Microsoft.ProgressEventHandler`1">
+ <summary>Event handler for progress reports.</summary>
+ <typeparam name="T">Specifies the type of data for the progress report.</typeparam>
+ <param name="sender">The sender of the report.</param>
+ <param name="value">The reported value.</param>
+ </member>
+ <member name="T:Microsoft.Progress`1">
+ <summary>
+ Provides an IProgress{T} that invokes callbacks for each reported progress value.
+ </summary>
+ <typeparam name="T">Specifies the type of the progress report value.</typeparam>
+ <remarks>
+ Any handler provided to the constructor or event handlers registered with
+ the <see cref="E:Microsoft.Progress`1.ProgressChanged"/> event are invoked through a
+ <see cref="T:System.Threading.SynchronizationContext"/> instance captured
+ when the instance is constructed. If there is no current SynchronizationContext
+ at the time of construction, the callbacks will be invoked on the ThreadPool.
+ </remarks>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_synchronizationContext">
+ <summary>The synchronization context captured upon construction. This will never be null.</summary>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_handler">
+ <summary>The handler specified to the constructor. This may be null.</summary>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_invokeHandlers">
+ <summary>A cached delegate used to post invocation to the synchronization context.</summary>
+ </member>
+ <member name="M:Microsoft.Progress`1.#ctor">
+ <summary>Initializes the <see cref="T:Microsoft.Progress`1"/>.</summary>
+ </member>
+ <member name="M:Microsoft.Progress`1.#ctor(System.Action{`0})">
+ <summary>Initializes the <see cref="T:Microsoft.Progress`1"/> with the specified callback.</summary>
+ <param name="handler">
+ A handler to invoke for each reported progress value. This handler will be invoked
+ in addition to any delegates registered with the <see cref="E:Microsoft.Progress`1.ProgressChanged"/> event.
+ </param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="handler"/> is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:Microsoft.Progress`1.OnReport(`0)">
+ <summary>Reports a progress change.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="M:Microsoft.Progress`1.System#IProgress{T}#Report(`0)">
+ <summary>Reports a progress change.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="M:Microsoft.Progress`1.InvokeHandlers(System.Object)">
+ <summary>Invokes the action and event callbacks.</summary>
+ <param name="state">The progress value.</param>
+ </member>
+ <member name="E:Microsoft.Progress`1.ProgressChanged">
+ <summary>Raised for each reported progress value.</summary>
+ <remarks>
+ Handlers registered with this event will be invoked on the
+ <see cref="T:System.Threading.SynchronizationContext"/> captured when the instance was constructed.
+ </remarks>
+ </member>
+ <member name="T:Microsoft.ProgressStatics">
+ <summary>Holds static values for <see cref="T:Microsoft.Progress`1"/>.</summary>
+ <remarks>This avoids one static instance per type T.</remarks>
+ </member>
+ <member name="F:Microsoft.ProgressStatics.DefaultContext">
+ <summary>A default synchronization context that targets the ThreadPool.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable">
+ <summary>Provides an awaitable object that allows for configured awaits on <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.m_configuredTaskAwaiter">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.#ctor(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.GetAwaiter">
+ <summary>Gets an awaiter for this awaitable.</summary>
+ <returns>The awaiter.</returns>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter">
+ <summary>Provides an awaiter for a <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.m_continueOnCapturedContext">
+ <summary>Whether to attempt marshaling back to the original context.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.#ctor(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task"/> to await.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured
+ when BeginAwait is called; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1">
+ <summary>Provides an awaitable object that allows for configured awaits on <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.m_configuredTaskAwaiter">
+ <summary>The underlying awaitable on whose logic this awaitable relies.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.#ctor(System.Threading.Tasks.Task{`0},System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task`1"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.GetAwaiter">
+ <summary>Gets an awaiter for this awaitable.</summary>
+ <returns>The awaiter.</returns>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter">
+ <summary>Provides an awaiter for a <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.m_continueOnCapturedContext">
+ <summary>Whether to attempt marshaling back to the original context.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.#ctor(System.Threading.Tasks.Task{`0},System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task`1"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.TaskAwaiter">
+ <summary>Provides an awaiter for awaiting a <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.CONTINUE_ON_CAPTURED_CONTEXT_DEFAULT">
+ <summary>The default value to use for continueOnCapturedContext.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.InvalidOperationException_TaskNotCompleted">
+ <summary>Error message for GetAwaiter.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.#ctor(System.Threading.Tasks.Task)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task"/> to be awaited.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(System.Threading.Tasks.Task)">
+ <summary>
+ Fast checks for the end of an await operation to determine whether more needs to be done
+ prior to completing the await.
+ </summary>
+ <param name="task">The awaited task.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(System.Threading.Tasks.Task)">
+ <summary>Handles validations on tasks that aren't successfully completed.</summary>
+ <param name="task">The awaited task.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)">
+ <summary>Throws an exception to handle a task that completed in a state other than RanToCompletion.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.OnCompletedInternal(System.Threading.Tasks.Task,System.Action,System.Boolean)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="task">The awaited task.</param>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.RunNoException(System.Action)">
+ <summary>Invokes the delegate in a try/catch that will propagate the exception asynchronously on the ThreadPool.</summary>
+ <param name="continuation"></param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter.IsValidLocationForInlining">
+ <summary>Whether the current thread is appropriate for inlining the await continuation.</summary>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.TaskAwaiter`1">
+ <summary>Provides an awaiter for awaiting a <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.#ctor(System.Threading.Tasks.Task{`0})">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter`1"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task`1"/> to be awaited.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.YieldAwaitable">
+ <summary>Provides an awaitable context for switching into a target environment.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.GetAwaiter">
+ <summary>Gets an awaiter for this <see cref="T:Microsoft.Runtime.CompilerServices.YieldAwaitable"/>.</summary>
+ <returns>An awaiter for this awaitable.</returns>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter">
+ <summary>Provides an awaiter that switches into a target environment.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.s_completed">
+ <summary>A completed task.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.OnCompleted(System.Action)">
+ <summary>Posts the <paramref name="continuation"/> back to the current context.</summary>
+ <param name="continuation">The action to invoke asynchronously.</param>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Posts the <paramref name="continuation"/> back to the current context.</summary>
+ <param name="continuation">The action to invoke asynchronously.</param>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.GetResult">
+ <summary>Ends the await operation.</summary>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.IsCompleted">
+ <summary>Gets whether a yield is not required.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskEx">
+ <summary>Provides methods for creating and manipulating tasks.</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Action)">
+ <summary>Creates a task that runs the specified action.</summary>
+ <param name="action">The action to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Action,System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified action.</summary>
+ <param name="action">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to request cancellation of this task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{``0})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{``0},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to cancel the task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Func{System.Threading.Tasks.Task})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Func{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to request cancellation of this task.</param>
+ <returns>A task that represents the completion of the function.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to cancel the task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.Int32)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay in milliseconds before the returned task completes.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.TimeSpan)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay before the returned task completes.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.TimeSpan,System.Threading.CancellationToken)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay before the returned task completes.</param>
+ <param name="cancellationToken">A CancellationToken that may be used to cancel the task before the due time occurs.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.Int32,System.Threading.CancellationToken)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay in milliseconds before the returned task completes.</param>
+ <param name="cancellationToken">A CancellationToken that may be used to cancel the task before the due time occurs.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskEx.s_preCompletedTask">
+ <summary>An already completed task.</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll(System.Threading.Tasks.Task[])">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll``1(System.Threading.Tasks.Task{``0}[])">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAllCore``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task},System.Action{System.Threading.Tasks.Task[],System.Threading.Tasks.TaskCompletionSource{``0}})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <param name="setResultAction">
+ A callback invoked when all of the tasks complete successfully in the RanToCompletion state.
+ This callback is responsible for storing the results into the TaskCompletionSource.
+ </param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny(System.Threading.Tasks.Task[])">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task})">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny``1(System.Threading.Tasks.Task{``0}[])">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.FromResult``1(``0)">
+ <summary>Creates an already completed <see cref="T:System.Threading.Tasks.Task`1"/> from the specified result.</summary>
+ <param name="result">The result from which to create the completed task.</param>
+ <returns>The completed task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Yield">
+ <summary>Creates an awaitable that asynchronously yields back to the current context when awaited.</summary>
+ <returns>
+ A context that, when awaited, will asynchronously transition back into the current context.
+ If SynchronizationContext.Current is non-null, that is treated as the current context.
+ Otherwise, TaskScheduler.Current is treated as the current context.
+ </returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.AddPotentiallyUnwrappedExceptions(System.Collections.Generic.List{System.Exception}@,System.Exception)">
+ <summary>Adds the target exception to the list, initializing the list if it's null.</summary>
+ <param name="targetList">The list to which to add the exception and initialize if the list is null.</param>
+ <param name="exception">The exception to add, and unwrap if it's an aggregate.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/win8/Microsoft.Threading.Tasks.Extensions.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/win8/Microsoft.Threading.Tasks.Extensions.dll
new file mode 100644
index 0000000..e911377
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/win8/Microsoft.Threading.Tasks.Extensions.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/win8/Microsoft.Threading.Tasks.Extensions.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/win8/Microsoft.Threading.Tasks.Extensions.xml
new file mode 100644
index 0000000..af646a2
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/win8/Microsoft.Threading.Tasks.Extensions.xml
@@ -0,0 +1,275 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks.Extensions</name>
+ </assembly>
+ <members>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ <member name="T:AsyncExtensions">
+ <summary>
+ Provides asynchronous wrappers for .NET Framework operations.
+ </summary>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
+ <summary>
+ Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+ </summary>
+ <returns>A Task that represents the asynchronous read.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer to read data into. </param>
+ <param name="offset">The byte offset in at which to begin reading. </param>
+ <param name="count">The maximum number of bytes to read. </param>
+ <exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+ </summary>
+ <returns>A Task that represents the asynchronous read.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer to read data into. </param>
+ <param name="offset">The byte offset in at which to begin reading. </param>
+ <param name="count">The maximum number of bytes to read. </param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
+ <summary>
+ Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+ </summary>
+ <returns>A Task that represents the asynchronous write.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer containing data to write to the current stream.</param>
+ <param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
+ <param name="count">The maximum number of bytes to write. </param>
+ <exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
+ <exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
+ <exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+ </summary>
+ <returns>A Task that represents the asynchronous write.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer containing data to write to the current stream.</param>
+ <param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
+ <param name="count">The maximum number of bytes to write. </param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
+ <exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
+ <exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.Stream)">
+ <summary>
+ Flushes asynchronously the current stream.
+ </summary>
+ <returns>A Task that represents the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.Stream,System.Threading.CancellationToken)">
+ <summary>
+ Flushes asynchronously the current stream.
+ </summary>
+ <returns>A Task that represents the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsyncInternal(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
+ <summary>
+ Reads a maximum of count characters from the reader asynchronously and writes
+ the data to buffer, beginning at index.
+ </summary>
+ <param name="buffer">
+ When the operation completes, contains the specified character array with the
+ values between index and (index + count - 1) replaced by the characters read
+ from the current source.
+ </param>
+ <param name="count">
+ The maximum number of characters to read. If the end of the stream is reached
+ before count of characters is read into buffer, the current method returns.
+ </param>
+ <param name="index">The place in buffer at which to begin writing.</param>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadBlockAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
+ <summary>
+ Reads asynchronously a maximum of count characters from the current stream, and writes the
+ data to buffer, beginning at index.
+ </summary>
+ <param name="source">The source reader.</param>
+ <param name="buffer">
+ When this method returns, this parameter contains the specified character
+ array with the values between index and (index + count -1) replaced by the
+ characters read from the current source.
+ </param>
+ <param name="index">The position in buffer at which to begin writing.</param>
+ <param name="count">The maximum number of characters to read.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadLineAsync(System.IO.TextReader)">
+ <summary>
+ Reads a line of characters from the reader and returns the string asynchronously.
+ </summary>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadToEndAsync(System.IO.TextReader)">
+ <summary>
+ Reads all characters from the current position to the end of the TextReader
+ and returns them as one string asynchronously.
+ </summary>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.String)">
+ <summary>Writes a string asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The string to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char)">
+ <summary>Writes a char asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The char to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char[])">
+ <summary>Writes a char array asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+ <summary>Writes a subarray of characters asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <param name="index">Starting index in the buffer.</param>
+ <param name="count">The number of characters to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter)">
+ <summary>Writes a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.String)">
+ <summary>Writes a string followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The string to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char)">
+ <summary>Writes a char followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The char to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char[])">
+ <summary>Writes a char array followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+ <summary>Writes a subarray of characters followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <param name="index">Starting index in the buffer.</param>
+ <param name="count">The number of characters to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.TextWriter)">
+ <summary>
+ Clears all buffers for the current writer and causes any buffered data to
+ be written to the underlying device.
+ </summary>
+ <param name="target">The writer.</param>
+ <returns>A Task representing the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.GetResponseAsync(System.Net.WebRequest)">
+ <summary>Starts an asynchronous request for a web resource.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.InvalidOperationException">The stream is already in use by a previous call to . </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncExtensions.GetRequestStreamAsync(System.Net.WebRequest)">
+ <summary>Starts an asynchronous request for a object to use to write data.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.Net.ProtocolViolationException">The property is GET and the application writes to the stream. </exception>
+ <exception cref="T:System.InvalidOperationException">The stream is being used by a previous call to . </exception>
+ <exception cref="T:System.ApplicationException">No write stream is available. </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/win8/Microsoft.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/win8/Microsoft.Threading.Tasks.dll
new file mode 100644
index 0000000..065d746
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/win8/Microsoft.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/win8/Microsoft.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/win8/Microsoft.Threading.Tasks.xml
new file mode 100644
index 0000000..5c22030
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/win8/Microsoft.Threading.Tasks.xml
@@ -0,0 +1,630 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:AwaitExtensions">
+ <summary>
+ Provides extension methods for threading-related types.
+ </summary>
+ </member>
+ <member name="M:AwaitExtensions.CancelAfter(System.Threading.CancellationTokenSource,System.Int32)">
+ <summary>Cancels the <see cref="T:System.Threading.CancellationTokenSource"/> after the specified duration.</summary>
+ <param name="source">The CancellationTokenSource.</param>
+ <param name="dueTime">The due time in milliseconds for the source to be canceled.</param>
+ </member>
+ <member name="M:AwaitExtensions.CancelAfter(System.Threading.CancellationTokenSource,System.TimeSpan)">
+ <summary>Cancels the <see cref="T:System.Threading.CancellationTokenSource"/> after the specified duration.</summary>
+ <param name="source">The CancellationTokenSource.</param>
+ <param name="dueTime">The due time for the source to be canceled.</param>
+ </member>
+ <member name="M:AwaitExtensions.GetAwaiter(System.Threading.Tasks.Task)">
+ <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <param name="task">The task to await.</param>
+ <returns>An awaiter instance.</returns>
+ </member>
+ <member name="M:AwaitExtensions.GetAwaiter``1(System.Threading.Tasks.Task{``0})">
+ <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <typeparam name="TResult">Specifies the type of data returned by the task.</typeparam>
+ <param name="task">The task to await.</param>
+ <returns>An awaiter instance.</returns>
+ </member>
+ <member name="M:AwaitExtensions.ConfigureAwait(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Creates and configures an awaitable object for awaiting the specified task.</summary>
+ <param name="task">The task to be awaited.</param>
+ <param name="continueOnCapturedContext">
+ true to automatic marshag back to the original call site's current SynchronizationContext
+ or TaskScheduler; otherwise, false.
+ </param>
+ <returns>The instance to be awaited.</returns>
+ </member>
+ <member name="M:AwaitExtensions.ConfigureAwait``1(System.Threading.Tasks.Task{``0},System.Boolean)">
+ <summary>Creates and configures an awaitable object for awaiting the specified task.</summary>
+ <param name="task">The task to be awaited.</param>
+ <param name="continueOnCapturedContext">
+ true to automatic marshag back to the original call site's current SynchronizationContext
+ or TaskScheduler; otherwise, false.
+ </param>
+ <returns>The instance to be awaited.</returns>
+ </member>
+ <member name="T:Microsoft.ProgressEventHandler`1">
+ <summary>Event handler for progress reports.</summary>
+ <typeparam name="T">Specifies the type of data for the progress report.</typeparam>
+ <param name="sender">The sender of the report.</param>
+ <param name="value">The reported value.</param>
+ </member>
+ <member name="T:Microsoft.Progress`1">
+ <summary>
+ Provides an IProgress{T} that invokes callbacks for each reported progress value.
+ </summary>
+ <typeparam name="T">Specifies the type of the progress report value.</typeparam>
+ <remarks>
+ Any handler provided to the constructor or event handlers registered with
+ the <see cref="E:Microsoft.Progress`1.ProgressChanged"/> event are invoked through a
+ <see cref="T:System.Threading.SynchronizationContext"/> instance captured
+ when the instance is constructed. If there is no current SynchronizationContext
+ at the time of construction, the callbacks will be invoked on the ThreadPool.
+ </remarks>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_synchronizationContext">
+ <summary>The synchronization context captured upon construction. This will never be null.</summary>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_handler">
+ <summary>The handler specified to the constructor. This may be null.</summary>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_invokeHandlers">
+ <summary>A cached delegate used to post invocation to the synchronization context.</summary>
+ </member>
+ <member name="M:Microsoft.Progress`1.#ctor">
+ <summary>Initializes the <see cref="T:Microsoft.Progress`1"/>.</summary>
+ </member>
+ <member name="M:Microsoft.Progress`1.#ctor(System.Action{`0})">
+ <summary>Initializes the <see cref="T:Microsoft.Progress`1"/> with the specified callback.</summary>
+ <param name="handler">
+ A handler to invoke for each reported progress value. This handler will be invoked
+ in addition to any delegates registered with the <see cref="E:Microsoft.Progress`1.ProgressChanged"/> event.
+ </param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="handler"/> is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:Microsoft.Progress`1.OnReport(`0)">
+ <summary>Reports a progress change.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="M:Microsoft.Progress`1.System#IProgress{T}#Report(`0)">
+ <summary>Reports a progress change.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="M:Microsoft.Progress`1.InvokeHandlers(System.Object)">
+ <summary>Invokes the action and event callbacks.</summary>
+ <param name="state">The progress value.</param>
+ </member>
+ <member name="E:Microsoft.Progress`1.ProgressChanged">
+ <summary>Raised for each reported progress value.</summary>
+ <remarks>
+ Handlers registered with this event will be invoked on the
+ <see cref="T:System.Threading.SynchronizationContext"/> captured when the instance was constructed.
+ </remarks>
+ </member>
+ <member name="T:Microsoft.ProgressStatics">
+ <summary>Holds static values for <see cref="T:Microsoft.Progress`1"/>.</summary>
+ <remarks>This avoids one static instance per type T.</remarks>
+ </member>
+ <member name="F:Microsoft.ProgressStatics.DefaultContext">
+ <summary>A default synchronization context that targets the ThreadPool.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable">
+ <summary>Provides an awaitable object that allows for configured awaits on <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.m_configuredTaskAwaiter">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.#ctor(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.GetAwaiter">
+ <summary>Gets an awaiter for this awaitable.</summary>
+ <returns>The awaiter.</returns>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter">
+ <summary>Provides an awaiter for a <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.m_continueOnCapturedContext">
+ <summary>Whether to attempt marshaling back to the original context.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.#ctor(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task"/> to await.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured
+ when BeginAwait is called; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1">
+ <summary>Provides an awaitable object that allows for configured awaits on <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.m_configuredTaskAwaiter">
+ <summary>The underlying awaitable on whose logic this awaitable relies.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.#ctor(System.Threading.Tasks.Task{`0},System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task`1"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.GetAwaiter">
+ <summary>Gets an awaiter for this awaitable.</summary>
+ <returns>The awaiter.</returns>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter">
+ <summary>Provides an awaiter for a <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.m_continueOnCapturedContext">
+ <summary>Whether to attempt marshaling back to the original context.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.#ctor(System.Threading.Tasks.Task{`0},System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task`1"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.TaskAwaiter">
+ <summary>Provides an awaiter for awaiting a <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.CONTINUE_ON_CAPTURED_CONTEXT_DEFAULT">
+ <summary>The default value to use for continueOnCapturedContext.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.InvalidOperationException_TaskNotCompleted">
+ <summary>Error message for GetAwaiter.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.#ctor(System.Threading.Tasks.Task)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task"/> to be awaited.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(System.Threading.Tasks.Task)">
+ <summary>
+ Fast checks for the end of an await operation to determine whether more needs to be done
+ prior to completing the await.
+ </summary>
+ <param name="task">The awaited task.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(System.Threading.Tasks.Task)">
+ <summary>Handles validations on tasks that aren't successfully completed.</summary>
+ <param name="task">The awaited task.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)">
+ <summary>Throws an exception to handle a task that completed in a state other than RanToCompletion.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.OnCompletedInternal(System.Threading.Tasks.Task,System.Action,System.Boolean)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="task">The awaited task.</param>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.RunNoException(System.Action)">
+ <summary>Invokes the delegate in a try/catch that will propagate the exception asynchronously on the ThreadPool.</summary>
+ <param name="continuation"></param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter.IsValidLocationForInlining">
+ <summary>Whether the current thread is appropriate for inlining the await continuation.</summary>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.TaskAwaiter`1">
+ <summary>Provides an awaiter for awaiting a <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.#ctor(System.Threading.Tasks.Task{`0})">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter`1"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task`1"/> to be awaited.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.YieldAwaitable">
+ <summary>Provides an awaitable context for switching into a target environment.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.GetAwaiter">
+ <summary>Gets an awaiter for this <see cref="T:Microsoft.Runtime.CompilerServices.YieldAwaitable"/>.</summary>
+ <returns>An awaiter for this awaitable.</returns>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter">
+ <summary>Provides an awaiter that switches into a target environment.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.s_completed">
+ <summary>A completed task.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.OnCompleted(System.Action)">
+ <summary>Posts the <paramref name="continuation"/> back to the current context.</summary>
+ <param name="continuation">The action to invoke asynchronously.</param>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Posts the <paramref name="continuation"/> back to the current context.</summary>
+ <param name="continuation">The action to invoke asynchronously.</param>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.GetResult">
+ <summary>Ends the await operation.</summary>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.IsCompleted">
+ <summary>Gets whether a yield is not required.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskEx">
+ <summary>Provides methods for creating and manipulating tasks.</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Action)">
+ <summary>Creates a task that runs the specified action.</summary>
+ <param name="action">The action to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Action,System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified action.</summary>
+ <param name="action">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to request cancellation of this task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{``0})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{``0},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to cancel the task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Func{System.Threading.Tasks.Task})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Func{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to request cancellation of this task.</param>
+ <returns>A task that represents the completion of the function.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to cancel the task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.Int32)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay in milliseconds before the returned task completes.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.TimeSpan)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay before the returned task completes.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.TimeSpan,System.Threading.CancellationToken)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay before the returned task completes.</param>
+ <param name="cancellationToken">A CancellationToken that may be used to cancel the task before the due time occurs.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.Int32,System.Threading.CancellationToken)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay in milliseconds before the returned task completes.</param>
+ <param name="cancellationToken">A CancellationToken that may be used to cancel the task before the due time occurs.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskEx.s_preCompletedTask">
+ <summary>An already completed task.</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll(System.Threading.Tasks.Task[])">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll``1(System.Threading.Tasks.Task{``0}[])">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAllCore``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task},System.Action{System.Threading.Tasks.Task[],System.Threading.Tasks.TaskCompletionSource{``0}})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <param name="setResultAction">
+ A callback invoked when all of the tasks complete successfully in the RanToCompletion state.
+ This callback is responsible for storing the results into the TaskCompletionSource.
+ </param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny(System.Threading.Tasks.Task[])">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task})">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny``1(System.Threading.Tasks.Task{``0}[])">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.FromResult``1(``0)">
+ <summary>Creates an already completed <see cref="T:System.Threading.Tasks.Task`1"/> from the specified result.</summary>
+ <param name="result">The result from which to create the completed task.</param>
+ <returns>The completed task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Yield">
+ <summary>Creates an awaitable that asynchronously yields back to the current context when awaited.</summary>
+ <returns>
+ A context that, when awaited, will asynchronously transition back into the current context.
+ If SynchronizationContext.Current is non-null, that is treated as the current context.
+ Otherwise, TaskScheduler.Current is treated as the current context.
+ </returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.AddPotentiallyUnwrappedExceptions(System.Collections.Generic.List{System.Exception}@,System.Exception)">
+ <summary>Adds the target exception to the list, initializing the list if it's null.</summary>
+ <param name="targetList">The list to which to add the exception and initialize if the list is null.</param>
+ <param name="exception">The exception to add, and unwrap if it's an aggregate.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.Extensions.Phone.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.Extensions.Phone.dll
new file mode 100644
index 0000000..1d110cc
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.Extensions.Phone.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.Extensions.Phone.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.Extensions.Phone.xml
new file mode 100644
index 0000000..515d703
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.Extensions.Phone.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks.Extensions.Phone</name>
+ </assembly>
+ <members>
+ <member name="T:AsyncPlatformExtensions">
+ <summary>
+ Provides asynchronous wrappers for .NET Framework operations.
+ </summary>
+ <summary>
+ Provides asynchronous wrappers for .NET Framework operations.
+ </summary>
+ </member>
+ <member name="M:AsyncPlatformExtensions.DownloadStringTaskAsync(System.Net.WebClient,System.String)">
+ <summary>Downloads the resource with the specified URI as a string, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI from which to download data.</param>
+ <returns>A Task that contains the downloaded string.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.DownloadStringTaskAsync(System.Net.WebClient,System.Uri)">
+ <summary>Downloads the resource with the specified URI as a string, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI from which to download data.</param>
+ <returns>A Task that contains the downloaded string.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenReadTaskAsync(System.Net.WebClient,System.String)">
+ <summary>Opens a readable stream for the data downloaded from a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenReadTaskAsync(System.Net.WebClient,System.Uri)">
+ <summary>Opens a readable stream for the data downloaded from a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.String)">
+ <summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.Uri)">
+ <summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.String,System.String)">
+ <summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <param name="method">The HTTP method that should be used to open the stream.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.Uri,System.String)">
+ <summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI for which the stream should be opened.</param>
+ <param name="method">The HTTP method that should be used to open the stream.</param>
+ <returns>A Task that contains the opened stream.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadStringTaskAsync(System.Net.WebClient,System.String,System.String)">
+ <summary>Uploads data in a string to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadStringTaskAsync(System.Net.WebClient,System.Uri,System.String)">
+ <summary>Uploads data in a string to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadStringTaskAsync(System.Net.WebClient,System.String,System.String,System.String)">
+ <summary>Uploads data in a string to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="method">The HTTP method that should be used to upload the data.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.UploadStringTaskAsync(System.Net.WebClient,System.Uri,System.String,System.String)">
+ <summary>Uploads data in a string to the specified resource, asynchronously.</summary>
+ <param name="webClient">The WebClient.</param>
+ <param name="address">The URI to which the data should be uploaded.</param>
+ <param name="method">The HTTP method that should be used to upload the data.</param>
+ <param name="data">The data to upload.</param>
+ <returns>A Task containing the data in the response from the upload.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.GetUri(System.Net.WebClient,System.String)">
+ <summary>Converts a path to a Uri using the WebClient's logic.</summary>
+ <remarks>Based on WebClient's private GetUri method.</remarks>
+ </member>
+ <member name="M:AsyncPlatformExtensions.GetUri(System.Net.WebClient,System.Uri)">
+ <summary>Converts a path to a Uri using the WebClient's logic.</summary>
+ <remarks>Based on WebClient's private GetUri method.</remarks>
+ </member>
+ <member name="M:AsyncPlatformExtensions.InvokeAsync(System.Windows.Threading.Dispatcher,System.Action)">
+ <summary>Asynchronously invokes an Action on the Dispatcher.</summary>
+ <param name="dispatcher">The Dispatcher.</param>
+ <param name="action">The action to invoke.</param>
+ <returns>A Task that represents the execution of the action.</returns>
+ </member>
+ <member name="M:AsyncPlatformExtensions.InvokeAsync``1(System.Windows.Threading.Dispatcher,System.Func{``0})">
+ <summary>Asynchronously invokes an Action on the Dispatcher.</summary>
+ <param name="dispatcher">The Dispatcher.</param>
+ <param name="function">The function to invoke.</param>
+ <returns>A Task that represents the execution of the function.</returns>
+ </member>
+ <member name="T:VoidTaskResult">
+ <summary>Used with Task(of void)</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.Extensions.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.Extensions.dll
new file mode 100644
index 0000000..e911377
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.Extensions.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.Extensions.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.Extensions.xml
new file mode 100644
index 0000000..af646a2
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.Extensions.xml
@@ -0,0 +1,275 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks.Extensions</name>
+ </assembly>
+ <members>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ <member name="T:AsyncExtensions">
+ <summary>
+ Provides asynchronous wrappers for .NET Framework operations.
+ </summary>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
+ <summary>
+ Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+ </summary>
+ <returns>A Task that represents the asynchronous read.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer to read data into. </param>
+ <param name="offset">The byte offset in at which to begin reading. </param>
+ <param name="count">The maximum number of bytes to read. </param>
+ <exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+ </summary>
+ <returns>A Task that represents the asynchronous read.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer to read data into. </param>
+ <param name="offset">The byte offset in at which to begin reading. </param>
+ <param name="count">The maximum number of bytes to read. </param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
+ <summary>
+ Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+ </summary>
+ <returns>A Task that represents the asynchronous write.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer containing data to write to the current stream.</param>
+ <param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
+ <param name="count">The maximum number of bytes to write. </param>
+ <exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
+ <exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
+ <exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+ </summary>
+ <returns>A Task that represents the asynchronous write.</returns>
+ <param name="source">The source.</param>
+ <param name="buffer">The buffer containing data to write to the current stream.</param>
+ <param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
+ <param name="count">The maximum number of bytes to write. </param>
+ <param name="cancellationToken">The cancellation token.</param>
+ <exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
+ <exception cref="T:System.ArgumentNullException"> is null. </exception>
+ <exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
+ <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
+ <exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
+ <exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.Stream)">
+ <summary>
+ Flushes asynchronously the current stream.
+ </summary>
+ <returns>A Task that represents the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.Stream,System.Threading.CancellationToken)">
+ <summary>
+ Flushes asynchronously the current stream.
+ </summary>
+ <returns>A Task that represents the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.CopyToAsyncInternal(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+ <summary>
+ Reads all the bytes from the current stream and writes them to the destination stream.
+ </summary>
+ <param name="source">The source stream.</param>
+ <param name="destination">The stream that will contain the contents of the current stream.</param>
+ <param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
+ <param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
+ <summary>
+ Reads a maximum of count characters from the reader asynchronously and writes
+ the data to buffer, beginning at index.
+ </summary>
+ <param name="buffer">
+ When the operation completes, contains the specified character array with the
+ values between index and (index + count - 1) replaced by the characters read
+ from the current source.
+ </param>
+ <param name="count">
+ The maximum number of characters to read. If the end of the stream is reached
+ before count of characters is read into buffer, the current method returns.
+ </param>
+ <param name="index">The place in buffer at which to begin writing.</param>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadBlockAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
+ <summary>
+ Reads asynchronously a maximum of count characters from the current stream, and writes the
+ data to buffer, beginning at index.
+ </summary>
+ <param name="source">The source reader.</param>
+ <param name="buffer">
+ When this method returns, this parameter contains the specified character
+ array with the values between index and (index + count -1) replaced by the
+ characters read from the current source.
+ </param>
+ <param name="index">The position in buffer at which to begin writing.</param>
+ <param name="count">The maximum number of characters to read.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadLineAsync(System.IO.TextReader)">
+ <summary>
+ Reads a line of characters from the reader and returns the string asynchronously.
+ </summary>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.ReadToEndAsync(System.IO.TextReader)">
+ <summary>
+ Reads all characters from the current position to the end of the TextReader
+ and returns them as one string asynchronously.
+ </summary>
+ <param name="source">the source reader.</param>
+ <returns>A Task that represents the asynchronous operation.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.String)">
+ <summary>Writes a string asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The string to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char)">
+ <summary>Writes a char asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The char to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char[])">
+ <summary>Writes a char array asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteAsync(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+ <summary>Writes a subarray of characters asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <param name="index">Starting index in the buffer.</param>
+ <param name="count">The number of characters to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter)">
+ <summary>Writes a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.String)">
+ <summary>Writes a string followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The string to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char)">
+ <summary>Writes a char followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="value">The char to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char[])">
+ <summary>Writes a char array followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.WriteLineAsync(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
+ <summary>Writes a subarray of characters followed by a line terminator asynchronously to a text stream.</summary>
+ <param name="target">The writer.</param>
+ <param name="buffer">The buffer to write.</param>
+ <param name="index">Starting index in the buffer.</param>
+ <param name="count">The number of characters to write.</param>
+ <returns>A Task representing the asynchronous write.</returns>
+ </member>
+ <member name="M:AsyncExtensions.FlushAsync(System.IO.TextWriter)">
+ <summary>
+ Clears all buffers for the current writer and causes any buffered data to
+ be written to the underlying device.
+ </summary>
+ <param name="target">The writer.</param>
+ <returns>A Task representing the asynchronous flush.</returns>
+ </member>
+ <member name="M:AsyncExtensions.GetResponseAsync(System.Net.WebRequest)">
+ <summary>Starts an asynchronous request for a web resource.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.InvalidOperationException">The stream is already in use by a previous call to . </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ <member name="M:AsyncExtensions.GetRequestStreamAsync(System.Net.WebRequest)">
+ <summary>Starts an asynchronous request for a object to use to write data.</summary>
+ <returns>Task that represents the asynchronous request.</returns>
+ <exception cref="T:System.Net.ProtocolViolationException">The property is GET and the application writes to the stream. </exception>
+ <exception cref="T:System.InvalidOperationException">The stream is being used by a previous call to . </exception>
+ <exception cref="T:System.ApplicationException">No write stream is available. </exception>
+ <PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
+ <param name="source">The source.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.dll
new file mode 100644
index 0000000..065d746
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.xml b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.xml
new file mode 100644
index 0000000..5c22030
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Async.1.0.16/lib/wp8/Microsoft.Threading.Tasks.xml
@@ -0,0 +1,630 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Microsoft.Threading.Tasks</name>
+ </assembly>
+ <members>
+ <member name="T:AwaitExtensions">
+ <summary>
+ Provides extension methods for threading-related types.
+ </summary>
+ </member>
+ <member name="M:AwaitExtensions.CancelAfter(System.Threading.CancellationTokenSource,System.Int32)">
+ <summary>Cancels the <see cref="T:System.Threading.CancellationTokenSource"/> after the specified duration.</summary>
+ <param name="source">The CancellationTokenSource.</param>
+ <param name="dueTime">The due time in milliseconds for the source to be canceled.</param>
+ </member>
+ <member name="M:AwaitExtensions.CancelAfter(System.Threading.CancellationTokenSource,System.TimeSpan)">
+ <summary>Cancels the <see cref="T:System.Threading.CancellationTokenSource"/> after the specified duration.</summary>
+ <param name="source">The CancellationTokenSource.</param>
+ <param name="dueTime">The due time for the source to be canceled.</param>
+ </member>
+ <member name="M:AwaitExtensions.GetAwaiter(System.Threading.Tasks.Task)">
+ <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <param name="task">The task to await.</param>
+ <returns>An awaiter instance.</returns>
+ </member>
+ <member name="M:AwaitExtensions.GetAwaiter``1(System.Threading.Tasks.Task{``0})">
+ <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <typeparam name="TResult">Specifies the type of data returned by the task.</typeparam>
+ <param name="task">The task to await.</param>
+ <returns>An awaiter instance.</returns>
+ </member>
+ <member name="M:AwaitExtensions.ConfigureAwait(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Creates and configures an awaitable object for awaiting the specified task.</summary>
+ <param name="task">The task to be awaited.</param>
+ <param name="continueOnCapturedContext">
+ true to automatic marshag back to the original call site's current SynchronizationContext
+ or TaskScheduler; otherwise, false.
+ </param>
+ <returns>The instance to be awaited.</returns>
+ </member>
+ <member name="M:AwaitExtensions.ConfigureAwait``1(System.Threading.Tasks.Task{``0},System.Boolean)">
+ <summary>Creates and configures an awaitable object for awaiting the specified task.</summary>
+ <param name="task">The task to be awaited.</param>
+ <param name="continueOnCapturedContext">
+ true to automatic marshag back to the original call site's current SynchronizationContext
+ or TaskScheduler; otherwise, false.
+ </param>
+ <returns>The instance to be awaited.</returns>
+ </member>
+ <member name="T:Microsoft.ProgressEventHandler`1">
+ <summary>Event handler for progress reports.</summary>
+ <typeparam name="T">Specifies the type of data for the progress report.</typeparam>
+ <param name="sender">The sender of the report.</param>
+ <param name="value">The reported value.</param>
+ </member>
+ <member name="T:Microsoft.Progress`1">
+ <summary>
+ Provides an IProgress{T} that invokes callbacks for each reported progress value.
+ </summary>
+ <typeparam name="T">Specifies the type of the progress report value.</typeparam>
+ <remarks>
+ Any handler provided to the constructor or event handlers registered with
+ the <see cref="E:Microsoft.Progress`1.ProgressChanged"/> event are invoked through a
+ <see cref="T:System.Threading.SynchronizationContext"/> instance captured
+ when the instance is constructed. If there is no current SynchronizationContext
+ at the time of construction, the callbacks will be invoked on the ThreadPool.
+ </remarks>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_synchronizationContext">
+ <summary>The synchronization context captured upon construction. This will never be null.</summary>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_handler">
+ <summary>The handler specified to the constructor. This may be null.</summary>
+ </member>
+ <member name="F:Microsoft.Progress`1.m_invokeHandlers">
+ <summary>A cached delegate used to post invocation to the synchronization context.</summary>
+ </member>
+ <member name="M:Microsoft.Progress`1.#ctor">
+ <summary>Initializes the <see cref="T:Microsoft.Progress`1"/>.</summary>
+ </member>
+ <member name="M:Microsoft.Progress`1.#ctor(System.Action{`0})">
+ <summary>Initializes the <see cref="T:Microsoft.Progress`1"/> with the specified callback.</summary>
+ <param name="handler">
+ A handler to invoke for each reported progress value. This handler will be invoked
+ in addition to any delegates registered with the <see cref="E:Microsoft.Progress`1.ProgressChanged"/> event.
+ </param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="handler"/> is null (Nothing in Visual Basic).</exception>
+ </member>
+ <member name="M:Microsoft.Progress`1.OnReport(`0)">
+ <summary>Reports a progress change.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="M:Microsoft.Progress`1.System#IProgress{T}#Report(`0)">
+ <summary>Reports a progress change.</summary>
+ <param name="value">The value of the updated progress.</param>
+ </member>
+ <member name="M:Microsoft.Progress`1.InvokeHandlers(System.Object)">
+ <summary>Invokes the action and event callbacks.</summary>
+ <param name="state">The progress value.</param>
+ </member>
+ <member name="E:Microsoft.Progress`1.ProgressChanged">
+ <summary>Raised for each reported progress value.</summary>
+ <remarks>
+ Handlers registered with this event will be invoked on the
+ <see cref="T:System.Threading.SynchronizationContext"/> captured when the instance was constructed.
+ </remarks>
+ </member>
+ <member name="T:Microsoft.ProgressStatics">
+ <summary>Holds static values for <see cref="T:Microsoft.Progress`1"/>.</summary>
+ <remarks>This avoids one static instance per type T.</remarks>
+ </member>
+ <member name="F:Microsoft.ProgressStatics.DefaultContext">
+ <summary>A default synchronization context that targets the ThreadPool.</summary>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
+ <summary>Throws the exception on the ThreadPool.</summary>
+ <param name="exception">The exception to propagate.</param>
+ <param name="targetContext">The target context on which to propagate the exception. Null to use the ThreadPool.</param>
+ </member>
+ <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable">
+ <summary>Provides an awaitable object that allows for configured awaits on <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.m_configuredTaskAwaiter">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.#ctor(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.GetAwaiter">
+ <summary>Gets an awaiter for this awaitable.</summary>
+ <returns>The awaiter.</returns>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter">
+ <summary>Provides an awaiter for a <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.m_continueOnCapturedContext">
+ <summary>Whether to attempt marshaling back to the original context.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.#ctor(System.Threading.Tasks.Task,System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task"/> to await.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured
+ when BeginAwait is called; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1">
+ <summary>Provides an awaitable object that allows for configured awaits on <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.m_configuredTaskAwaiter">
+ <summary>The underlying awaitable on whose logic this awaitable relies.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.#ctor(System.Threading.Tasks.Task{`0},System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task`1"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.GetAwaiter">
+ <summary>Gets an awaiter for this awaitable.</summary>
+ <returns>The awaiter.</returns>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter">
+ <summary>Provides an awaiter for a <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.m_continueOnCapturedContext">
+ <summary>Whether to attempt marshaling back to the original context.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.#ctor(System.Threading.Tasks.Task{`0},System.Boolean)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter"/>.</summary>
+ <param name="task">The awaitable <see cref="T:System.Threading.Tasks.Task`1"/>.</param>
+ <param name="continueOnCapturedContext">
+ true to attempt to marshal the continuation back to the original context captured; otherwise, false.
+ </param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.TaskAwaiter">
+ <summary>Provides an awaiter for awaiting a <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.CONTINUE_ON_CAPTURED_CONTEXT_DEFAULT">
+ <summary>The default value to use for continueOnCapturedContext.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.InvalidOperationException_TaskNotCompleted">
+ <summary>Error message for GetAwaiter.</summary>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.#ctor(System.Threading.Tasks.Task)">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task"/> to be awaited.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(System.Threading.Tasks.Task)">
+ <summary>
+ Fast checks for the end of an await operation to determine whether more needs to be done
+ prior to completing the await.
+ </summary>
+ <param name="task">The awaited task.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(System.Threading.Tasks.Task)">
+ <summary>Handles validations on tasks that aren't successfully completed.</summary>
+ <param name="task">The awaited task.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)">
+ <summary>Throws an exception to handle a task that completed in a state other than RanToCompletion.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.OnCompletedInternal(System.Threading.Tasks.Task,System.Action,System.Boolean)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="task">The awaited task.</param>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.RunNoException(System.Action)">
+ <summary>Invokes the delegate in a try/catch that will propagate the exception asynchronously on the ThreadPool.</summary>
+ <param name="continuation"></param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter.PrepareExceptionForRethrow(System.Exception)">
+ <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
+ <param name="exc">The exception to prepare.</param>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter.IsValidLocationForInlining">
+ <summary>Whether the current thread is appropriate for inlining the await continuation.</summary>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.TaskAwaiter`1">
+ <summary>Provides an awaiter for awaiting a <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.m_task">
+ <summary>The task being awaited.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.#ctor(System.Threading.Tasks.Task{`0})">
+ <summary>Initializes the <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter`1"/>.</summary>
+ <param name="task">The <see cref="T:System.Threading.Tasks.Task`1"/> to be awaited.</param>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.OnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.UnsafeOnCompleted(System.Action)">
+ <summary>Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this <see cref="T:Microsoft.Runtime.CompilerServices.TaskAwaiter"/>.</summary>
+ <param name="continuation">The action to invoke when the await operation completes.</param>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.GetResult">
+ <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+ <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ <exception cref="T:System.InvalidOperationException">The task was not yet completed.</exception>
+ <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+ <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.TaskAwaiter`1.IsCompleted">
+ <summary>Gets whether the task being awaited is completed.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.YieldAwaitable">
+ <summary>Provides an awaitable context for switching into a target environment.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.GetAwaiter">
+ <summary>Gets an awaiter for this <see cref="T:Microsoft.Runtime.CompilerServices.YieldAwaitable"/>.</summary>
+ <returns>An awaiter for this awaitable.</returns>
+ <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="T:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter">
+ <summary>Provides an awaiter that switches into a target environment.</summary>
+ <remarks>This type is intended for compiler use only.</remarks>
+ </member>
+ <member name="F:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.s_completed">
+ <summary>A completed task.</summary>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.OnCompleted(System.Action)">
+ <summary>Posts the <paramref name="continuation"/> back to the current context.</summary>
+ <param name="continuation">The action to invoke asynchronously.</param>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.UnsafeOnCompleted(System.Action)">
+ <summary>Posts the <paramref name="continuation"/> back to the current context.</summary>
+ <param name="continuation">The action to invoke asynchronously.</param>
+ <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+ </member>
+ <member name="M:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.GetResult">
+ <summary>Ends the await operation.</summary>
+ </member>
+ <member name="P:Microsoft.Runtime.CompilerServices.YieldAwaitable.YieldAwaiter.IsCompleted">
+ <summary>Gets whether a yield is not required.</summary>
+ <remarks>This property is intended for compiler user rather than use directly in code.</remarks>
+ </member>
+ <member name="T:System.Threading.Tasks.TaskEx">
+ <summary>Provides methods for creating and manipulating tasks.</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Action)">
+ <summary>Creates a task that runs the specified action.</summary>
+ <param name="action">The action to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Action,System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified action.</summary>
+ <param name="action">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to request cancellation of this task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{``0})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{``0},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to cancel the task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Func{System.Threading.Tasks.Task})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run(System.Func{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to request cancellation of this task.</param>
+ <returns>A task that represents the completion of the function.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The function to execute asynchronously.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Run``1(System.Func{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
+ <summary>Creates a task that runs the specified function.</summary>
+ <param name="function">The action to execute.</param>
+ <param name="cancellationToken">The CancellationToken to use to cancel the task.</param>
+ <returns>A task that represents the completion of the action.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="function"/> argument is null.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.Int32)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay in milliseconds before the returned task completes.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.TimeSpan)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay before the returned task completes.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.TimeSpan,System.Threading.CancellationToken)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay before the returned task completes.</param>
+ <param name="cancellationToken">A CancellationToken that may be used to cancel the task before the due time occurs.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Delay(System.Int32,System.Threading.CancellationToken)">
+ <summary>Starts a Task that will complete after the specified due time.</summary>
+ <param name="dueTime">The delay in milliseconds before the returned task completes.</param>
+ <param name="cancellationToken">A CancellationToken that may be used to cancel the task before the due time occurs.</param>
+ <returns>The timed Task.</returns>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ The <paramref name="dueTime"/> argument must be non-negative or -1 and less than or equal to Int32.MaxValue.
+ </exception>
+ </member>
+ <member name="F:System.Threading.Tasks.TaskEx.s_preCompletedTask">
+ <summary>An already completed task.</summary>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll(System.Threading.Tasks.Task[])">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll``1(System.Threading.Tasks.Task{``0}[])">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAll``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <remarks>
+ If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information
+ about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned
+ Task will also be canceled.
+ </remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAllCore``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task},System.Action{System.Threading.Tasks.Task[],System.Threading.Tasks.TaskCompletionSource{``0}})">
+ <summary>Creates a Task that will complete only when all of the provided collection of Tasks has completed.</summary>
+ <param name="tasks">The Tasks to monitor for completion.</param>
+ <param name="setResultAction">
+ A callback invoked when all of the tasks complete successfully in the RanToCompletion state.
+ This callback is responsible for storing the results into the TaskCompletionSource.
+ </param>
+ <returns>A Task that represents the completion of all of the provided tasks.</returns>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny(System.Threading.Tasks.Task[])">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task})">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny``1(System.Threading.Tasks.Task{``0}[])">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.WhenAny``1(System.Collections.Generic.IEnumerable{System.Threading.Tasks.Task{``0}})">
+ <summary>Creates a Task that will complete when any of the tasks in the provided collection completes.</summary>
+ <param name="tasks">The Tasks to be monitored.</param>
+ <returns>
+ A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result.
+ </returns>
+ <remarks>Any Tasks that fault will need to have their exceptions observed elsewhere.</remarks>
+ <exception cref="T:System.ArgumentNullException">The <paramref name="tasks"/> argument is null.</exception>
+ <exception cref="T:System.ArgumentException">The <paramref name="tasks"/> argument contains a null reference.</exception>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.FromResult``1(``0)">
+ <summary>Creates an already completed <see cref="T:System.Threading.Tasks.Task`1"/> from the specified result.</summary>
+ <param name="result">The result from which to create the completed task.</param>
+ <returns>The completed task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.Yield">
+ <summary>Creates an awaitable that asynchronously yields back to the current context when awaited.</summary>
+ <returns>
+ A context that, when awaited, will asynchronously transition back into the current context.
+ If SynchronizationContext.Current is non-null, that is treated as the current context.
+ Otherwise, TaskScheduler.Current is treated as the current context.
+ </returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskEx.AddPotentiallyUnwrappedExceptions(System.Collections.Generic.List{System.Exception}@,System.Exception)">
+ <summary>Adds the target exception to the list, initializing the list if it's null.</summary>
+ <param name="targetList">The list to which to add the exception and initialize if the list is null.</param>
+ <param name="exception">The exception to add, and unwrap if it's an aggregate.</param>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.FromCancellation``1(System.Threading.CancellationToken)">
+ <summary>Returns a canceled task.</summary>
+ <typeparam name="TResult">Specifies the type of the result.</typeparam>
+ <param name="cancellationToken">The cancellation token.</param>
+ <returns>The canceled task.</returns>
+ </member>
+ <member name="M:System.Threading.Tasks.TaskServices.HandleEapCompletion``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Boolean,System.ComponentModel.AsyncCompletedEventArgs,System.Func{``0},System.Action)">
+ <summary>
+ Completes the Task if the user state matches the TaskCompletionSource.
+ </summary>
+ <typeparam name="T">Specifies the type of data returned by the Task.</typeparam>
+ <param name="tcs">The TaskCompletionSource.</param>
+ <param name="e">The completion event arguments.</param>
+ <param name="requireMatch">Whether we require the tcs to match the e.UserState.</param>
+ <param name="getResult">A function that gets the result with which to complete the task.</param>
+ <param name="unregisterHandler">An action used to unregister work when the operaiton completes.</param>
+ </member>
+ </members>
+</doc>
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/License-Stable.rtf b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/License-Stable.rtf
new file mode 100644
index 0000000..350fcf6
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/License-Stable.rtf
@@ -0,0 +1,505 @@
+{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff41\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs1025{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
+{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
+{\f11\fbidi \fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt ?l?r ??\'81\'66c};}{\f13\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}SimSun{\*\falt ???\'a1\'ec??};}
+{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 00000000000000000000}Cambria Math;}{\f40\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0603020202020204}Trebuchet MS{\*\falt Arial};}
+{\f41\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma{\*\falt ?? ??};}{\f42\fbidi \fnil\fcharset134\fprq2{\*\panose 00000000000000000000}@SimSun;}{\f43\fbidi \fmodern\fcharset128\fprq1{\*\panose 00000000000000000000}@MS Mincho;}
+{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 00000000000000000000}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}{\f46\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\f47\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f49\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f50\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f51\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\f52\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f53\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f54\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f66\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}
+{\f67\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f69\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f70\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f71\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
+{\f72\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f73\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f74\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}
+{\f158\fbidi \fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt ?l?r ??\'81\'66c};}{\f156\fbidi \fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt ?l?r ??\'81\'66c};}{\f157\fbidi \fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt ?l?r ??\'81\'66c};}
+{\f159\fbidi \fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt ?l?r ??\'81\'66c};}{\f160\fbidi \fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt ?l?r ??\'81\'66c};}{\f163\fbidi \fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt ?l?r ??\'81\'66c};}
+{\f178\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt ???\'a1\'ec??};}{\f386\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f387\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f389\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}
+{\f390\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f393\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f394\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f446\fbidi \fswiss\fcharset238\fprq2 Trebuchet MS CE{\*\falt Arial};}
+{\f447\fbidi \fswiss\fcharset204\fprq2 Trebuchet MS Cyr{\*\falt Arial};}{\f449\fbidi \fswiss\fcharset161\fprq2 Trebuchet MS Greek{\*\falt Arial};}{\f450\fbidi \fswiss\fcharset162\fprq2 Trebuchet MS Tur{\*\falt Arial};}
+{\f453\fbidi \fswiss\fcharset186\fprq2 Trebuchet MS Baltic{\*\falt Arial};}{\f456\fbidi \fswiss\fcharset238\fprq2 Tahoma CE{\*\falt ?? ??};}{\f457\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr{\*\falt ?? ??};}
+{\f459\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek{\*\falt ?? ??};}{\f460\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur{\*\falt ?? ??};}{\f461\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew){\*\falt ?? ??};}
+{\f462\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic){\*\falt ?? ??};}{\f463\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic{\*\falt ?? ??};}{\f464\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese){\*\falt ?? ??};}
+{\f465\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai){\*\falt ?? ??};}{\f468\fbidi \fnil\fcharset0\fprq2 @SimSun Western;}{\f478\fbidi \fmodern\fcharset0\fprq1 @MS Mincho Western;}{\f476\fbidi \fmodern\fcharset238\fprq1 @MS Mincho CE;}
+{\f477\fbidi \fmodern\fcharset204\fprq1 @MS Mincho Cyr;}{\f479\fbidi \fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f480\fbidi \fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f483\fbidi \fmodern\fcharset186\fprq1 @MS Mincho Baltic;}
+{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
+{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
+{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
+{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}
+{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}
+{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
+{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
+{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
+{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
+{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
+{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
+{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
+{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \fswiss\fcharset238\fprq2 Arial CE;}{\fbiminor\f31579\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}
+{\fbiminor\f31581\fbidi \fswiss\fcharset161\fprq2 Arial Greek;}{\fbiminor\f31582\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\fbiminor\f31583\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}
+{\fbiminor\f31584\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\fbiminor\f31585\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}{\fbiminor\f31586\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;
+\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;
+\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\ctextone\ctint255\cshade255\red0\green0\blue0;}{\*\defchp \f31506\fs22 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \sautoupd \sqformat \spriority0 \styrsid15686224 Normal;}{\s1\ql \fi-357\li357\ri0\sb120\sa120\widctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext1 \slink15 \sqformat \styrsid15686224 heading 1;}{\s2\ql \fi-363\li720\ri0\sb120\sa120\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0 \rtlch\fcs1
+\ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext2 \slink16 \sqformat \styrsid15686224 heading 2;}{\s3\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
+\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext3 \slink17 \sqformat \styrsid15686224 heading 3;}{\s4\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl3\outlinelevel3\adjustright\rin0\lin1435\itap0 \rtlch\fcs1
+\af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext4 \slink18 \sqformat \styrsid15686224 heading 4;}{\s5\ql \fi-357\li1792\ri0\sb120\sa120\widctlpar
+\tx1792\jclisttab\tx2155\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl4\outlinelevel4\adjustright\rin0\lin1792\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext5 \slink19 \sqformat \styrsid15686224 heading 5;}{\s6\ql \fi-357\li2149\ri0\sb120\sa120\widctlpar\jclisttab\tx2152\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl5\outlinelevel5\adjustright\rin0\lin2149\itap0 \rtlch\fcs1
+\af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext6 \slink20 \sqformat \styrsid15686224 heading 6;}{\s7\ql \fi-357\li2506\ri0\sb120\sa120\widctlpar
+\jclisttab\tx2509\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl6\outlinelevel6\adjustright\rin0\lin2506\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext7 \slink21 \sqformat \styrsid15686224 heading 7;}{\s8\ql \fi-357\li2863\ri0\sb120\sa120\widctlpar\jclisttab\tx2866\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl7\outlinelevel7\adjustright\rin0\lin2863\itap0 \rtlch\fcs1
+\af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext8 \slink22 \sqformat \styrsid15686224 heading 8;}{\s9\ql \fi-358\li3221\ri0\sb120\sa120\widctlpar
+\jclisttab\tx3223\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl8\outlinelevel8\adjustright\rin0\lin3221\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext9 \slink23 \sqformat \styrsid15686224 heading 9;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
+\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31506\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{\*\cs15 \additive
+\rtlch\fcs1 \ab\af41\afs19 \ltrch\fcs0 \b\fs19\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink1 \slocked \styrsid15686224 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\af41\afs19 \ltrch\fcs0 \b\fs19\loch\f41\hich\af41\dbch\af11
+\sbasedon10 \slink2 \slocked \styrsid15686224 Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \af41\afs19 \ltrch\fcs0 \fs19\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink3 \slocked \styrsid15686224 Heading 3 Char;}{\*\cs18 \additive \rtlch\fcs1
+\af41\afs19 \ltrch\fcs0 \fs19\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink4 \slocked \styrsid15686224 Heading 4 Char;}{\*\cs19 \additive \rtlch\fcs1 \af41\afs19 \ltrch\fcs0 \fs19\loch\f41\hich\af41\dbch\af11
+\sbasedon10 \slink5 \slocked \styrsid15686224 Heading 5 Char;}{\*\cs20 \additive \rtlch\fcs1 \af41\afs19 \ltrch\fcs0 \fs19\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink6 \slocked \styrsid15686224 Heading 6 Char;}{\*\cs21 \additive \rtlch\fcs1
+\af41\afs19 \ltrch\fcs0 \fs19\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink7 \slocked \styrsid15686224 Heading 7 Char;}{\*\cs22 \additive \rtlch\fcs1 \af41\afs19 \ltrch\fcs0 \fs19\loch\f41\hich\af41\dbch\af11
+\sbasedon10 \slink8 \slocked \styrsid15686224 Heading 8 Char;}{\*\cs23 \additive \rtlch\fcs1 \af41\afs19 \ltrch\fcs0 \fs19\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink9 \slocked \styrsid15686224 Heading 9 Char;}{
+\s24\ql \li357\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext24 \styrsid15686224 Body 1;}{\s25\ql \fi-363\li720\ri0\sb120\sa120\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext25 \styrsid15686224 Bullet 2;}{\s26\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar
+\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin1435\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext26 \styrsid15686224 Bullet 4;}{\s27\ql \fi-357\li1792\ri0\sb120\sa120\widctlpar\jclisttab\tx1795\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin1792\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext27 \styrsid15686224 Bullet 5;}{\s28\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1
+\ab\af41\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \styrsid15686224 Heading EULA;}{\s29\ql \li0\ri0\sb120\sa120\widctlpar\brdrb\brdrs\brdrw10\brsp20
+\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af41\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \styrsid15686224
+Heading Software Title;}{\s30\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext30 \styrsid15686224 Preamble;}{\s31\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
+\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls4\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon3 \snext31 \slink38 \styrsid15686224 Heading 3 Bold;}{\s32\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin1435\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0
+\fs19\ul\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon26 \snext32 \styrsid15686224 Bullet 4 Underline;}{\*\cs33 \additive \rtlch\fcs1 \af41 \ltrch\fcs0 \f41\lang1033\langfe1033\langnp1033\langfenp1033
+\sbasedon10 \styrsid15686224 Body 2 Char;}{\*\cs34 \additive \rtlch\fcs1 \af41 \ltrch\fcs0 \f41\lang1033\langfe1033\langnp1033\langfenp1033 \sbasedon10 \styrsid15686224 Body 3 Char;}{\s35\ql \li0\ri0\sb120\sa120\widctlpar\brdrt\brdrs\brdrw10\brsp20
+\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon30 \snext35 \styrsid15686224
+Preamble Border Above;}{\*\cs36 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf2 \sbasedon10 \styrsid15686224 Hyperlink,Char Char7;}{\s37\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1
+\ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \slink39 \styrsid15686224 Body 0 Bold;}{\*\cs38 \additive \rtlch\fcs1 \ab\af41\afs19 \ltrch\fcs0
+\b\fs19\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink31 \slocked \styrsid15686224 Heading 3 Bold Char;}{\*\cs39 \additive \rtlch\fcs1 \ab\af41\afs19 \ltrch\fcs0 \b\fs19\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink37 \slocked \styrsid15686224
+Body 0 Bold Char;}{\*\cs40 \additive \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \f41\fs20 \sbasedon10 \slink41 \slocked \styrsid15686224 Bullet 3 Char1;}{\s41\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls7\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af41\afs20\alang1025 \ltrch\fcs0 \f41\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext41 \slink40 \styrsid15686224 Bullet 3;}{
+\s42\ql \fi-357\li357\ri0\sb120\sa120\widctlpar\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls9\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \af41\afs20\alang1025 \ltrch\fcs0 \f41\fs20\ul\lang1033\langfe1033\cgrid\langnp1033\langfenp1033
+\sbasedon41 \snext42 \sautoupd \styrsid15686224 Bullet 3 Underline;}{\s43\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af41\afs16\alang1025 \ltrch\fcs0
+\fs16\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext43 \slink44 \ssemihidden \sunhideused \styrsid3699522 Balloon Text;}{\*\cs44 \additive \rtlch\fcs1 \af41\afs16 \ltrch\fcs0
+\fs16\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink43 \slocked \ssemihidden \styrsid3699522 Balloon Text Char;}{\*\cs45 \additive \rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \fs16 \sbasedon10 \ssemihidden \sunhideused \styrsid3699522 annotation reference;}{
+\s46\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af41\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext46 \slink47 \ssemihidden \sunhideused \styrsid3699522 annotation text;}{\*\cs47 \additive \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink46 \slocked \ssemihidden \styrsid3699522
+Comment Text Char;}{\s48\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af41\afs20\alang1025 \ltrch\fcs0
+\b\fs20\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon46 \snext46 \slink49 \ssemihidden \sunhideused \styrsid3699522 annotation subject;}{\*\cs49 \additive \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0
+\b\fs20\loch\f41\hich\af41\dbch\af11 \sbasedon47 \slink48 \slocked \ssemihidden \styrsid3699522 Comment Subject Char;}}{\*\listtable{\list\listtemplateid1928476992{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af40\afs20 \ltrch\fcs0 \b\i0\f40\fs20\fbias0 \fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af40\afs20 \ltrch\fcs0 \b\i0\f40\fs20\fbias0 \fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af41\afs20 \ltrch\fcs0 \b\i0\f41\fs20\fbias0 \s31\fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\strike0\f40\fs20\ulnone\fbias0 \fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc1\levelnfcn1\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\strike0\f40\fs20\ulnone\fbias0 \fi-357\li1792\jclisttab\tx2155\lin1792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid398796681}
+{\list\listtemplateid789093748\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-317712510\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s25\fi-363\li720
+\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23
+\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691
+\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}
+\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid477573462}{\list\listtemplateid1904874988{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers
+\'01;}\rtlch\fcs1 \ab\ai0\af41\afs20 \ltrch\fcs0 \b\i0\f41\fs20\cf0\fbias0 \s1\fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'01.;}{\levelnumbers
+\'01;}\rtlch\fcs1 \ab\ai0\af41\afs20 \ltrch\fcs0 \b\i0\f41\fs20\fbias0 \s2\fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'02.;}{\levelnumbers
+\'01;}\rtlch\fcs1 \ab\ai0\af41\afs20 \ltrch\fcs0 \b\i0\f41\fs20\fbias0 \s3\fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'03.;}{\levelnumbers
+\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\strike0\f40\fs20\ulnone\fbias0 \s4\fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc1\levelnfcn1\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\strike0\f40\fs20\ulnone\fbias0 \s5\fi-357\li1792\jclisttab\tx2155\lin1792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s6\fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s7\fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s8\fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s9\fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid752163927}{\list\listtemplateid285099256
+\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-308626962\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s42\fi-357\li1077\jclisttab\tx1080\lin1077 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689
+\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}
+\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480
+\jclisttab\tx6480\lin6480 }{\listname ;}\listid1121073746}{\list\listtemplateid303218272\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid612407812
+\'01\u-3913 ?;}{\levelnumbers;}\f3\cf17\fbias0 \s26\fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0
+\fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0
+\fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23
+\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1559511898}{\list\listtemplateid-743794326\listhybrid
+{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid1229593488\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s41\fi-357\li1077\jclisttab\tx1080\lin1077 }{\listlevel\levelnfc23
+\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}
+\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760
+\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }
+{\listname ;}\listid1567649130}{\list\listtemplateid-961874242\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-1175557160\'01\u-3913 ?;}{\levelnumbers;}
+\f3\fbias0 \s27\fi-357\li1792\jclisttab\tx1795\lin1792 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440
+\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }
+{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23
+\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1848404271}}{\*\listoverridetable{\listoverride\listid477573462\listoverridecount0\ls1}{\listoverride\listid1559511898\listoverridecount0\ls2}
+{\listoverride\listid1848404271\listoverridecount0\ls3}{\listoverride\listid398796681\listoverridecount0\ls4}{\listoverride\listid752163927\listoverridecount0\ls5}{\listoverride\listid398796681\listoverridecount9{\lfolevel\listoverridestartat
+\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel
+\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}\ls6}{\listoverride\listid1567649130\listoverridecount0\ls7}{\listoverride\listid1559511898\listoverridecount0\ls8}
+{\listoverride\listid1121073746\listoverridecount0\ls9}{\listoverride\listid752163927\listoverridecount0\ls10}}{\*\pgptbl {\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp5\itap0\li0\ri0\sb0\sa300}{\pgp\ipgp2\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0
+\sa0}{\pgp\ipgp7\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp1\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp6\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid874403\rsid1473980\rsid2177578\rsid2693076\rsid3699522\rsid4000782\rsid4423363\rsid6097754\rsid7214391\rsid8995160\rsid12062545
+\rsid13846008\rsid14566738\rsid14751308\rsid15014299\rsid15467703\rsid15686224\rsid15928942\rsid15934954}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author kathan}
+{\operator Alok Shriram}{\creatim\yr2013\mo3\dy20\hr15\min24}{\revtim\yr2013\mo3\dy20\hr15\min30}{\version4}{\edmins1}{\nofpages4}{\nofwords1340}{\nofchars7643}{\*\company Microsoft Corporation}{\nofcharsws8966}{\vern57427}}{\*\xmlnstbl {\xmlns1 http://sc
+hemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect
+\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen
+\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1440\dgvorigin1440\dghshow1\dgvshow1
+\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
+\asianbrkrule\rsidroot15686224\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0
+{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang
+{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang
+{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
+\pard\plain \ltrpar\s28\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs28\alang1025 \ltrch\fcs0
+\b\fs28\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 MICROSOFT SOFTWARE LICENSE TERMS
+\par }\pard\plain \ltrpar\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14566738 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid15686224\charrsid7214391 \hich\af41\dbch\af13\loch\f41 MICROSOFT }{\rtlch\fcs1 \ab\af41\afs20
+\ltrch\fcs0 \b\fs20\dbch\af13\insrsid13846008 \hich\af41\dbch\af13\loch\f41 BCL Build Component}{\rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid14566738 \hich\af41\dbch\af13\loch\f41 .dll }{\rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0
+\b\fs20\dbch\af13\insrsid7214391\charrsid7214391 \hich\af41\dbch\af13\loch\f41 PACKAGE}{\rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid15686224\charrsid7214391 \hich\af41\dbch\af13\loch\f41 }{\rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0
+\b\fs20\dbch\af13\insrsid14751308\charrsid7214391
+\par }\pard\plain \ltrpar\s29\ql \li0\ri0\sb120\sa120\nowidctlpar\brdrb\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs28\alang1025 \ltrch\fcs0
+\b\fs28\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\par }\pard\plain \ltrpar\s30\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41
+These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms
+\hich\af41\dbch\af13\loch\f41 a\hich\af41\dbch\af13\loch\f41 lso apply to any Microsoft
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s25\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin360\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 updates,
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 supplements,
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 Internet-based services, and
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 support services
+\par }\pard\plain \ltrpar\s30\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41
+for this software, unless other terms accompany those items. If so, those terms apply.
+\par }{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEP\hich\af41\dbch\af13\loch\f41 T THEM, DO NOT USE THE SOFTWARE.
+\par }\pard\plain \ltrpar\s35\ql \li0\ri0\sb120\sa120\nowidctlpar\brdrt\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\insrsid15686224 \hich\af41\dbch\af11\loch\f41 IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE PERPETUAL RIGHTS BELOW.}{
+\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 1.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid14566738 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 INSTALLATION AND USE RIGHTS. }{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid14566738 \hich\af41\dbch\af13\loch\f41 You}{\rtlch\fcs1
+\ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid14566738\charrsid15934954 \hich\af41\dbch\af13\loch\f41 may install and use any number of copies of the software on your devices to design, develop and test your pr\hich\af41\dbch\af13\loch\f41 ograms
+}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid14566738 .}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224\charrsid14566738 \hich\af41\dbch\af13\loch\f41 2.\tab}}{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0
+\fs20\dbch\af13\insrsid15686224\charrsid14566738 \hich\af41\dbch\af13\loch\f41 DISTRIBUTABLE CODE. }{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid14566738 \hich\af41\dbch\af13\loch\f41 }{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0
+\b0\fs20\dbch\af13\insrsid15686224\charrsid14566738 \hich\af41\dbch\af13\loch\f41 \hich\f41 The software is comprised of Distributable Code. \'93\loch\f41 \hich\f41 Distributable Code\'94\loch\f41
+ is code that you are permitted to distribute in programs you develop if you comply with the terms below.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 a.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls6\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 Right to Use and Distribute.
+\par {\listtext\pard\plain\ltrpar \s42 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s42\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls9\adjustright\rin0\lin1077\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs20\alang1025 \ltrch\fcs0 \f41\fs20\ul\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41 \ltrch\fcs0
+\ulnone\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 Yo\hich\af41\dbch\af13\loch\f41 u may copy and distribute the object code form of the software.
+\par {\listtext\pard\plain\ltrpar \s42 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af41 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41
+Third Party Distribution}{\rtlch\fcs1 \af41 \ltrch\fcs0 \ulnone\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 . You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 b.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls6\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 Distribution Requirements. For any Distribu\hich\af41\dbch\af13\loch\f41
+table Code you distribute, you must
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s41\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls7\adjustright\rin0\lin1077\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs20\alang1025 \ltrch\fcs0 \f41\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41 \ltrch\fcs0
+\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 add significant primary functionality to it in your programs;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41
+for any Distributable Code having a filename extension of .lib, distribute only the results of running such Distributable Code through a linker with your \hich\af41\dbch\af13\loch\f41 program;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41
+distribute Distributable Code included in a setup program only as part of that setup program without modification;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41
+require distributors and external end users to agree to terms that protect it at least as much as this agreement;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 display your valid copyright notice on your programs; and
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41
+indemnify, defend, and hold harmless Microsoft from any claims, including attorneys\hich\f41 \rquote \loch\f41 fees, related to the distribution or use of your programs.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 c.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls6\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 Distribution Restrictions. You may not
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s41\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls7\adjustright\rin0\lin1077\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs20\alang1025 \ltrch\fcs0 \f41\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41 \ltrch\fcs0
+\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 alter an\hich\af41\dbch\af13\loch\f41 y copyright, trademark or patent notice in the Distributable Code;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 use Microsoft\hich\f41 \rquote \loch\f41
+s trademarks in your programs\hich\f41 \rquote \loch\f41 names or in a way that suggests your programs come from or are endorsed by Microsoft;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 distribute Distributable Code to run on a platform oth
+\hich\af41\dbch\af13\loch\f41 er than the Windows platform;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41
+include Distributable Code in malicious, deceptive or unlawful programs; or
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41
+modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License \hich\af41\dbch\af13\loch\f41 is one that requires, as a condition of use, modification or distribution, that
+
+\par {\listtext\pard\plain\ltrpar \s26 \rtlch\fcs1 \af41\afs19 \ltrch\fcs0 \fs19\cf17\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s26\ql \fi-358\li1435\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls8\adjustright\rin0\lin1435\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af41 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 the code be disclosed or distributed in source code form; or
+\par {\listtext\pard\plain\ltrpar \s27 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s27\ql \fi-357\li1792\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1795\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin1792\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 others have the right to modify it.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 3.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 SCOPE OF LICENSE.}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41
+ The software is licensed, not sold. This agreement onl\hich\af41\dbch\af13\loch\f41
+y gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply wit
+\hich\af41\dbch\af13\loch\f41 h\hich\af41\dbch\af13\loch\f41 any technical limitations in the software that only allow you to use it in certain ways. You may not
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s25\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 work around any technical limitations in the software;
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41
+reverse engineer, decompile or disassemble the software, except and only to the extent that app\hich\af41\dbch\af13\loch\f41 licable law expressly permits, despite this limitation;
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41
+make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation;
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 publish the software for others to copy;
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 rent, lease or lend the software\hich\af41\dbch\af13\loch\f41 ;
+
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 transfer the software or this agreement to any third party; or
+
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 use the software for commercial software hosting services.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 4.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 BACKUP COPY.}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41
+ You may make one backup copy of the software. You may use it only to reinstall the software.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 5.\tab}}{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af41\dbch\af13\loch\f41 DOCUMENTATION.}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41
+ Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 6.\tab}}{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af41\dbch\af13\loch\f41 EXPORT RESTRICTIONS.}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 The software is subject to United States export laws and regulations. You must comply w
+\hich\af41\dbch\af13\loch\f41 ith all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see }{\rtlch\fcs1 \ab0\af0\afs20
+\ltrch\fcs0 \cs36\b0\fs20\ul\cf2\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 www.microsoft.com/exporting}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 .}{\rtlch\fcs1 \ab0\af0\afs20 \ltrch\fcs0
+\cs36\b0\fs20\ul\cf2\dbch\af13\insrsid15686224
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 7.\tab}}{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af41\dbch\af13\loch\f41 SUPPORT SERVICES. }{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 Because thi\hich\af41\dbch\af13\loch\f41 \hich\f41 s software is \'93\loch\f41 \hich\f41 as is,\'94
+\loch\f41 we may not provide support services for it.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 8.\tab}}{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af41\dbch\af13\loch\f41 ENTIRE AGREEMENT.}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41
+ This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support\hich\af41\dbch\af13\loch\f41 services.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 9.\tab}}\pard \ltrpar\s1\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin360\itap0\pararsid15686224 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 APPLICABLE LAW.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 a.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 United States.}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0
+\b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41
+ If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws\hich\af41\dbch\af13\loch\f41
+ of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 b.\tab}}{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af41\dbch\af13\loch\f41 Outside the United States.}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 If you acquired the software in any other country, the laws of that country app
+\hich\af41\dbch\af13\loch\f41 ly.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 10.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 LEGAL EFFECT.}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41
+ This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your right
+\hich\af41\dbch\af13\loch\f41 s under the laws of your country if the laws of your country do not permit it to do so.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 11.\tab}}\pard \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\widctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 \hich\f41
+DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED \'93\loch\f41 \hich\f41 AS-IS.\'94\loch\f41 YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HA\hich\af41\dbch\af13\loch\f41
+VE ADDITIONAL CONSUMER RIGHTS OR STATUTORY GUARANTEES UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE A
+\hich\af41\dbch\af13\loch\f41 N\hich\af41\dbch\af13\loch\f41 D NON-INFRINGEMENT.
+\par }\pard\plain \ltrpar\s24\ql \li357\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 FOR AUSTRALIA \hich\f41 \endash \loch\f41
+ YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE RIGHTS.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 12.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\widctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES}{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\insrsid15686224 \hich\af41\dbch\af11\loch\f41
+. YOU CAN RECOVER FROM MICROSOFT AND I\hich\af41\dbch\af11\loch\f41 TS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.
+\par }\pard\plain \ltrpar\s24\ql \li357\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 This limitation applies to
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s25\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 anything related to the software, services, content (inclu\hich\af41\dbch\af13\loch\f41 ding code) on third party Internet sites, or third party programs; and
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41
+claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.
+\par }\pard\plain \ltrpar\ql \li360\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 It also applies even \hich\af41\dbch\af13\loch\f41
+if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages.
+\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15014299 {\rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid15014299\charrsid15014299 \hich\af41\dbch\af13\loch\f41
+Please note: A\hich\af41\dbch\af13\loch\f41 s this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French.
+\par }{\rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299
+\par
+\par }{\rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af41\dbch\af13\loch\f41 \hich\f41 Remarque : Ce logiciel \'e9\loch\f41 \hich\f41 tant distribu\'e9\loch\f41 \hich\f41 au Qu
+\'e9\loch\f41 \hich\f41 bec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en fran\'e7\loch\f41 ais.
+\par \hich\af41\dbch\af13\loch\f41 EX\hich\af41\dbch\af13\loch\f41 \hich\f41 ON\'c9\loch\f41 RATION DE GARANTIE.}{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af41\dbch\af13\loch\f41
+\hich\f41 Le logiciel vis\'e9\loch\f41 \hich\f41 par une licence est offert \'ab\loch\f41 \hich\f41 tel quel \'bb\loch\f41 \hich\f41 . Toute utilisation de ce logiciel est \'e0\loch\f41 \hich\f41 votre seule risque et p\'e9\loch\f41 ril. Microsoft n
+\hich\f41 \rquote \loch\f41 \hich\f41 accorde aucune autre garantie expresse. Vous pouvez b\'e9\loch\f41 \hich\f41 n\'e9\loch\f41 ficier de droits additionnels en vertu \hich\af41\dbch\af13\loch\f41 \hich\f41
+du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualit\'e9\loch\f41 marchande, d\hich\f41 \rquote \loch\f41 \hich\f41 ad\'e9\loch\f41
+\hich\f41 quation \'e0\loch\f41 un usage particulier et d\hich\f41 \rquote \loch\f41 \hich\f41 absence de contrefa\'e7\loch\f41 on sont exclues.
+\par }{\rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af41\dbch\af13\loch\f41 \hich\f41 LIMITATION DES DOMMAGES-INT\'c9\loch\f41 \hich\f41 R\'ca\loch\f41 \hich\f41
+TS ET EXCLUSION DE RESPONSABILIT\'c9\loch\f41 POUR LES DOMMAGES.}{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af41\dbch\af13\loch\f41 \hich\f41
+ Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement \'e0\loch\f41 \hich\f41 hauteur de 5,00 $ US. Vous ne pouvez pr\'e9\loch\f41 \hich\f41 tendre \'e0\loch\f41 aucune in
+\hich\af41\dbch\af13\loch\f41 \hich\f41 demnisation pour les autres dommages, y compris les dommages sp\'e9\loch\f41 \hich\f41 ciaux, indirects ou accessoires et pertes de b\'e9\loch\f41 \hich\f41 n\'e9\loch\f41 fices.
+\par }{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15014299\charrsid15014299 \hich\af41\dbch\af13\loch\f41 Cette limitation concerne :
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\loch\af3\hich\af3\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard \ltrpar
+\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin360\itap0\pararsid15014299 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0
+\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af41\dbch\af13\loch\f41 \hich\f41 tout ce qui est reli\'e9\loch\f41 au logiciel, aux services ou au contenu (y compris le code) figurant sur d
+\hich\af41\dbch\af13\loch\f41 es sites Internet tiers ou dans des programmes tiers ; et
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\loch\af3\hich\af3\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 \hich\f41 les r\'e9
+\loch\f41 \hich\f41 clamations au titre de violation de contrat ou de garantie, ou au titre de responsabilit\'e9\loch\f41 \hich\f41 stricte, de n\'e9\loch\f41 gligence ou d\hich\f41 \rquote \loch\f41 \hich\f41 une autre faute dans la limite autoris\'e9
+\loch\f41 e par la loi en vigueur.
+\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15014299 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299
+\hich\af41\dbch\af13\loch\f41 Elle s\hich\f41 \rquote \hich\af41\dbch\af13\loch\f41 \hich\f41 applique \'e9\loch\f41 \hich\f41 galement, m\'ea\loch\f41 \hich\f41 me si Microsoft connaissait ou devrait conna\'ee\loch\f41 tre l\hich\f41 \rquote \'e9
+\loch\f41 \hich\f41 ventualit\'e9\loch\f41 d\hich\f41 \rquote \loch\f41 un tel dommage. Si votre pays n\hich\f41 \rquote \loch\f41 autorise pas l\hich\f41 \rquote \loch\f41 \hich\f41 exclusion ou la limitation de responsabilit\'e9\loch\f41
+ pour les dommages indirects, accessoires ou de quelque nature que ce soit, i\hich\af41\dbch\af13\loch\f41 l\hich\af41\dbch\af13\loch\f41 se peut que la limitation ou l\hich\f41 \rquote \loch\f41 exclusion ci-dessus ne s\hich\f41 \rquote \loch\f41
+\hich\f41 appliquera pas \'e0\loch\f41 \hich\f41 votre \'e9\loch\f41 gard.
+\par }\pard\plain \ltrpar\s37\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15014299 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af41\dbch\af13\loch\f41 EFFET JURIDIQUE.}{
+\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af41\dbch\af13\loch\f41 \hich\f41 Le pr\'e9\loch\f41 \hich\f41 sent contrat d\'e9\loch\f41
+crit certains droits juridiques. Vous pourriez avoir d\hich\f41 \rquote \loch\f41 \hich\f41 autres droits pr\'e9\loch\f41 \hich\f41 vus par les lois de votre pays. Le pr\'e9\loch\f41 sent contrat ne modif\hich\af41\dbch\af13\loch\f41 \hich\f41
+ie pas les droits que vous conf\'e8\loch\f41 rent les lois de votre pays si celles-ci ne le permettent pas}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299 .}{\rtlch\fcs1 \af41 \ltrch\fcs0
+\insrsid4000782
+\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a
+9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad
+5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6
+b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0
+0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6
+a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f
+c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512
+0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462
+a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865
+6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b
+4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b
+4757e8d3f729e245eb2b260a0238fd010000ffff0300504b03041400060008000000210030dd4329a8060000a41b0000160000007468656d652f7468656d652f
+7468656d65312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87
+615b8116d8a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad
+79482a9c0498f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b
+5d8a314d3c94e018c8de1a8fa94fd05093f43672e23d06af89927ac06762a049136785c10607758d9053d965021d62d6f6804fc08f86e4bef210c352c144dbab
+999fb7b4717509af678b985ab0b6b4ae6f7ed9ba6c4170b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83a6569632cd467faddec9
+699640f6719e76b7d6ac355c7c89feca9cccad4ea7d36c65b258a206641f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd586
+8b37a088d1e4600ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe3a20f000d6458d104a9694ac6d88728eee2782428d6
+0cf03ac1a5193be4cbb921cd0b495fd054b5bd0f530c1931a3f7eaf9f7af9e3f45c70f9e1d3ff8e9f8e1c3e3073f5a42ceaa6d9c84e5552fbffdeccfc71fa33f
+9e7ef3f2d117d57859c6fffac327bffcfc793510d26726ce8b2f9ffcf6ecc98baf3efdfdbb4715f04d814765f890c644a29be408edf3181433567125272371be
+15c308d3f28acd249438c19a4b05fd9e8a1cf4cd296699771c393ac4b5e01d01e5a30a787d72cf1178108989a2159c77a2d801ee72ce3a5c545a6147f32a9979
+3849c26ae66252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d
+32a423279a668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2a
+f074481847bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86
+e877f0034e16bafb0e258ebb4faf06b769e888340b103d331115bebc4eb813bf83291b63624a0d1475a756c734f9bbc2cd28546ecbe1e20a3794ca175f3fae90
+fb6d2dd99bb07b55e5ccf68942bd0877b23c77b908e8db5f9db7f024d9239010f35bd4bbe2fcae387bfff9e2bc289f2fbe24cfaa301468dd8bd846dbb4ddf1c2
+ae7b4c191ba8292337a469bc25ec3d411f06f53a73e224c5292c8de0516732307070a1c0660d125c7d44553488700a4d7bddd3444299910e254ab984c3a219ae
+a4adf1d0f82b7bd46cea4388ad1c12ab5d1ed8e1153d9c9f350a3246aad01c6873462b9ac05999ad5cc988826eafc3acae853a33b7ba11cd1445875ba1b236b1
+399483c90bd560b0b0263435085a21b0f22a9cf9356b38ec6046026d77eba3dc2dc60b17e92219e180643ed27acffba86e9c94c7ca9c225a0f1b0cfae0788ad5
+4adc5a9aec1b703b8b93caec1a0bd8e5de7b132fe5113cf312503b998e2c2927274bd051db6b35979b1ef271daf6c6704e86c73805af4bdd476216c26593af84
+0dfb5393d964f9cc9bad5c313709ea70f561ed3ea7b053075221d51696910d0d339585004b34272bff7213cc7a510a5454a3b349b1b206c1f0af490176745d4b
+c663e2abb2b34b23da76f6352ba57ca2881844c1111ab189d8c7e07e1daaa04f40255c77988aa05fe06e4e5bdb4cb9c5394bbaf28d98c1d971ccd20867e556a7
+689ec9166e0a522183792b8907ba55ca6e943bbf2a26e52f48957218ffcf54d1fb09dc3eac04da033e5c0d0b8c74a6b43d2e54c4a10aa511f5fb021a07533b20
+5ae07e17a621a8e082dafc17e450ffb739676998b48643a4daa7211214f623150942f6a02c99e83b85583ddbbb2c4996113211551257a656ec1139246ca86be0
+aadedb3d1441a89b6a929501833b197fee7b9641a3503739e57c732a59b1f7da1cf8a73b1f9bcca0945b874d4393dbbf10b1680f66bbaa5d6f96e77b6f59113d
+316bb31a795600b3d256d0cad2fe354538e7566b2bd69cc6cbcd5c38f0e2bcc63058344429dc2121fd07f63f2a7c66bf76e80d75c8f7a1b622f878a18941d840
+545fb28d07d205d20e8ea071b283369834296bdaac75d256cb37eb0bee740bbe278cad253b8bbfcf69eca23973d939b97891c6ce2cecd8da8e2d343578f6648a
+c2d0383fc818c798cf64e52f597c740f1cbd05df0c264c49134cf09d4a60e8a107260f20f92d47b374e32f000000ffff0300504b030414000600080000002100
+0dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f7
+8277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89
+d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd500
+1996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0f
+bfff0000001c0200001300000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6
+a7e7c0000000360100000b00000000000000000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a
+0000001c00000000000000000000000000190200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d00140006000800000021
+0030dd4329a8060000a41b00001600000000000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d001400060008
+00000021000dd1909fb60000001b0100002700000000000000000000000000b20900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000ad0a00000000}
+{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
+617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
+6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
+656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
+{\*\latentstyles\lsdstimax371\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdlocked0 heading 1;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 7;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1;
+\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7;
+\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;
+\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority59 \lsdlocked0 Table Grid;\lsdsemihidden1 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;
+\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid;\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1;
+\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2;\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;
+\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1;\lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1;
+\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdsemihidden1 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;
+\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;
+\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;
+\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;
+\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;
+\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3;
+\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;
+\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;
+\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4;
+\lsdpriority62 \lsdlocked0 Light Grid Accent 4;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;
+\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
+\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5;
+\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
+\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;
+\lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6;
+\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;
+\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;
+\lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
+\lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4;
+\lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4;
+\lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1;
+\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1;
+\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2;
+\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2;
+\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3;
+\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4;
+\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4;
+\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5;
+\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5;
+\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6;
+\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6;
+\lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark;
+\lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1;
+\lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1;
+\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2;
+\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3;
+\lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3;
+\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4;
+\lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4;
+\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5;
+\lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5;
+\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6;
+\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;}}{\*\datastore 010500000200000018000000
+4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000
+d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000409a
+6c7cba25ce01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/Microsoft.Bcl.Build.1.0.10.nupkg b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/Microsoft.Bcl.Build.1.0.10.nupkg
new file mode 100644
index 0000000..7d62435
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/Microsoft.Bcl.Build.1.0.10.nupkg
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/Microsoft.Bcl.Build.1.0.10.nuspec b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/Microsoft.Bcl.Build.1.0.10.nuspec
new file mode 100644
index 0000000..daf40d1
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/Microsoft.Bcl.Build.1.0.10.nuspec
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
+ <metadata>
+ <id>Microsoft.Bcl.Build</id>
+ <version>1.0.10</version>
+ <title>Microsoft BCL Build Components</title>
+ <authors>Microsoft</authors>
+ <owners>Microsoft</owners>
+ <licenseUrl>http://go.microsoft.com/fwlink/?LinkID=296407</licenseUrl>
+ <projectUrl>http://go.microsoft.com/fwlink/?LinkID=296436</projectUrl>
+ <iconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</iconUrl>
+ <requireLicenseAcceptance>true</requireLicenseAcceptance>
+ <description>This package provides build infrastructure components so that projects referencing specific Microsoft packages can successfully build.
+Do not directly reference this packages unless you receive a build warning that instructs you to add a reference.</description>
+ <summary>Provides build infrastructure components for Microsoft packages.</summary>
+ <releaseNotes />
+ <copyright>Copyright © Microsoft Corporation</copyright>
+ <language />
+ <tags>BCL Microsoft System</tags>
+ </metadata>
+</package> \ No newline at end of file
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/net40/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/net40/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/net40/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/netcore45/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/netcore45/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/netcore45/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/portable-net40+win8+sl4+wp71/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/portable-net40+win8+sl4+wp71/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/portable-net40+win8+sl4+wp71/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/sl4-windowsphone71/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/sl4-windowsphone71/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/sl4-windowsphone71/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/sl4/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/sl4/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/content/sl4/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/tools/Install.ps1 b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/tools/Install.ps1
new file mode 100644
index 0000000..8dd9d2e
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/tools/Install.ps1
@@ -0,0 +1,37 @@
+param($installPath, $toolsPath, $package, $project)
+ # This is the MSBuild targets file to add
+ $targetsFile = [System.IO.Path]::Combine($toolsPath, $package.Id + '.targets')
+
+ # Need to load MSBuild assembly if it's not loaded yet.
+ Add-Type -AssemblyName 'Microsoft.Build, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
+
+ # Grab the loaded MSBuild project for the project
+ $msbuild = [Microsoft.Build.Evaluation.ProjectCollection]::GlobalProjectCollection.GetLoadedProjects($project.FullName) | Select-Object -First 1
+
+ # Make the path to the targets file relative.
+ $projectUri = new-object Uri($project.FullName, [System.UriKind]::Absolute)
+ $targetUri = new-object Uri($targetsFile, [System.UriKind]::Absolute)
+ $relativePath = [System.Uri]::UnescapeDataString($projectUri.MakeRelativeUri($targetUri).ToString()).Replace([System.IO.Path]::AltDirectorySeparatorChar, [System.IO.Path]::DirectorySeparatorChar)
+
+ # Add the import with a condition, to allow the project to load without the targets present.
+ $import = $msbuild.Xml.AddImport($relativePath)
+ $import.Condition = "Exists('$relativePath')"
+
+ # Add a target to fail the build when our targets are not imported
+ $target = $msbuild.Xml.AddTarget("EnsureBclBuildImported")
+ $target.BeforeTargets = "BeforeBuild"
+ $target.Condition = "'`$(BclBuildImported)' == ''"
+
+ # if the targets don't exist at the time the target runs, package restore didn't run
+ $errorTask = $target.AddTask("Error")
+ $errorTask.Condition = "!Exists('$relativePath')"
+ $errorTask.SetParameter("Text", "This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567.");
+ $errorTask.SetParameter("HelpKeyword", "BCLBUILD2001");
+
+ # if the targets exist at the time the target runs, package restore ran but the build didn't import the targets.
+ $errorTask = $target.AddTask("Error")
+ $errorTask.Condition = "Exists('$relativePath')"
+ $errorTask.SetParameter("Text", "The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568.");
+ $errorTask.SetParameter("HelpKeyword", "BCLBUILD2002");
+
+ $project.Save() \ No newline at end of file
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/tools/Microsoft.Bcl.Build.targets b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/tools/Microsoft.Bcl.Build.targets
new file mode 100644
index 0000000..a14b3ea
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/tools/Microsoft.Bcl.Build.targets
@@ -0,0 +1,232 @@
+<!--
+***********************************************************************************************
+Microsoft.Bcl.targets
+
+WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
+ created a backup copy. Incorrect changes to this file will make it
+ impossible to load or build your projects from the command-line or the IDE.
+
+Copyright (C) Microsoft Corporation. All rights reserved.
+***********************************************************************************************
+-->
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <BclBuildImported>true</BclBuildImported>
+ </PropertyGroup>
+
+ <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' != 'Silverlight' and '$(OutputType)' != 'AppContainerExe'">
+ <!--
+ Workaround MSBuild issue that prevents System.Runtime 2.5 and System.Threading.Tasks 2.5 from
+ satisfying indirect dependencies on System.Runtime 1.5 and System.Threading.Tasks 1.5 respectively.
+ -->
+ <AutoUnifyAssemblyReferences>false</AutoUnifyAssemblyReferences>
+
+ <!-- MSBuild by default doesn't pass the Web.Config ResolveAssemblyReference, in which case, set it so that it sees binding redirects -->
+ <AppConfig Condition="'$(AppConfig)' == '' And '$(WebProjectOutputDir)' != '' And Exists('$(ProjectConfigFileName)')">$(ProjectConfigFileName)</AppConfig>
+ </PropertyGroup>
+
+ <!-- Workaround issue that incorrectly unifies references not in the current profile to the version in the superset of all profiles. -->
+ <Target Name="_BclBuildSetFullFrameworkFolderToProfile" AfterTargets="GetReferenceAssemblyPaths" Condition="'$(TargetFrameworkIdentifier)' == '.NETPortable'">
+ <PropertyGroup>
+ <_FullFrameworkReferenceAssemblyPaths>$(TargetFrameworkDirectory)</_FullFrameworkReferenceAssemblyPaths>
+ </PropertyGroup>
+ </Target>
+
+ <!--
+ *******************************************************************************************************************
+ *******************************************************************************************************************
+ EnsureBindingRedirects Section
+ *******************************************************************************************************************
+ *******************************************************************************************************************
+ -->
+ <PropertyGroup>
+ <__IntermediateAppConfig>$(IntermediateOutputPath)$(MSBuildProjectFile).App.config</__IntermediateAppConfig>
+
+ <SkipEnsureBindingRedirects Condition="'$(TargetFrameworkIdentifier)' == 'Silverlight' or '$(OutputType)' == 'AppContainerExe'">true</SkipEnsureBindingRedirects>
+ </PropertyGroup>
+
+ <UsingTask TaskName="EnsureBindingRedirects" AssemblyFile="$(MSBuildThisFileDirectory)Microsoft.Bcl.Build.Tasks.dll" />
+
+ <!--
+ ===================================================================================================================
+ BclBuildDetermineReferencesToRedirect
+
+ Determine which references are opted in for binding redirects
+ ===================================================================================================================
+ -->
+ <Target Name="BclBuildDetermineReferencesToRedirect" BeforeTargets="BclBuildEnsureBindingRedirects" Condition="'$(SkipEnsureBindingRedirects)' != 'true'">
+ <!-- Convention is a file next to the reference with name "ensureRedirect.xml" -->
+ <ItemGroup>
+ <_EnsureBindingRedirectReference Include="@(Reference)"
+ Condition="'%(Reference.HintPath)' != '' and Exists('$([System.IO.Path]::GetDirectoryName(&quot;%(Reference.HintPath)&quot;))\\ensureRedirect.xml')" />
+ </ItemGroup>
+ </Target>
+
+ <!--
+ ===================================================================================================================
+ BclBuildEnsureBindingRedirects
+
+ Generate a new app.config with merged binding redirects if we have binding redirects to ensure and it's out of date
+ ===================================================================================================================
+ -->
+ <Target Name="BclBuildEnsureBindingRedirects"
+ DependsOnTargets="BclBuildDetermineReferencesToRedirect"
+ BeforeTargets="ResolveAssemblyReferences"
+ Condition="'@(_EnsureBindingRedirectReference)' != '' and '$(SkipEnsureBindingRedirects)' != 'true'"
+ Inputs="$(MSBuildAllProjects);$(AppConfig);@(_EnsureBindingRedirectReference->'%(HintPath)')"
+ Outputs="$(__IntermediateAppConfig)">
+
+ <EnsureBindingRedirects References="@(_EnsureBindingRedirectReference->'%(HintPath)')"
+ SourceAppConfigPath="$(AppConfig)"
+ DestinationAppConfigPath="$(__IntermediateAppConfig)">
+ <Output TaskParameter="DestinationAppConfigPath" ItemName="FileWrites"/>
+ </EnsureBindingRedirects>
+ </Target>
+
+ <!--
+ ===================================================================================================================
+ BclBuildUpdateAppConfigWithTargetPath
+
+ Update project properties to point to the generated app.config
+ ===================================================================================================================
+ -->
+ <Target Name="BclBuildUpdateAppConfigWithTargetPath"
+ DependsOnTargets="BclBuildDetermineReferencesToRedirect;BclBuildEnsureBindingRedirects"
+ BeforeTargets="ResolveAssemblyReferences"
+ Condition="'@(_EnsureBindingRedirectReference)' != '' and '$(SkipEnsureBindingRedirects)' != 'true'">
+ <PropertyGroup>
+ <AppConfig>$(__IntermediateAppConfig)</AppConfig>
+ </PropertyGroup>
+ <ItemGroup>
+ <AppConfigWithTargetPath Remove="@(AppConfigWithTargetPath)" />
+ <AppConfigWithTargetPath Include="$(AppConfig)">
+ <TargetPath>$(TargetFileName).config</TargetPath>
+ </AppConfigWithTargetPath>
+ </ItemGroup>
+ </Target>
+
+
+ <!--
+ *******************************************************************************************************************
+ *******************************************************************************************************************
+ ValidatePackageReferences Section
+
+ This group of targets enables validation of nuget package references when building inside VisualStudio.
+ *******************************************************************************************************************
+ *******************************************************************************************************************
+ -->
+
+ <!--
+ ===================================================================================================================
+ BclBuildAddProjectReferenceProperties
+
+ Adds properties to be set when resolving project references. The properties ensure that the references get built
+ in the context of the referencer (by changing the set of properties used to build the project) and pass down the
+ context needed to validate the referencing project.
+ ===================================================================================================================
+ -->
+ <Target Name="BclBuildAddProjectReferenceProperties"
+ BeforeTargets="AssignProjectConfiguration"
+ Condition="'$(BuildingInsideVisualStudio)' == 'true'">
+ <PropertyGroup>
+ <_BclBuildProjectReferenceProperties>BclBuildReferencingProject=$(MSBuildProjectFullPath);BclBuildReferencingProjectConfig=$(MSBuildProjectDirectory)\packages.config</_BclBuildProjectReferenceProperties>
+ <_BclBuildProjectReferenceProperties Condition="'$(SkipValidatePackageReferences)' != ''">$(_BclBuildProjectReferenceProperties);SkipValidatePackageReferences=$(SkipValidatePackageReferences)</_BclBuildProjectReferenceProperties>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <ProjectReference>
+ <AdditionalProperties>$(_BclBuildProjectReferenceProperties);%(ProjectReference.AdditionalProperties)</AdditionalProperties>
+ </ProjectReference>
+ </ItemGroup>
+ </Target>
+
+ <!--
+ ===================================================================================================================
+ BclBuildSetRunningFullBuild
+
+ Determines when a full build is running as opposed to a single target.
+ ===================================================================================================================
+ -->
+ <Target Name="BclBuildSetRunningFullBuild"
+ BeforeTargets="BuildOnlySettings">
+ <PropertyGroup>
+ <BclBuildRunningFullBuild>true</BclBuildRunningFullBuild>
+ </PropertyGroup>
+ </Target>
+
+ <!--
+ ===================================================================================================================
+ GetTargetPath/BclBuildGetTargetPath
+
+ MSBuild will only build a target once for a given set of properties.
+
+ We need that single build of GetTargetPath to run during project reference resolution, so that we can detect a
+ referencing project that doesn't have Bcl.Build.
+
+ To accomplish this we replace GetTargetPath with BclBuildGetTargetPath when running a full build.
+ ===================================================================================================================
+ -->
+ <Target
+ Name="GetTargetPath"
+ Condition="'$(BclBuildRunningFullBuild)' != 'true'"
+ DependsOnTargets="$(GetTargetPathDependsOn)"
+ Returns="$(TargetPath)"/>
+
+ <Target
+ Name="BclBuildGetTargetPath"
+ Condition="'$(BclBuildRunningFullBuild)' == 'true'"
+ AfterTargets="GetTargetPath"
+ Returns="$(TargetPath)">
+ <PropertyGroup>
+ <!-- Reset BclBuildRunningFullBuild, it will be set again when doing a full build. -->
+ <BclBuildRunningFullBuild>false</BclBuildRunningFullBuild>
+ </PropertyGroup>
+ </Target>
+
+ <!--
+ ===================================================================================================================
+ BclBuildValidateNugetPackageReferences
+
+ This target validates that any Nuget packages installed in the current project are also installed in projects
+ referencing the current project.
+
+ This is necessary because Nuget packages contain more than just simple references. Installing the package ensures
+ 1. The right set of references for the target framework are added
+ 2. Config file transforms are applied
+ 3. Project installation scripts are run
+
+ For all packages listed as installed for the current project in packages config, if the package ID matches one
+ specified in @(ValidatePackages), ensure that the same package is installed in the referencing project.
+
+ This target can be disabled for a project reference by setting SkipValidatePackageReferences=true for the reference:
+ <ProjectReference Include="..\pcl\pcl.csproj">
+ <Project>{664a9e98-fac7-4567-a046-0dde95fddb48}</Project>
+ <Name>pcl</Name>
+ <Properties>SkipValidatePackageReferences=true</Properties>
+ </ProjectReference>
+
+ This target can be disabled for all references to a project by adding the following:
+ <PropertyGroup>
+ <SkipValidatePackageReferences>true</SkipValidatePackageReferences>
+ </PropertyGroup>
+ ===================================================================================================================
+ -->
+ <UsingTask TaskName="ValidatePackageReferences" AssemblyFile="$(MSBuildThisFileDirectory)Microsoft.Bcl.Build.Tasks.dll" />
+ <Target Name="BclBuildValidateNugetPackageReferences"
+ Condition="'$(BclBuildRunningFullBuild)' != 'true' AND '$(SkipValidatePackageReferences)' != 'true' AND '$(BuildingInsideVisualStudio)' == 'true'"
+ BeforeTargets="GetTargetPath">
+ <ItemGroup>
+ <ValidatePackages Include="Microsoft.Bcl"/>
+ <ValidatePackages Include="Microsoft.Bcl.Async"/>
+ <ValidatePackages Include="Microsoft.Bcl.Compression"/>
+ <ValidatePackages Include="Microsoft.Net.Http"/>
+ </ItemGroup>
+
+ <ValidatePackageReferences Packages="@(ValidatePackages)"
+ ReferencingProject="$(BclBuildReferencingProject)"
+ ReferencingProjectPackagesConfig="$(BclBuildReferencingProjectConfig)"
+ ReferencedProject="$(MSBuildProjectFullPath)"
+ ReferencedProjectPackagesConfig="$(MSBuildProjectDirectory)\packages.config"
+ TreatWarningsAsErrors="$(TreatWarningsAsErrors)" />
+ </Target>
+</Project> \ No newline at end of file
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/tools/Uninstall.ps1 b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/tools/Uninstall.ps1
new file mode 100644
index 0000000..204e4cc
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/tools/Uninstall.ps1
@@ -0,0 +1,25 @@
+param($installPath, $toolsPath, $package, $project)
+
+ # Need to load MSBuild assembly if it's not loaded yet.
+ Add-Type -AssemblyName 'Microsoft.Build, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
+
+ # Grab the loaded MSBuild project for the project
+ $msbuild = [Microsoft.Build.Evaluation.ProjectCollection]::GlobalProjectCollection.GetLoadedProjects($project.FullName) | Select-Object -First 1
+
+ # Find all the imports and targets added by this package.
+ $itemsToRemove = @()
+
+ # Allow many in case a past package was incorrectly uninstalled
+ $itemsToRemove += $msbuild.Xml.Imports | Where-Object { $_.Project.EndsWith($package.Id + '.targets') }
+ $itemsToRemove += $msbuild.Xml.Targets | Where-Object { $_.Name -eq "EnsureBclBuildImported" }
+
+ # Remove the elements and save the project
+ if ($itemsToRemove -and $itemsToRemove.length)
+ {
+ foreach ($itemToRemove in $itemsToRemove)
+ {
+ $msbuild.Xml.RemoveChild($itemToRemove) | out-null
+ }
+
+ $project.Save()
+ } \ No newline at end of file
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/License.rtf b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/License.rtf
new file mode 100644
index 0000000..350fcf6
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/License.rtf
@@ -0,0 +1,505 @@
+{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff41\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs1025{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
+{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
+{\f11\fbidi \fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt ?l?r ??\'81\'66c};}{\f13\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}SimSun{\*\falt ???\'a1\'ec??};}
+{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 00000000000000000000}Cambria Math;}{\f40\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0603020202020204}Trebuchet MS{\*\falt Arial};}
+{\f41\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma{\*\falt ?? ??};}{\f42\fbidi \fnil\fcharset134\fprq2{\*\panose 00000000000000000000}@SimSun;}{\f43\fbidi \fmodern\fcharset128\fprq1{\*\panose 00000000000000000000}@MS Mincho;}
+{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 00000000000000000000}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}{\f46\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\f47\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f49\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f50\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f51\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\f52\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f53\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f54\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f66\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}
+{\f67\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f69\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f70\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f71\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
+{\f72\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f73\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f74\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}
+{\f158\fbidi \fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt ?l?r ??\'81\'66c};}{\f156\fbidi \fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt ?l?r ??\'81\'66c};}{\f157\fbidi \fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt ?l?r ??\'81\'66c};}
+{\f159\fbidi \fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt ?l?r ??\'81\'66c};}{\f160\fbidi \fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt ?l?r ??\'81\'66c};}{\f163\fbidi \fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt ?l?r ??\'81\'66c};}
+{\f178\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt ???\'a1\'ec??};}{\f386\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f387\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f389\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}
+{\f390\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f393\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f394\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f446\fbidi \fswiss\fcharset238\fprq2 Trebuchet MS CE{\*\falt Arial};}
+{\f447\fbidi \fswiss\fcharset204\fprq2 Trebuchet MS Cyr{\*\falt Arial};}{\f449\fbidi \fswiss\fcharset161\fprq2 Trebuchet MS Greek{\*\falt Arial};}{\f450\fbidi \fswiss\fcharset162\fprq2 Trebuchet MS Tur{\*\falt Arial};}
+{\f453\fbidi \fswiss\fcharset186\fprq2 Trebuchet MS Baltic{\*\falt Arial};}{\f456\fbidi \fswiss\fcharset238\fprq2 Tahoma CE{\*\falt ?? ??};}{\f457\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr{\*\falt ?? ??};}
+{\f459\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek{\*\falt ?? ??};}{\f460\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur{\*\falt ?? ??};}{\f461\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew){\*\falt ?? ??};}
+{\f462\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic){\*\falt ?? ??};}{\f463\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic{\*\falt ?? ??};}{\f464\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese){\*\falt ?? ??};}
+{\f465\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai){\*\falt ?? ??};}{\f468\fbidi \fnil\fcharset0\fprq2 @SimSun Western;}{\f478\fbidi \fmodern\fcharset0\fprq1 @MS Mincho Western;}{\f476\fbidi \fmodern\fcharset238\fprq1 @MS Mincho CE;}
+{\f477\fbidi \fmodern\fcharset204\fprq1 @MS Mincho Cyr;}{\f479\fbidi \fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f480\fbidi \fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f483\fbidi \fmodern\fcharset186\fprq1 @MS Mincho Baltic;}
+{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
+{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
+{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
+{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}
+{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}
+{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
+{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
+{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
+{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
+{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
+{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
+{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
+{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \fswiss\fcharset238\fprq2 Arial CE;}{\fbiminor\f31579\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}
+{\fbiminor\f31581\fbidi \fswiss\fcharset161\fprq2 Arial Greek;}{\fbiminor\f31582\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\fbiminor\f31583\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}
+{\fbiminor\f31584\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\fbiminor\f31585\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}{\fbiminor\f31586\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;
+\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;
+\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\ctextone\ctint255\cshade255\red0\green0\blue0;}{\*\defchp \f31506\fs22 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \sautoupd \sqformat \spriority0 \styrsid15686224 Normal;}{\s1\ql \fi-357\li357\ri0\sb120\sa120\widctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext1 \slink15 \sqformat \styrsid15686224 heading 1;}{\s2\ql \fi-363\li720\ri0\sb120\sa120\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0 \rtlch\fcs1
+\ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext2 \slink16 \sqformat \styrsid15686224 heading 2;}{\s3\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
+\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext3 \slink17 \sqformat \styrsid15686224 heading 3;}{\s4\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl3\outlinelevel3\adjustright\rin0\lin1435\itap0 \rtlch\fcs1
+\af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext4 \slink18 \sqformat \styrsid15686224 heading 4;}{\s5\ql \fi-357\li1792\ri0\sb120\sa120\widctlpar
+\tx1792\jclisttab\tx2155\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl4\outlinelevel4\adjustright\rin0\lin1792\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext5 \slink19 \sqformat \styrsid15686224 heading 5;}{\s6\ql \fi-357\li2149\ri0\sb120\sa120\widctlpar\jclisttab\tx2152\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl5\outlinelevel5\adjustright\rin0\lin2149\itap0 \rtlch\fcs1
+\af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext6 \slink20 \sqformat \styrsid15686224 heading 6;}{\s7\ql \fi-357\li2506\ri0\sb120\sa120\widctlpar
+\jclisttab\tx2509\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl6\outlinelevel6\adjustright\rin0\lin2506\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext7 \slink21 \sqformat \styrsid15686224 heading 7;}{\s8\ql \fi-357\li2863\ri0\sb120\sa120\widctlpar\jclisttab\tx2866\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl7\outlinelevel7\adjustright\rin0\lin2863\itap0 \rtlch\fcs1
+\af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext8 \slink22 \sqformat \styrsid15686224 heading 8;}{\s9\ql \fi-358\li3221\ri0\sb120\sa120\widctlpar
+\jclisttab\tx3223\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl8\outlinelevel8\adjustright\rin0\lin3221\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext9 \slink23 \sqformat \styrsid15686224 heading 9;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
+\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31506\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{\*\cs15 \additive
+\rtlch\fcs1 \ab\af41\afs19 \ltrch\fcs0 \b\fs19\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink1 \slocked \styrsid15686224 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\af41\afs19 \ltrch\fcs0 \b\fs19\loch\f41\hich\af41\dbch\af11
+\sbasedon10 \slink2 \slocked \styrsid15686224 Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \af41\afs19 \ltrch\fcs0 \fs19\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink3 \slocked \styrsid15686224 Heading 3 Char;}{\*\cs18 \additive \rtlch\fcs1
+\af41\afs19 \ltrch\fcs0 \fs19\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink4 \slocked \styrsid15686224 Heading 4 Char;}{\*\cs19 \additive \rtlch\fcs1 \af41\afs19 \ltrch\fcs0 \fs19\loch\f41\hich\af41\dbch\af11
+\sbasedon10 \slink5 \slocked \styrsid15686224 Heading 5 Char;}{\*\cs20 \additive \rtlch\fcs1 \af41\afs19 \ltrch\fcs0 \fs19\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink6 \slocked \styrsid15686224 Heading 6 Char;}{\*\cs21 \additive \rtlch\fcs1
+\af41\afs19 \ltrch\fcs0 \fs19\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink7 \slocked \styrsid15686224 Heading 7 Char;}{\*\cs22 \additive \rtlch\fcs1 \af41\afs19 \ltrch\fcs0 \fs19\loch\f41\hich\af41\dbch\af11
+\sbasedon10 \slink8 \slocked \styrsid15686224 Heading 8 Char;}{\*\cs23 \additive \rtlch\fcs1 \af41\afs19 \ltrch\fcs0 \fs19\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink9 \slocked \styrsid15686224 Heading 9 Char;}{
+\s24\ql \li357\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext24 \styrsid15686224 Body 1;}{\s25\ql \fi-363\li720\ri0\sb120\sa120\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext25 \styrsid15686224 Bullet 2;}{\s26\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar
+\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin1435\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext26 \styrsid15686224 Bullet 4;}{\s27\ql \fi-357\li1792\ri0\sb120\sa120\widctlpar\jclisttab\tx1795\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin1792\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext27 \styrsid15686224 Bullet 5;}{\s28\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1
+\ab\af41\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \styrsid15686224 Heading EULA;}{\s29\ql \li0\ri0\sb120\sa120\widctlpar\brdrb\brdrs\brdrw10\brsp20
+\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af41\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \styrsid15686224
+Heading Software Title;}{\s30\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext30 \styrsid15686224 Preamble;}{\s31\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
+\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls4\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon3 \snext31 \slink38 \styrsid15686224 Heading 3 Bold;}{\s32\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin1435\itap0 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0
+\fs19\ul\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon26 \snext32 \styrsid15686224 Bullet 4 Underline;}{\*\cs33 \additive \rtlch\fcs1 \af41 \ltrch\fcs0 \f41\lang1033\langfe1033\langnp1033\langfenp1033
+\sbasedon10 \styrsid15686224 Body 2 Char;}{\*\cs34 \additive \rtlch\fcs1 \af41 \ltrch\fcs0 \f41\lang1033\langfe1033\langnp1033\langfenp1033 \sbasedon10 \styrsid15686224 Body 3 Char;}{\s35\ql \li0\ri0\sb120\sa120\widctlpar\brdrt\brdrs\brdrw10\brsp20
+\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon30 \snext35 \styrsid15686224
+Preamble Border Above;}{\*\cs36 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf2 \sbasedon10 \styrsid15686224 Hyperlink,Char Char7;}{\s37\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1
+\ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \slink39 \styrsid15686224 Body 0 Bold;}{\*\cs38 \additive \rtlch\fcs1 \ab\af41\afs19 \ltrch\fcs0
+\b\fs19\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink31 \slocked \styrsid15686224 Heading 3 Bold Char;}{\*\cs39 \additive \rtlch\fcs1 \ab\af41\afs19 \ltrch\fcs0 \b\fs19\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink37 \slocked \styrsid15686224
+Body 0 Bold Char;}{\*\cs40 \additive \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \f41\fs20 \sbasedon10 \slink41 \slocked \styrsid15686224 Bullet 3 Char1;}{\s41\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls7\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af41\afs20\alang1025 \ltrch\fcs0 \f41\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext41 \slink40 \styrsid15686224 Bullet 3;}{
+\s42\ql \fi-357\li357\ri0\sb120\sa120\widctlpar\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls9\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \af41\afs20\alang1025 \ltrch\fcs0 \f41\fs20\ul\lang1033\langfe1033\cgrid\langnp1033\langfenp1033
+\sbasedon41 \snext42 \sautoupd \styrsid15686224 Bullet 3 Underline;}{\s43\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af41\afs16\alang1025 \ltrch\fcs0
+\fs16\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext43 \slink44 \ssemihidden \sunhideused \styrsid3699522 Balloon Text;}{\*\cs44 \additive \rtlch\fcs1 \af41\afs16 \ltrch\fcs0
+\fs16\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink43 \slocked \ssemihidden \styrsid3699522 Balloon Text Char;}{\*\cs45 \additive \rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \fs16 \sbasedon10 \ssemihidden \sunhideused \styrsid3699522 annotation reference;}{
+\s46\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af41\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext46 \slink47 \ssemihidden \sunhideused \styrsid3699522 annotation text;}{\*\cs47 \additive \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\f41\hich\af41\dbch\af11 \sbasedon10 \slink46 \slocked \ssemihidden \styrsid3699522
+Comment Text Char;}{\s48\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af41\afs20\alang1025 \ltrch\fcs0
+\b\fs20\lang1033\langfe1033\loch\f41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon46 \snext46 \slink49 \ssemihidden \sunhideused \styrsid3699522 annotation subject;}{\*\cs49 \additive \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0
+\b\fs20\loch\f41\hich\af41\dbch\af11 \sbasedon47 \slink48 \slocked \ssemihidden \styrsid3699522 Comment Subject Char;}}{\*\listtable{\list\listtemplateid1928476992{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af40\afs20 \ltrch\fcs0 \b\i0\f40\fs20\fbias0 \fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af40\afs20 \ltrch\fcs0 \b\i0\f40\fs20\fbias0 \fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af41\afs20 \ltrch\fcs0 \b\i0\f41\fs20\fbias0 \s31\fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\strike0\f40\fs20\ulnone\fbias0 \fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc1\levelnfcn1\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\strike0\f40\fs20\ulnone\fbias0 \fi-357\li1792\jclisttab\tx2155\lin1792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid398796681}
+{\list\listtemplateid789093748\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-317712510\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s25\fi-363\li720
+\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23
+\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691
+\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}
+\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid477573462}{\list\listtemplateid1904874988{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers
+\'01;}\rtlch\fcs1 \ab\ai0\af41\afs20 \ltrch\fcs0 \b\i0\f41\fs20\cf0\fbias0 \s1\fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'01.;}{\levelnumbers
+\'01;}\rtlch\fcs1 \ab\ai0\af41\afs20 \ltrch\fcs0 \b\i0\f41\fs20\fbias0 \s2\fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'02.;}{\levelnumbers
+\'01;}\rtlch\fcs1 \ab\ai0\af41\afs20 \ltrch\fcs0 \b\i0\f41\fs20\fbias0 \s3\fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'03.;}{\levelnumbers
+\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\strike0\f40\fs20\ulnone\fbias0 \s4\fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc1\levelnfcn1\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\strike0\f40\fs20\ulnone\fbias0 \s5\fi-357\li1792\jclisttab\tx2155\lin1792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s6\fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s7\fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s8\fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af40\afs20 \ltrch\fcs0 \b0\i0\f40\fs20\fbias0 \s9\fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid752163927}{\list\listtemplateid285099256
+\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-308626962\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s42\fi-357\li1077\jclisttab\tx1080\lin1077 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689
+\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}
+\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480
+\jclisttab\tx6480\lin6480 }{\listname ;}\listid1121073746}{\list\listtemplateid303218272\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid612407812
+\'01\u-3913 ?;}{\levelnumbers;}\f3\cf17\fbias0 \s26\fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0
+\fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0
+\fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23
+\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1559511898}{\list\listtemplateid-743794326\listhybrid
+{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid1229593488\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s41\fi-357\li1077\jclisttab\tx1080\lin1077 }{\listlevel\levelnfc23
+\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}
+\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760
+\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }
+{\listname ;}\listid1567649130}{\list\listtemplateid-961874242\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-1175557160\'01\u-3913 ?;}{\levelnumbers;}
+\f3\fbias0 \s27\fi-357\li1792\jclisttab\tx1795\lin1792 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440
+\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }
+{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23
+\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1848404271}}{\*\listoverridetable{\listoverride\listid477573462\listoverridecount0\ls1}{\listoverride\listid1559511898\listoverridecount0\ls2}
+{\listoverride\listid1848404271\listoverridecount0\ls3}{\listoverride\listid398796681\listoverridecount0\ls4}{\listoverride\listid752163927\listoverridecount0\ls5}{\listoverride\listid398796681\listoverridecount9{\lfolevel\listoverridestartat
+\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel
+\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}{\lfolevel\listoverridestartat\levelstartat1}\ls6}{\listoverride\listid1567649130\listoverridecount0\ls7}{\listoverride\listid1559511898\listoverridecount0\ls8}
+{\listoverride\listid1121073746\listoverridecount0\ls9}{\listoverride\listid752163927\listoverridecount0\ls10}}{\*\pgptbl {\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp5\itap0\li0\ri0\sb0\sa300}{\pgp\ipgp2\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0
+\sa0}{\pgp\ipgp7\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp1\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp6\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid874403\rsid1473980\rsid2177578\rsid2693076\rsid3699522\rsid4000782\rsid4423363\rsid6097754\rsid7214391\rsid8995160\rsid12062545
+\rsid13846008\rsid14566738\rsid14751308\rsid15014299\rsid15467703\rsid15686224\rsid15928942\rsid15934954}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author kathan}
+{\operator Alok Shriram}{\creatim\yr2013\mo3\dy20\hr15\min24}{\revtim\yr2013\mo3\dy20\hr15\min30}{\version4}{\edmins1}{\nofpages4}{\nofwords1340}{\nofchars7643}{\*\company Microsoft Corporation}{\nofcharsws8966}{\vern57427}}{\*\xmlnstbl {\xmlns1 http://sc
+hemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect
+\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen
+\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1440\dgvorigin1440\dghshow1\dgvshow1
+\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
+\asianbrkrule\rsidroot15686224\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0
+{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang
+{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang
+{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
+\pard\plain \ltrpar\s28\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs28\alang1025 \ltrch\fcs0
+\b\fs28\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 MICROSOFT SOFTWARE LICENSE TERMS
+\par }\pard\plain \ltrpar\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14566738 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid15686224\charrsid7214391 \hich\af41\dbch\af13\loch\f41 MICROSOFT }{\rtlch\fcs1 \ab\af41\afs20
+\ltrch\fcs0 \b\fs20\dbch\af13\insrsid13846008 \hich\af41\dbch\af13\loch\f41 BCL Build Component}{\rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid14566738 \hich\af41\dbch\af13\loch\f41 .dll }{\rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0
+\b\fs20\dbch\af13\insrsid7214391\charrsid7214391 \hich\af41\dbch\af13\loch\f41 PACKAGE}{\rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid15686224\charrsid7214391 \hich\af41\dbch\af13\loch\f41 }{\rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0
+\b\fs20\dbch\af13\insrsid14751308\charrsid7214391
+\par }\pard\plain \ltrpar\s29\ql \li0\ri0\sb120\sa120\nowidctlpar\brdrb\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs28\alang1025 \ltrch\fcs0
+\b\fs28\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\par }\pard\plain \ltrpar\s30\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41
+These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms
+\hich\af41\dbch\af13\loch\f41 a\hich\af41\dbch\af13\loch\f41 lso apply to any Microsoft
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s25\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin360\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 updates,
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 supplements,
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 Internet-based services, and
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 support services
+\par }\pard\plain \ltrpar\s30\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41
+for this software, unless other terms accompany those items. If so, those terms apply.
+\par }{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEP\hich\af41\dbch\af13\loch\f41 T THEM, DO NOT USE THE SOFTWARE.
+\par }\pard\plain \ltrpar\s35\ql \li0\ri0\sb120\sa120\nowidctlpar\brdrt\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\insrsid15686224 \hich\af41\dbch\af11\loch\f41 IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE PERPETUAL RIGHTS BELOW.}{
+\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 1.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid14566738 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 INSTALLATION AND USE RIGHTS. }{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid14566738 \hich\af41\dbch\af13\loch\f41 You}{\rtlch\fcs1
+\ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid14566738\charrsid15934954 \hich\af41\dbch\af13\loch\f41 may install and use any number of copies of the software on your devices to design, develop and test your pr\hich\af41\dbch\af13\loch\f41 ograms
+}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid14566738 .}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224\charrsid14566738 \hich\af41\dbch\af13\loch\f41 2.\tab}}{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0
+\fs20\dbch\af13\insrsid15686224\charrsid14566738 \hich\af41\dbch\af13\loch\f41 DISTRIBUTABLE CODE. }{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid14566738 \hich\af41\dbch\af13\loch\f41 }{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0
+\b0\fs20\dbch\af13\insrsid15686224\charrsid14566738 \hich\af41\dbch\af13\loch\f41 \hich\f41 The software is comprised of Distributable Code. \'93\loch\f41 \hich\f41 Distributable Code\'94\loch\f41
+ is code that you are permitted to distribute in programs you develop if you comply with the terms below.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 a.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls6\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 Right to Use and Distribute.
+\par {\listtext\pard\plain\ltrpar \s42 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s42\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls9\adjustright\rin0\lin1077\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs20\alang1025 \ltrch\fcs0 \f41\fs20\ul\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41 \ltrch\fcs0
+\ulnone\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 Yo\hich\af41\dbch\af13\loch\f41 u may copy and distribute the object code form of the software.
+\par {\listtext\pard\plain\ltrpar \s42 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af41 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41
+Third Party Distribution}{\rtlch\fcs1 \af41 \ltrch\fcs0 \ulnone\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 . You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 b.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls6\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 Distribution Requirements. For any Distribu\hich\af41\dbch\af13\loch\f41
+table Code you distribute, you must
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s41\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls7\adjustright\rin0\lin1077\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs20\alang1025 \ltrch\fcs0 \f41\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41 \ltrch\fcs0
+\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 add significant primary functionality to it in your programs;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41
+for any Distributable Code having a filename extension of .lib, distribute only the results of running such Distributable Code through a linker with your \hich\af41\dbch\af13\loch\f41 program;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41
+distribute Distributable Code included in a setup program only as part of that setup program without modification;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41
+require distributors and external end users to agree to terms that protect it at least as much as this agreement;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 display your valid copyright notice on your programs; and
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41
+indemnify, defend, and hold harmless Microsoft from any claims, including attorneys\hich\f41 \rquote \loch\f41 fees, related to the distribution or use of your programs.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\fs20\loch\af40\hich\af40\dbch\af13\insrsid15686224 \hich\af40\dbch\af13\loch\f40 c.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls6\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 Distribution Restrictions. You may not
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s41\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls7\adjustright\rin0\lin1077\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs20\alang1025 \ltrch\fcs0 \f41\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41 \ltrch\fcs0
+\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 alter an\hich\af41\dbch\af13\loch\f41 y copyright, trademark or patent notice in the Distributable Code;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 use Microsoft\hich\f41 \rquote \loch\f41
+s trademarks in your programs\hich\f41 \rquote \loch\f41 names or in a way that suggests your programs come from or are endorsed by Microsoft;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 distribute Distributable Code to run on a platform oth
+\hich\af41\dbch\af13\loch\f41 er than the Windows platform;
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41
+include Distributable Code in malicious, deceptive or unlawful programs; or
+\par {\listtext\pard\plain\ltrpar \s41 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41
+modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License \hich\af41\dbch\af13\loch\f41 is one that requires, as a condition of use, modification or distribution, that
+
+\par {\listtext\pard\plain\ltrpar \s26 \rtlch\fcs1 \af41\afs19 \ltrch\fcs0 \fs19\cf17\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s26\ql \fi-358\li1435\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls8\adjustright\rin0\lin1435\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af41 \ltrch\fcs0 \dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 the code be disclosed or distributed in source code form; or
+\par {\listtext\pard\plain\ltrpar \s27 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s27\ql \fi-357\li1792\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1795\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin1792\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 others have the right to modify it.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 3.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 SCOPE OF LICENSE.}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41
+ The software is licensed, not sold. This agreement onl\hich\af41\dbch\af13\loch\f41
+y gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply wit
+\hich\af41\dbch\af13\loch\f41 h\hich\af41\dbch\af13\loch\f41 any technical limitations in the software that only allow you to use it in certain ways. You may not
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s25\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 work around any technical limitations in the software;
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41
+reverse engineer, decompile or disassemble the software, except and only to the extent that app\hich\af41\dbch\af13\loch\f41 licable law expressly permits, despite this limitation;
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41
+make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation;
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 publish the software for others to copy;
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 rent, lease or lend the software\hich\af41\dbch\af13\loch\f41 ;
+
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 transfer the software or this agreement to any third party; or
+
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 use the software for commercial software hosting services.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 4.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 BACKUP COPY.}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41
+ You may make one backup copy of the software. You may use it only to reinstall the software.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 5.\tab}}{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af41\dbch\af13\loch\f41 DOCUMENTATION.}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41
+ Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 6.\tab}}{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af41\dbch\af13\loch\f41 EXPORT RESTRICTIONS.}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 The software is subject to United States export laws and regulations. You must comply w
+\hich\af41\dbch\af13\loch\f41 ith all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see }{\rtlch\fcs1 \ab0\af0\afs20
+\ltrch\fcs0 \cs36\b0\fs20\ul\cf2\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 www.microsoft.com/exporting}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 .}{\rtlch\fcs1 \ab0\af0\afs20 \ltrch\fcs0
+\cs36\b0\fs20\ul\cf2\dbch\af13\insrsid15686224
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 7.\tab}}{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af41\dbch\af13\loch\f41 SUPPORT SERVICES. }{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 Because thi\hich\af41\dbch\af13\loch\f41 \hich\f41 s software is \'93\loch\f41 \hich\f41 as is,\'94
+\loch\f41 we may not provide support services for it.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 8.\tab}}{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af41\dbch\af13\loch\f41 ENTIRE AGREEMENT.}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41
+ This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support\hich\af41\dbch\af13\loch\f41 services.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 9.\tab}}\pard \ltrpar\s1\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin360\itap0\pararsid15686224 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 APPLICABLE LAW.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 a.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls5\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 United States.}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0
+\b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41
+ If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws\hich\af41\dbch\af13\loch\f41
+ of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 b.\tab}}{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224
+\hich\af41\dbch\af13\loch\f41 Outside the United States.}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 If you acquired the software in any other country, the laws of that country app
+\hich\af41\dbch\af13\loch\f41 ly.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 10.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 LEGAL EFFECT.}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41
+ This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your right
+\hich\af41\dbch\af13\loch\f41 s under the laws of your country if the laws of your country do not permit it to do so.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 11.\tab}}\pard \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\widctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 \hich\f41
+DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED \'93\loch\f41 \hich\f41 AS-IS.\'94\loch\f41 YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HA\hich\af41\dbch\af13\loch\f41
+VE ADDITIONAL CONSUMER RIGHTS OR STATUTORY GUARANTEES UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE A
+\hich\af41\dbch\af13\loch\f41 N\hich\af41\dbch\af13\loch\f41 D NON-INFRINGEMENT.
+\par }\pard\plain \ltrpar\s24\ql \li357\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 FOR AUSTRALIA \hich\f41 \endash \loch\f41
+ YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE RIGHTS.
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\loch\af41\hich\af41\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 12.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\widctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls5\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES}{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\insrsid15686224 \hich\af41\dbch\af11\loch\f41
+. YOU CAN RECOVER FROM MICROSOFT AND I\hich\af41\dbch\af11\loch\f41 TS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.
+\par }\pard\plain \ltrpar\s24\ql \li357\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin357\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 This limitation applies to
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s25\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 anything related to the software, services, content (inclu\hich\af41\dbch\af13\loch\f41 ding code) on third party Internet sites, or third party programs; and
+\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid15686224 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41
+claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.
+\par }\pard\plain \ltrpar\ql \li360\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid15686224 \rtlch\fcs1 \af41\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15686224 \hich\af41\dbch\af13\loch\f41 It also applies even \hich\af41\dbch\af13\loch\f41
+if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages.
+\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15014299 {\rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid15014299\charrsid15014299 \hich\af41\dbch\af13\loch\f41
+Please note: A\hich\af41\dbch\af13\loch\f41 s this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French.
+\par }{\rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299
+\par
+\par }{\rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af41\dbch\af13\loch\f41 \hich\f41 Remarque : Ce logiciel \'e9\loch\f41 \hich\f41 tant distribu\'e9\loch\f41 \hich\f41 au Qu
+\'e9\loch\f41 \hich\f41 bec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en fran\'e7\loch\f41 ais.
+\par \hich\af41\dbch\af13\loch\f41 EX\hich\af41\dbch\af13\loch\f41 \hich\f41 ON\'c9\loch\f41 RATION DE GARANTIE.}{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af41\dbch\af13\loch\f41
+\hich\f41 Le logiciel vis\'e9\loch\f41 \hich\f41 par une licence est offert \'ab\loch\f41 \hich\f41 tel quel \'bb\loch\f41 \hich\f41 . Toute utilisation de ce logiciel est \'e0\loch\f41 \hich\f41 votre seule risque et p\'e9\loch\f41 ril. Microsoft n
+\hich\f41 \rquote \loch\f41 \hich\f41 accorde aucune autre garantie expresse. Vous pouvez b\'e9\loch\f41 \hich\f41 n\'e9\loch\f41 ficier de droits additionnels en vertu \hich\af41\dbch\af13\loch\f41 \hich\f41
+du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualit\'e9\loch\f41 marchande, d\hich\f41 \rquote \loch\f41 \hich\f41 ad\'e9\loch\f41
+\hich\f41 quation \'e0\loch\f41 un usage particulier et d\hich\f41 \rquote \loch\f41 \hich\f41 absence de contrefa\'e7\loch\f41 on sont exclues.
+\par }{\rtlch\fcs1 \ab\af41\afs20 \ltrch\fcs0 \b\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af41\dbch\af13\loch\f41 \hich\f41 LIMITATION DES DOMMAGES-INT\'c9\loch\f41 \hich\f41 R\'ca\loch\f41 \hich\f41
+TS ET EXCLUSION DE RESPONSABILIT\'c9\loch\f41 POUR LES DOMMAGES.}{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af41\dbch\af13\loch\f41 \hich\f41
+ Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement \'e0\loch\f41 \hich\f41 hauteur de 5,00 $ US. Vous ne pouvez pr\'e9\loch\f41 \hich\f41 tendre \'e0\loch\f41 aucune in
+\hich\af41\dbch\af13\loch\f41 \hich\f41 demnisation pour les autres dommages, y compris les dommages sp\'e9\loch\f41 \hich\f41 ciaux, indirects ou accessoires et pertes de b\'e9\loch\f41 \hich\f41 n\'e9\loch\f41 fices.
+\par }{\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid15014299\charrsid15014299 \hich\af41\dbch\af13\loch\f41 Cette limitation concerne :
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\loch\af3\hich\af3\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard \ltrpar
+\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin360\itap0\pararsid15014299 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0
+\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af41\dbch\af13\loch\f41 \hich\f41 tout ce qui est reli\'e9\loch\f41 au logiciel, aux services ou au contenu (y compris le code) figurant sur d
+\hich\af41\dbch\af13\loch\f41 es sites Internet tiers ou dans des programmes tiers ; et
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\loch\af3\hich\af3\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af41\dbch\af13\loch\f41 \hich\f41 les r\'e9
+\loch\f41 \hich\f41 clamations au titre de violation de contrat ou de garantie, ou au titre de responsabilit\'e9\loch\f41 \hich\f41 stricte, de n\'e9\loch\f41 gligence ou d\hich\f41 \rquote \loch\f41 \hich\f41 une autre faute dans la limite autoris\'e9
+\loch\f41 e par la loi en vigueur.
+\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15014299 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299
+\hich\af41\dbch\af13\loch\f41 Elle s\hich\f41 \rquote \hich\af41\dbch\af13\loch\f41 \hich\f41 applique \'e9\loch\f41 \hich\f41 galement, m\'ea\loch\f41 \hich\f41 me si Microsoft connaissait ou devrait conna\'ee\loch\f41 tre l\hich\f41 \rquote \'e9
+\loch\f41 \hich\f41 ventualit\'e9\loch\f41 d\hich\f41 \rquote \loch\f41 un tel dommage. Si votre pays n\hich\f41 \rquote \loch\f41 autorise pas l\hich\f41 \rquote \loch\f41 \hich\f41 exclusion ou la limitation de responsabilit\'e9\loch\f41
+ pour les dommages indirects, accessoires ou de quelque nature que ce soit, i\hich\af41\dbch\af13\loch\f41 l\hich\af41\dbch\af13\loch\f41 se peut que la limitation ou l\hich\f41 \rquote \loch\f41 exclusion ci-dessus ne s\hich\f41 \rquote \loch\f41
+\hich\f41 appliquera pas \'e0\loch\f41 \hich\f41 votre \'e9\loch\f41 gard.
+\par }\pard\plain \ltrpar\s37\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15014299 \rtlch\fcs1 \ab\af41\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af41\hich\af41\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af41\dbch\af13\loch\f41 EFFET JURIDIQUE.}{
+\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299\charrsid15014299 \hich\af41\dbch\af13\loch\f41 \hich\f41 Le pr\'e9\loch\f41 \hich\f41 sent contrat d\'e9\loch\f41
+crit certains droits juridiques. Vous pourriez avoir d\hich\f41 \rquote \loch\f41 \hich\f41 autres droits pr\'e9\loch\f41 \hich\f41 vus par les lois de votre pays. Le pr\'e9\loch\f41 sent contrat ne modif\hich\af41\dbch\af13\loch\f41 \hich\f41
+ie pas les droits que vous conf\'e8\loch\f41 rent les lois de votre pays si celles-ci ne le permettent pas}{\rtlch\fcs1 \ab0\af41\afs20 \ltrch\fcs0 \b0\fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid15014299 .}{\rtlch\fcs1 \af41 \ltrch\fcs0
+\insrsid4000782
+\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a
+9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad
+5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6
+b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0
+0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6
+a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f
+c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512
+0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462
+a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865
+6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b
+4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b
+4757e8d3f729e245eb2b260a0238fd010000ffff0300504b03041400060008000000210030dd4329a8060000a41b0000160000007468656d652f7468656d652f
+7468656d65312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87
+615b8116d8a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad
+79482a9c0498f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b
+5d8a314d3c94e018c8de1a8fa94fd05093f43672e23d06af89927ac06762a049136785c10607758d9053d965021d62d6f6804fc08f86e4bef210c352c144dbab
+999fb7b4717509af678b985ab0b6b4ae6f7ed9ba6c4170b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83a6569632cd467faddec9
+699640f6719e76b7d6ac355c7c89feca9cccad4ea7d36c65b258a206641f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd586
+8b37a088d1e4600ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe3a20f000d6458d104a9694ac6d88728eee2782428d6
+0cf03ac1a5193be4cbb921cd0b495fd054b5bd0f530c1931a3f7eaf9f7af9e3f45c70f9e1d3ff8e9f8e1c3e3073f5a42ceaa6d9c84e5552fbffdeccfc71fa33f
+9e7ef3f2d117d57859c6fffac327bffcfc793510d26726ce8b2f9ffcf6ecc98baf3efdfdbb4715f04d814765f890c644a29be408edf3181433567125272371be
+15c308d3f28acd249438c19a4b05fd9e8a1cf4cd296699771c393ac4b5e01d01e5a30a787d72cf1178108989a2159c77a2d801ee72ce3a5c545a6147f32a9979
+3849c26ae66252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d
+32a423279a668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2a
+f074481847bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86
+e877f0034e16bafb0e258ebb4faf06b769e888340b103d331115bebc4eb813bf83291b63624a0d1475a756c734f9bbc2cd28546ecbe1e20a3794ca175f3fae90
+fb6d2dd99bb07b55e5ccf68942bd0877b23c77b908e8db5f9db7f024d9239010f35bd4bbe2fcae387bfff9e2bc289f2fbe24cfaa301468dd8bd846dbb4ddf1c2
+ae7b4c191ba8292337a469bc25ec3d411f06f53a73e224c5292c8de0516732307070a1c0660d125c7d44553488700a4d7bddd3444299910e254ab984c3a219ae
+a4adf1d0f82b7bd46cea4388ad1c12ab5d1ed8e1153d9c9f350a3246aad01c6873462b9ac05999ad5cc988826eafc3acae853a33b7ba11cd1445875ba1b236b1
+399483c90bd560b0b0263435085a21b0f22a9cf9356b38ec6046026d77eba3dc2dc60b17e92219e180643ed27acffba86e9c94c7ca9c225a0f1b0cfae0788ad5
+4adc5a9aec1b703b8b93caec1a0bd8e5de7b132fe5113cf312503b998e2c2927274bd051db6b35979b1ef271daf6c6704e86c73805af4bdd476216c26593af84
+0dfb5393d964f9cc9bad5c313709ea70f561ed3ea7b053075221d51696910d0d339585004b34272bff7213cc7a510a5454a3b349b1b206c1f0af490176745d4b
+c663e2abb2b34b23da76f6352ba57ca2881844c1111ab189d8c7e07e1daaa04f40255c77988aa05fe06e4e5bdb4cb9c5394bbaf28d98c1d971ccd20867e556a7
+689ec9166e0a522183792b8907ba55ca6e943bbf2a26e52f48957218ffcf54d1fb09dc3eac04da033e5c0d0b8c74a6b43d2e54c4a10aa511f5fb021a07533b20
+5ae07e17a621a8e082dafc17e450ffb739676998b48643a4daa7211214f623150942f6a02c99e83b85583ddbbb2c4996113211551257a656ec1139246ca86be0
+aadedb3d1441a89b6a929501833b197fee7b9641a3503739e57c732a59b1f7da1cf8a73b1f9bcca0945b874d4393dbbf10b1680f66bbaa5d6f96e77b6f59113d
+316bb31a795600b3d256d0cad2fe354538e7566b2bd69cc6cbcd5c38f0e2bcc63058344429dc2121fd07f63f2a7c66bf76e80d75c8f7a1b622f878a18941d840
+545fb28d07d205d20e8ea071b283369834296bdaac75d256cb37eb0bee740bbe278cad253b8bbfcf69eca23973d939b97891c6ce2cecd8da8e2d343578f6648a
+c2d0383fc818c798cf64e52f597c740f1cbd05df0c264c49134cf09d4a60e8a107260f20f92d47b374e32f000000ffff0300504b030414000600080000002100
+0dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f7
+8277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89
+d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd500
+1996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0f
+bfff0000001c0200001300000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6
+a7e7c0000000360100000b00000000000000000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a
+0000001c00000000000000000000000000190200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d00140006000800000021
+0030dd4329a8060000a41b00001600000000000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d001400060008
+00000021000dd1909fb60000001b0100002700000000000000000000000000b20900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000ad0a00000000}
+{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
+617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
+6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
+656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
+{\*\latentstyles\lsdstimax371\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdlocked0 heading 1;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 7;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1;
+\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7;
+\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;
+\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;
+\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority59 \lsdlocked0 Table Grid;\lsdsemihidden1 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;
+\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid;\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1;
+\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2;\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;
+\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1;\lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1;
+\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdsemihidden1 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;
+\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;
+\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;
+\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;
+\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;
+\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3;
+\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;
+\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;
+\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4;
+\lsdpriority62 \lsdlocked0 Light Grid Accent 4;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;
+\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
+\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5;
+\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
+\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;
+\lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6;
+\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;
+\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;
+\lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
+\lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4;
+\lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4;
+\lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1;
+\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1;
+\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2;
+\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2;
+\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3;
+\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4;
+\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4;
+\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5;
+\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5;
+\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6;
+\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6;
+\lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark;
+\lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1;
+\lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1;
+\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2;
+\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3;
+\lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3;
+\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4;
+\lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4;
+\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5;
+\lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5;
+\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6;
+\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;}}{\*\datastore 010500000200000018000000
+4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000
+d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000409a
+6c7cba25ce01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/Microsoft.Bcl.Build.1.0.4.nupkg b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/Microsoft.Bcl.Build.1.0.4.nupkg
new file mode 100644
index 0000000..6c21484
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/Microsoft.Bcl.Build.1.0.4.nupkg
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/Microsoft.Bcl.Build.1.0.4.nuspec b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/Microsoft.Bcl.Build.1.0.4.nuspec
new file mode 100644
index 0000000..96831f2
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/Microsoft.Bcl.Build.1.0.4.nuspec
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
+ <metadata>
+ <id>Microsoft.Bcl.Build</id>
+ <version>1.0.4</version>
+ <title>Microsoft BCL Build Components</title>
+ <authors>Microsoft</authors>
+ <owners>Microsoft</owners>
+ <licenseUrl>http://go.microsoft.com/fwlink/?LinkID=296407</licenseUrl>
+ <projectUrl>http://go.microsoft.com/fwlink/?LinkID=296436</projectUrl>
+ <iconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</iconUrl>
+ <requireLicenseAcceptance>true</requireLicenseAcceptance>
+ <description>This package provides build infrastructure components so that projects referencing specific Microsoft packages can successfully build.</description>
+ <summary>Provides build infrastructure components for Microsoft packages.</summary>
+ <copyright>Copyright © Microsoft Corporation</copyright>
+ <tags>BCL Microsoft</tags>
+ <references />
+ </metadata>
+</package> \ No newline at end of file
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/net40/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/net40/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/net40/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/netcore45/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/netcore45/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/netcore45/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/portable-net40+win8+sl4+wp71/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/portable-net40+win8+sl4+wp71/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/portable-net40+win8+sl4+wp71/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/sl4-windowsphone71/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/sl4-windowsphone71/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/sl4-windowsphone71/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/sl4/_._ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/sl4/_._
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/content/sl4/_._
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/tools/Install.ps1 b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/tools/Install.ps1
new file mode 100644
index 0000000..66af151
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/tools/Install.ps1
@@ -0,0 +1,18 @@
+param($installPath, $toolsPath, $package, $project)
+ # This is the MSBuild targets file to add
+ $targetsFile = [System.IO.Path]::Combine($toolsPath, $package.Id + '.targets')
+
+ # Need to load MSBuild assembly if it's not loaded yet.
+ Add-Type -AssemblyName 'Microsoft.Build, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
+
+ # Grab the loaded MSBuild project for the project
+ $msbuild = [Microsoft.Build.Evaluation.ProjectCollection]::GlobalProjectCollection.GetLoadedProjects($project.FullName) | Select-Object -First 1
+
+ # Make the path to the targets file relative.
+ $projectUri = new-object Uri('file://' + $project.FullName)
+ $targetUri = new-object Uri('file://' + $targetsFile)
+ $relativePath = $projectUri.MakeRelativeUri($targetUri).ToString().Replace([System.IO.Path]::AltDirectorySeparatorChar, [System.IO.Path]::DirectorySeparatorChar)
+
+ # Add the import and save the project
+ $msbuild.Xml.AddImport($relativePath) | out-null
+ $project.Save() \ No newline at end of file
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/tools/Microsoft.Bcl.Build.Tasks.dll b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/tools/Microsoft.Bcl.Build.Tasks.dll
new file mode 100644
index 0000000..2097a51
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/tools/Microsoft.Bcl.Build.Tasks.dll
Binary files differ
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/tools/Microsoft.Bcl.Build.targets b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/tools/Microsoft.Bcl.Build.targets
new file mode 100644
index 0000000..7af7a89
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/tools/Microsoft.Bcl.Build.targets
@@ -0,0 +1,227 @@
+<!--
+***********************************************************************************************
+Microsoft.Bcl.targets
+
+WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
+ created a backup copy. Incorrect changes to this file will make it
+ impossible to load or build your projects from the command-line or the IDE.
+
+Copyright (C) Microsoft Corporation. All rights reserved.
+***********************************************************************************************
+-->
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' != 'Silverlight'">
+ <!--
+ Workaround MSBuild issue that prevents System.Runtime 2.5 and System.Threading.Tasks 2.5 from
+ satisfying indirect dependencies on System.Runtime 1.5 and System.Threading.Tasks 1.5 respectively.
+ -->
+ <AutoUnifyAssemblyReferences>false</AutoUnifyAssemblyReferences>
+
+ <!-- MSBuild by default doesn't pass the Web.Config ResolveAssemblyReference, in which case, set it so that it sees binding redirects -->
+ <AppConfig Condition="'$(AppConfig)' == '' And '$(WebProjectOutputDir)' != '' And Exists('$(ProjectConfigFileName)')">$(ProjectConfigFileName)</AppConfig>
+ </PropertyGroup>
+
+ <!-- Workaround issue that incorrectly unifies references not in the current profile to the version in the superset of all profiles. -->
+ <Target Name="_BclBuildSetFullFrameworkFolderToProfile" AfterTargets="GetReferenceAssemblyPaths" Condition="'$(TargetFrameworkIdentifier)' == '.NETPortable'">
+ <PropertyGroup>
+ <_FullFrameworkReferenceAssemblyPaths>$(TargetFrameworkDirectory)</_FullFrameworkReferenceAssemblyPaths>
+ </PropertyGroup>
+ </Target>
+
+ <!--
+ *******************************************************************************************************************
+ *******************************************************************************************************************
+ EnsureBindingRedirects Section
+ *******************************************************************************************************************
+ *******************************************************************************************************************
+ -->
+ <PropertyGroup>
+ <__IntermediateAppConfig>$(IntermediateOutputPath)$(MSBuildProjectFile).App.config</__IntermediateAppConfig>
+ </PropertyGroup>
+
+ <UsingTask TaskName="EnsureBindingRedirects" AssemblyFile="$(MSBuildThisFileDirectory)Microsoft.Bcl.Build.Tasks.dll" />
+
+ <!--
+ ===================================================================================================================
+ BclBuildDetermineReferencesToRedirect
+
+ Determine which references are opted in for binding redirects
+ ===================================================================================================================
+ -->
+ <Target Name="BclBuildDetermineReferencesToRedirect" BeforeTargets="BclBuildEnsureBindingRedirects">
+ <!-- Convention is a file next to the reference with name "ensureRedirect.xml" -->
+ <ItemGroup>
+ <_EnsureBindingRedirectReference Include="@(Reference)"
+ Condition="'%(Reference.HintPath)' != '' and Exists('$([System.IO.Path]::GetDirectoryName(&quot;%(Reference.HintPath)&quot;))\\ensureRedirect.xml')" />
+ </ItemGroup>
+ </Target>
+
+ <!--
+ ===================================================================================================================
+ BclBuildEnsureBindingRedirects
+
+ Generate a new app.config with merged binding redirects if we have binding redirects to ensure and it's out of date
+ ===================================================================================================================
+ -->
+ <Target Name="BclBuildEnsureBindingRedirects"
+ DependsOnTargets="BclBuildDetermineReferencesToRedirect"
+ BeforeTargets="ResolveAssemblyReferences"
+ Condition="'@(_EnsureBindingRedirectReference)' != ''"
+ Inputs="$(MSBuildAllProjects);$(AppConfig);@(_EnsureBindingRedirectReference->'%(HintPath)')"
+ Outputs="$(__IntermediateAppConfig)">
+
+ <EnsureBindingRedirects References="@(_EnsureBindingRedirectReference->'%(HintPath)')"
+ SourceAppConfigPath="$(AppConfig)"
+ DestinationAppConfigPath="$(__IntermediateAppConfig)">
+ <Output TaskParameter="DestinationAppConfigPath" ItemName="FileWrites"/>
+ </EnsureBindingRedirects>
+ </Target>
+
+ <!--
+ ===================================================================================================================
+ BclBuildUpdateAppConfigWithTargetPath
+
+ Update project properties to point to the generated app.config
+ ===================================================================================================================
+ -->
+ <Target Name="BclBuildUpdateAppConfigWithTargetPath"
+ DependsOnTargets="BclBuildDetermineReferencesToRedirect;BclBuildEnsureBindingRedirects"
+ BeforeTargets="ResolveAssemblyReferences"
+ Condition="'@(_EnsureBindingRedirectReference)' != ''">
+ <PropertyGroup>
+ <AppConfig>$(__IntermediateAppConfig)</AppConfig>
+ </PropertyGroup>
+ <ItemGroup>
+ <AppConfigWithTargetPath Remove="@(AppConfigWithTargetPath)" />
+ <AppConfigWithTargetPath Include="$(AppConfig)">
+ <TargetPath>$(TargetFileName).config</TargetPath>
+ </AppConfigWithTargetPath>
+ </ItemGroup>
+ </Target>
+
+
+ <!--
+ *******************************************************************************************************************
+ *******************************************************************************************************************
+ ValidatePackageReferences Section
+
+ This group of targets enables validation of nuget package references when building inside VisualStudio.
+ *******************************************************************************************************************
+ *******************************************************************************************************************
+ -->
+
+ <!--
+ ===================================================================================================================
+ BclBuildAddProjectReferenceProperties
+
+ Adds properties to be set when resolving project references. The properties ensure that the references get built
+ in the context of the referencer (by changing the set of properties used to build the project) and pass down the
+ context needed to validate the referencing project.
+ ===================================================================================================================
+ -->
+ <Target Name="BclBuildAddProjectReferenceProperties"
+ BeforeTargets="AssignProjectConfiguration"
+ Condition="'$(BuildingInsideVisualStudio)' == 'true'">
+ <PropertyGroup>
+ <_BclBuildProjectReferenceProperties>BclBuildReferencingProject=$(MSBuildProjectFullPath);BclBuildReferencingProjectConfig=$(MSBuildProjectDirectory)\packages.config</_BclBuildProjectReferenceProperties>
+ <_BclBuildProjectReferenceProperties Condition="'$(SkipValidatePackageReferences)' != ''">$(_BclBuildProjectReferenceProperties);SkipValidatePackageReferences=$(SkipValidatePackageReferences)</_BclBuildProjectReferenceProperties>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <ProjectReference>
+ <Properties>%(ProjectReference.Properties);$(_BclBuildProjectReferenceProperties)</Properties>
+ </ProjectReference>
+ </ItemGroup>
+ </Target>
+
+ <!--
+ ===================================================================================================================
+ BclBuildSetRunningFullBuild
+
+ Determines when a full build is running as opposed to a single target.
+ ===================================================================================================================
+ -->
+ <Target Name="BclBuildSetRunningFullBuild"
+ BeforeTargets="BuildOnlySettings">
+ <PropertyGroup>
+ <BclBuildRunningFullBuild>true</BclBuildRunningFullBuild>
+ </PropertyGroup>
+ </Target>
+
+ <!--
+ ===================================================================================================================
+ GetTargetPath/BclBuildGetTargetPath
+
+ MSBuild will only build a target once for a given set of properties.
+
+ We need that single build of GetTargetPath to run during project reference resolution, so that we can detect a
+ referencing project that doesn't have Bcl.Build.
+
+ To accomplish this we replace GetTargetPath with BclBuildGetTargetPath when running a full build.
+ ===================================================================================================================
+ -->
+ <Target
+ Name="GetTargetPath"
+ Condition="'$(BclBuildRunningFullBuild)' != 'true'"
+ DependsOnTargets="$(GetTargetPathDependsOn)"
+ Returns="$(TargetPath)"/>
+
+ <Target
+ Name="BclBuildGetTargetPath"
+ Condition="'$(BclBuildRunningFullBuild)' == 'true'"
+ AfterTargets="GetTargetPath"
+ Returns="$(TargetPath)">
+ <PropertyGroup>
+ <!-- Reset BclBuildRunningFullBuild, it will be set again when doing a full build. -->
+ <BclBuildRunningFullBuild>false</BclBuildRunningFullBuild>
+ </PropertyGroup>
+ </Target>
+
+ <!--
+ ===================================================================================================================
+ BclBuildValidateNugetPackageReferences
+
+ This target validates that any Nuget packages installed in the current project are also installed in projects
+ referencing the current project.
+
+ This is necessary because Nuget packages contain more than just simple references. Installing the package ensures
+ 1. The right set of references for the target framework are added
+ 2. Config file transforms are applied
+ 3. Project installation scripts are run
+
+ For all packages listed as installed for the current project in packages config, if the package ID matches one
+ specified in @(ValidatePackages), ensure that the same package is installed in the referencing project.
+
+ This target can be disabled for a project reference by setting SkipValidatePackageReferences=true for the reference:
+ <ProjectReference Include="..\pcl\pcl.csproj">
+ <Project>{664a9e98-fac7-4567-a046-0dde95fddb48}</Project>
+ <Name>pcl</Name>
+ <Properties>SkipValidatePackageReferences=true</Properties>
+ </ProjectReference>
+
+ This target can be disabled for all references to a project by adding the following:
+ <PropertyGroup>
+ <SkipValidatePackageReferences>true</SkipValidatePackageReferences>
+ </PropertyGroup>
+ ===================================================================================================================
+ -->
+ <UsingTask TaskName="ValidatePackageReferences" AssemblyFile="$(MSBuildThisFileDirectory)Microsoft.Bcl.Build.Tasks.dll" />
+ <Target Name="BclBuildValidateNugetPackageReferences"
+ Condition="'$(BclBuildRunningFullBuild)' != 'true' AND '$(SkipValidatePackageReferences)' != 'true' AND '$(BuildingInsideVisualStudio)' == 'true'"
+ BeforeTargets="GetTargetPath">
+ <ItemGroup>
+ <ValidatePackages Include="Microsoft.Bcl"/>
+ <ValidatePackages Include="Microsoft.Bcl.Async"/>
+ <ValidatePackages Include="Microsoft.Bcl.Compression"/>
+ <ValidatePackages Include="Microsoft.Net.Http"/>
+ </ItemGroup>
+
+ <ValidatePackageReferences Packages="@(ValidatePackages)"
+ ReferencingProject="$(BclBuildReferencingProject)"
+ ReferencingProjectPackagesConfig="$(BclBuildReferencingProjectConfig)"
+ ReferencedProject="$(MSBuildProjectFullPath)"
+ ReferencedProjectPackagesConfig="$(MSBuildProjectDirectory)\packages.config"
+ TreatWarningsAsErrors="$(TreatWarningsAsErrors)" />
+ </Target>
+</Project> \ No newline at end of file
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/tools/Uninstall.ps1 b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/tools/Uninstall.ps1
new file mode 100644
index 0000000..e43af29
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.4/tools/Uninstall.ps1
@@ -0,0 +1,13 @@
+param($installPath, $toolsPath, $package, $project)
+
+ # Need to load MSBuild assembly if it's not loaded yet.
+ Add-Type -AssemblyName 'Microsoft.Build, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
+
+ # Grab the loaded MSBuild project for the project
+ $msbuild = [Microsoft.Build.Evaluation.ProjectCollection]::GlobalProjectCollection.GetLoadedProjects($project.FullName) | Select-Object -First 1
+ $importToRemove = $msbuild.Xml.Imports | Where-Object { $_.Project.Endswith($package.Id + '.targets') }
+
+ # Add the import and save the project
+ $msbuild.Xml.RemoveChild($importToRemove) | out-null
+ $project.Save()
+ \ No newline at end of file
diff --git a/Rx/NET/Source/packages/repositories.config b/Rx/NET/Source/packages/repositories.config
new file mode 100644
index 0000000..ed831ea
--- /dev/null
+++ b/Rx/NET/Source/packages/repositories.config
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<repositories>
+ <repository path="..\System.Reactive.Core\packages.config" />
+</repositories> \ No newline at end of file