// Copyright (c) 2025-2026 GeWuYou // SPDX-License-Identifier: Apache-2.0 using GFramework.Cqrs.Abstractions.Cqrs; namespace GFramework.Core.Cqrs; /// /// 包装 legacy 异步查询,使其能够通过自有 CQRS runtime 调度。 /// /// 需要在 bridge handler 中接收上下文注入的 legacy 查询目标实例。 /// 封装 legacy 异步查询执行逻辑并返回装箱结果的委托。 internal sealed class LegacyAsyncQueryDispatchRequest(object target, Func> executeAsync) : LegacyCqrsDispatchRequestBase(target), IRequest { private readonly Func> _executeAsync = executeAsync ?? throw new ArgumentNullException(nameof(executeAsync)); /// /// 异步执行底层 legacy 查询并返回装箱后的结果。 /// /// 表示异步执行结果的任务;任务结果为底层 legacy 查询返回的装箱值。 public Task ExecuteAsync() => _executeAsync(); }