BlockingCollection<T>::TryAddToAny Method (array<BlockingCollection<T>^>^, T, TimeSpan)
Tries to add the specified item to any one of the specified BlockingCollection<T> instances while observing the specified cancellation token.
Assembly: System (in System.dll)
public: static int TryAddToAny( array<BlockingCollection<T>^>^ collections, T item, TimeSpan timeout )
Parameters
- collections
-
Type:
array<System.Collections.Concurrent::BlockingCollection<T>^>^
The array of collections.
- item
-
Type:
T
The item to be added to one of the collections.
- timeout
-
Type:
System::TimeSpan
A TimeSpan that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.
Return Value
Type: System::Int32The index of the collection in the collections array to which the item was added, or -1 if the item could not be added.
| Exception | Condition |
|---|---|
| ObjectDisposedException | At least one of the BlockingCollection<T> instances or the CancellationTokenSource that created cancellationToken has been disposed. |
| ArgumentNullException | The collections argument is null. |
| ArgumentOutOfRangeException | timeout is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than MaxValue. -or- The count of collections is greater than the maximum size of 62 for STA and 63 for MTA. |
| ArgumentException | The collections argument is a 0-length array or contains a null element, or at least one of collections has been marked as complete for adding. |
| InvalidOperationException | At least one underlying collection didn't accept the item. |
This method can return early if the cancellationToken is cancelled before space was available for the Add operation.
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Windows Phone
Available since 8.1