Возвращает объект, выполняющий расширения заданного типа и определяющий время жизни экземпляров расширений. Метод никогда не возвращает null.
Если тип расширения не был зарегистрирован в контейнере, то метод не выбрасывает исключение, а возвращает объект, не выполняющий действий.
Обращение к созданному объекту запрещено из разных потоков, используйте перегрузку с параметром synchronized, если выполнение цепочек расширений возможно из разных потоков.
public ValueTask<IExtensionExecutor> ResolveExecutorAsync<TExtension>(
bool synchronized,
CancellationToken cancellationToken = default
)
where TExtension : class, IExtension
Public Function ResolveExecutorAsync(Of TExtension As {Class, IExtension}) (
synchronized As Boolean,
Optional cancellationToken As CancellationToken = Nothing
) As ValueTask(Of IExtensionExecutor)
public:
generic<typename TExtension>
where TExtension : ref class, IExtension
virtual ValueTask<IExtensionExecutor^> ResolveExecutorAsync(
bool synchronized,
CancellationToken cancellationToken = CancellationToken()
) sealed
abstract ResolveExecutorAsync :
synchronized : bool *
?cancellationToken : CancellationToken
(* Defaults:
let _cancellationToken = defaultArg cancellationToken new CancellationToken()
*)
-> ValueTask<IExtensionExecutor> when 'TExtension : not struct and IExtension
override ResolveExecutorAsync :
synchronized : bool *
?cancellationToken : CancellationToken
(* Defaults:
let _cancellationToken = defaultArg cancellationToken new CancellationToken()
*)
-> ValueTask<IExtensionExecutor> when 'TExtension : not struct and IExtension