mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-07 00:39:00 +08:00
31 lines
1.1 KiB
C#
31 lines
1.1 KiB
C#
// Copyright (c) 2025-2026 GeWuYou
|
||
// SPDX-License-Identifier: Apache-2.0
|
||
|
||
using GFramework.Core.Abstractions.Query;
|
||
|
||
namespace GFramework.Core.Query;
|
||
|
||
|
||
/// <summary>
|
||
/// QueryExecutor 类负责执行查询操作,实现 IQueryExecutor 接口。
|
||
/// 该类是密封的,防止被继承。
|
||
/// </summary>
|
||
public sealed class QueryExecutor : IQueryExecutor
|
||
{
|
||
/// <summary>
|
||
/// 执行指定的查询并返回结果。
|
||
/// 该方法通过调用查询对象的 Do 方法来获取结果。
|
||
/// </summary>
|
||
/// <typeparam name="TResult">查询结果的类型。</typeparam>
|
||
/// <param name="query">要执行的查询对象,必须实现 IQuery<TResult> 接口。</param>
|
||
/// <returns>查询执行的结果,类型为 TResult。</returns>
|
||
public TResult Send<TResult>(IQuery<TResult> query)
|
||
{
|
||
// 验证查询参数不为 null,如果为 null 则抛出 ArgumentNullException 异常
|
||
ArgumentNullException.ThrowIfNull(query);
|
||
|
||
// 调用查询对象的 Do 方法执行查询并返回结果
|
||
return query.Do();
|
||
}
|
||
}
|