mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 10:34:30 +08:00
- 新增 PriorityGenerator 源生成器,自动生成 IPrioritized 接口实现 - 添加 PriorityAttribute 特性,用于标记类的优先级值 - 实现 PriorityUsageAnalyzer 分析器,检测优先级使用建议 - 添加预定义的 PriorityGroup 常量,提供标准优先级分组 - 在 AnalyzerReleases.Unshipped.md 中注册新的诊断规则 - 更新项目依赖,升级 Meziantou.Analyzer 和 Polyfill 版本 - 为测试项目添加源生成器项目引用 - 添加 PriorityGenerator 的快照测试用例
71 lines
1.8 KiB
C#
71 lines
1.8 KiB
C#
namespace GFramework.Core.Abstractions.bases;
|
|
|
|
/// <summary>
|
|
/// 预定义的优先级分组常量
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// 提供标准化的优先级值,用于统一管理系统、服务等组件的执行顺序。
|
|
/// 优先级值越小,优先级越高(负数表示高优先级)。
|
|
/// </remarks>
|
|
public static class PriorityGroup
|
|
{
|
|
/// <summary>
|
|
/// 关键优先级 - 最高优先级,用于核心系统和基础设施
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// 适用场景:
|
|
/// - 日志系统
|
|
/// - 配置管理
|
|
/// - IoC 容器初始化
|
|
/// - 架构核心组件
|
|
/// </remarks>
|
|
public const int Critical = -100;
|
|
|
|
/// <summary>
|
|
/// 高优先级 - 用于重要但非核心的系统
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// 适用场景:
|
|
/// - 事件总线
|
|
/// - 资源管理器
|
|
/// - 输入系统
|
|
/// - 网络管理器
|
|
/// </remarks>
|
|
public const int High = -50;
|
|
|
|
/// <summary>
|
|
/// 普通优先级 - 默认优先级
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// 适用场景:
|
|
/// - 游戏逻辑系统
|
|
/// - UI 系统
|
|
/// - 音频系统
|
|
/// - 大部分业务逻辑
|
|
/// </remarks>
|
|
public const int Normal = 0;
|
|
|
|
/// <summary>
|
|
/// 低优先级 - 用于非关键系统
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// 适用场景:
|
|
/// - 统计系统
|
|
/// - 调试工具
|
|
/// - 性能监控
|
|
/// - 辅助功能
|
|
/// </remarks>
|
|
public const int Low = 50;
|
|
|
|
/// <summary>
|
|
/// 延迟优先级 - 最低优先级,用于可延迟执行的系统
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// 适用场景:
|
|
/// - 分析和遥测
|
|
/// - 后台数据同步
|
|
/// - 缓存清理
|
|
/// - 非紧急任务
|
|
/// </remarks>
|
|
public const int Deferred = 100;
|
|
} |