mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-23 03:04:29 +08:00
- 在EventBus中添加RegisterWithContext方法支持事件上下文 - 实现EventContext<T>类包装事件数据并提供处理控制 - 在PriorityEvent中添加上下文事件处理器和相关管理逻辑 - 改进事件触发机制支持普通和上下文处理器混合使用 - 优化MicrosoftDiContainer的线程安全性和并发访问 - 修复SpanExtensions中TryParseValue的返回值类型问题 - 添加全面的单元测试覆盖新功能和边界情况
26 lines
662 B
C#
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;
|
|
}
|
|
} |