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