BufferBlock<T> Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает буфер для хранения данных в потоке данных.
generic <typename T>
public ref class BufferBlock sealed : System::Threading::Tasks::Dataflow::IPropagatorBlock<T, T>, System::Threading::Tasks::Dataflow::IReceivableSourceBlock<T>, System::Threading::Tasks::Dataflow::ISourceBlock<T>, System::Threading::Tasks::Dataflow::ITargetBlock<T>
public sealed class BufferBlock<T> : System.Threading.Tasks.Dataflow.IPropagatorBlock<T,T>, System.Threading.Tasks.Dataflow.IReceivableSourceBlock<T>, System.Threading.Tasks.Dataflow.ISourceBlock<T>, System.Threading.Tasks.Dataflow.ITargetBlock<T>
type BufferBlock<'T> = class
interface IPropagatorBlock<'T, 'T>
interface ITargetBlock<'T>
interface IDataflowBlock
interface ISourceBlock<'T>
interface IReceivableSourceBlock<'T>
type BufferBlock<'T> = class
interface IDataflowBlock
interface IPropagatorBlock<'T, 'T>
interface ISourceBlock<'T>
interface ITargetBlock<'T>
interface IReceivableSourceBlock<'T>
Public NotInheritable Class BufferBlock(Of T)
Implements IPropagatorBlock(Of T, T), IReceivableSourceBlock(Of T), ISourceBlock(Of T), ITargetBlock(Of T)
Параметры типа
- T
Указывает тип данных, буферизуемых этим блоком потока данных.
- Наследование
-
BufferBlock<T>
- Реализации
Комментарии
Примечание
Библиотека потоков данных TPL (пространство имен System.Threading.Tasks.Dataflow) не поставляется с .NET. Чтобы установить пространство имен System.Threading.Tasks.Dataflow в Visual Studio, откройте проект, выберите Управление пакетами NuGet в меню Проект и выполните поиск пакета System.Threading.Tasks.Dataflow в Интернете. Вы также можете установить его, выполнив в .NET Core CLI команду dotnet add package System.Threading.Tasks.Dataflow.
Конструкторы
| BufferBlock<T>() |
Инициализирует новый объект BufferBlock<T>. |
| BufferBlock<T>(DataflowBlockOptions) |
Инициализирует новый BufferBlock<T> с указанным DataflowBlockOptions. |
Свойства
| Completion |
Получает объект Task, представляющий асинхронную операцию и завершение блока потока данных. |
| Count |
Получает число элементов, хранящихся в буфере в данный момент. |
Методы
| Complete() |
Сообщает блоку IDataflowBlock, что он больше не должен принимать и создавать никакие сообщения и не должен использовать отложенные сообщения. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
| LinkTo(ITargetBlock<T>, DataflowLinkOptions) |
Связывает объект ISourceBlock<TOutput> с указанным ITargetBlock<TInput>объектом . |
| MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую отформатированное имя данного экземпляра IDataflowBlock. |
| TryReceive(Predicate<T>, T) |
Пытается синхронно получить доступный выходной элемент от интерфейса IReceivableSourceBlock<TOutput>. |
| TryReceiveAll(IList<T>) |
Пытается синхронно получить все доступные элементы от интерфейса IReceivableSourceBlock<TOutput>. |
Явные реализации интерфейса
Методы расширения
| AsObservable<TOutput>(ISourceBlock<TOutput>) |
Создает новую абстракцию IObservable<T> для ISourceBlock<TOutput>. |
| AsObserver<TInput>(ITargetBlock<TInput>) |
Создает новую абстракцию IObserver<T> для ITargetBlock<TInput>. |
| LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>) |
Связывает объект ISourceBlock<TOutput> с указанным ITargetBlock<TInput>объектом . |
| LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, Predicate<TOutput>) |
Связывает с ISourceBlock<TOutput> указанным ITargetBlock<TInput> с помощью указанного фильтра. |
| LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, DataflowLinkOptions, Predicate<TOutput>) |
Связывает с ISourceBlock<TOutput> указанным ITargetBlock<TInput> с помощью указанного фильтра. |
| OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>) |
Предоставляет Task<TResult>, которое асинхронным образом выполняет мониторинг источника доступного вывода. |
| OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Предоставляет Task<TResult>, которое асинхронным образом выполняет мониторинг источника доступного вывода. |
| Post<TInput>(ITargetBlock<TInput>, TInput) |
Отправляет элемент в объект ITargetBlock<TInput>. |
| Receive<TOutput>(ISourceBlock<TOutput>) |
Синхронно получает значение от указанного источника. |
| Receive<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Синхронно получает значение из указанного источника и предоставляет токен для отмены операции. |
| Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan) |
Синхронно получает значение из указанного источника, отслеживание необязательно точкой времени ожидания. |
| Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken) |
Синхронно получает значение из указанного источника, обеспечивая токен для отмены операции за необязательным и интервал времени ожидания. |
| ReceiveAllAsync<TOutput>(IReceivableSourceBlock<TOutput>, CancellationToken) |
Создает объект , IAsyncEnumerable<T> который позволяет получать все данные из источника. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>) |
Асинхронно получает значение от указанного источника. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Асинхронно получает значение из указанного источника и предоставляет токен для отмены операции. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan) |
Асинхронно получает значение из указанного источника, отслеживание необязательно точкой времени ожидания. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken) |
Асинхронно получает значение из указанного источника, обеспечивая токен для отмены операции за необязательным и интервал времени ожидания. |
| SendAsync<TInput>(ITargetBlock<TInput>, TInput) |
Асинхронно предлагает сообщение в целевому блоку сообщений, позволяет задержки. |
| SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken) |
Асинхронно предлагает сообщение в целевому блоку сообщений, позволяет задержки. |
| TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput) |
Пытается синхронно получить элемент из ISourceBlock<TOutput>. |