GFramework/GFramework.Cqrs/CqrsStreamInvokerDescriptorEntry.cs
gewuyou 83528742bb fix(cqrs): 收敛生成调用描述符与PR评审回归
- 修复 request 与 stream generated invoker 描述符的静态方法与空值防御,提前拒绝非法元数据

- 补充 provider 空描述符枚举与非静态 invoker 回退回归,更新相关 XML 注释与中文文档语义

- 更新 cqrs-rewrite 活跃跟踪、执行 trace 与验证归档,记录 PR #307 的当前验证结论
2026-04-30 16:25:59 +08:00

42 lines
1.6 KiB
C#

namespace GFramework.Cqrs;
/// <summary>
/// 描述单个 stream request/response 类型对与其 generated invoker 元数据之间的映射条目。
/// </summary>
public sealed record CqrsStreamInvokerDescriptorEntry
{
/// <summary>
/// 初始化 stream invoker 描述符映射条目。
/// </summary>
/// <param name="requestType">流式请求运行时类型。</param>
/// <param name="responseType">流式响应元素类型。</param>
/// <param name="descriptor">对应的 generated stream invoker 描述符。</param>
/// <exception cref="ArgumentNullException">
/// 当 <paramref name="requestType" />、<paramref name="responseType" /> 或 <paramref name="descriptor" /> 为 <see langword="null" /> 时抛出。
/// </exception>
public CqrsStreamInvokerDescriptorEntry(
Type requestType,
Type responseType,
CqrsStreamInvokerDescriptor descriptor)
{
RequestType = requestType ?? throw new ArgumentNullException(nameof(requestType));
ResponseType = responseType ?? throw new ArgumentNullException(nameof(responseType));
Descriptor = descriptor ?? throw new ArgumentNullException(nameof(descriptor));
}
/// <summary>
/// 获取流式请求运行时类型。
/// </summary>
public Type RequestType { get; }
/// <summary>
/// 获取流式响应元素类型。
/// </summary>
public Type ResponseType { get; }
/// <summary>
/// 获取对应的 generated stream invoker 描述符。
/// </summary>
public CqrsStreamInvokerDescriptor Descriptor { get; }
}