GeWuYou eec50ab45b feat(events): 添加事件上下文支持和线程安全改进
- 在EventBus中添加RegisterWithContext方法支持事件上下文
- 实现EventContext<T>类包装事件数据并提供处理控制
- 在PriorityEvent中添加上下文事件处理器和相关管理逻辑
- 改进事件触发机制支持普通和上下文处理器混合使用
- 优化MicrosoftDiContainer的线程安全性和并发访问
- 修复SpanExtensions中TryParseValue的返回值类型问题
- 添加全面的单元测试覆盖新功能和边界情况
2026-02-25 21:39:53 +08:00

26 lines
662 B
C#

namespace GFramework.Core.Abstractions.events;
/// <summary>
/// 事件上下文,包装事件数据并提供控制方法
/// </summary>
/// <typeparam name="T">事件数据类型</typeparam>
public class EventContext<T>(T data)
{
/// <summary>
/// 事件数据
/// </summary>
public T Data { get; } = data;
/// <summary>
/// 事件是否已被处理
/// </summary>
public bool IsHandled { get; private set; }
/// <summary>
/// 标记事件为已处理,停止后续传播(仅对 UntilHandled 模式有效)
/// </summary>
public void MarkAsHandled()
{
IsHandled = true;
}
}