// 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 LegacyQueryDispatchRequest(object target, Func execute) : LegacyCqrsDispatchRequestBase(target), IRequest { private readonly Func _execute = execute ?? throw new ArgumentNullException(nameof(execute)); /// /// 执行底层 legacy 查询并返回装箱后的结果。 /// /// 底层 legacy 查询执行后的装箱结果;若查询无返回值则为 public object? Execute() => _execute(); }