diff --git a/GFramework.Core.Abstractions/architecture/IArchitectureServices.cs b/GFramework.Core.Abstractions/architecture/IArchitectureServices.cs
index 2aea8be..66b9eb9 100644
--- a/GFramework.Core.Abstractions/architecture/IArchitectureServices.cs
+++ b/GFramework.Core.Abstractions/architecture/IArchitectureServices.cs
@@ -24,12 +24,12 @@ public interface IArchitectureServices : IContextAware
ITypeEventSystem TypeEventSystem { get; }
///
- /// 获取命令总线
+ /// 获取命令总线
///
public ICommandBus CommandBus { get; }
///
- /// 获取查询总线
+ /// 获取查询总线
///
public IQueryBus QueryBus { get; }
}
\ No newline at end of file
diff --git a/GFramework.Core.Abstractions/command/ICommandBus.cs b/GFramework.Core.Abstractions/command/ICommandBus.cs
index e3f22f0..d843005 100644
--- a/GFramework.Core.Abstractions/command/ICommandBus.cs
+++ b/GFramework.Core.Abstractions/command/ICommandBus.cs
@@ -1,18 +1,18 @@
namespace GFramework.Core.Abstractions.command;
///
-/// 定义命令总线接口,用于执行各种命令
+/// 定义命令总线接口,用于执行各种命令
///
public interface ICommandBus
{
///
- /// 发送并执行一个命令
+ /// 发送并执行一个命令
///
/// 要执行的命令对象
public void Send(ICommand command);
///
- /// 发送并执行一个带返回值的命令
+ /// 发送并执行一个带返回值的命令
///
/// 命令执行结果的类型
/// 要执行的带返回值的命令对象
diff --git a/GFramework.Core.Abstractions/command/ICommandInput.cs b/GFramework.Core.Abstractions/command/ICommandInput.cs
index 57e68d7..7763fa4 100644
--- a/GFramework.Core.Abstractions/command/ICommandInput.cs
+++ b/GFramework.Core.Abstractions/command/ICommandInput.cs
@@ -1,7 +1,7 @@
namespace GFramework.Core.Abstractions.command;
///
-/// 命令输入接口,定义命令模式中输入数据的契约
-/// 该接口作为标记接口使用,不包含任何成员定义
+/// 命令输入接口,定义命令模式中输入数据的契约
+/// 该接口作为标记接口使用,不包含任何成员定义
///
public interface ICommandInput;
\ No newline at end of file
diff --git a/GFramework.Core.Abstractions/controller/IController.cs b/GFramework.Core.Abstractions/controller/IController.cs
index 4f39bb3..9372fd7 100644
--- a/GFramework.Core.Abstractions/controller/IController.cs
+++ b/GFramework.Core.Abstractions/controller/IController.cs
@@ -1,10 +1,10 @@
namespace GFramework.Core.Abstractions.controller;
///
-/// 控制器接口,定义了控制器的基本契约和行为规范
+/// 控制器接口,定义了控制器的基本契约和行为规范
///
///
-/// 该接口为框架中的控制器组件提供统一的抽象定义,
-/// 用于实现控制器的标准功能和生命周期管理
+/// 该接口为框架中的控制器组件提供统一的抽象定义,
+/// 用于实现控制器的标准功能和生命周期管理
///
public interface IController;
\ No newline at end of file
diff --git a/GFramework.Core.Abstractions/environment/IEnvironment.cs b/GFramework.Core.Abstractions/environment/IEnvironment.cs
index 9c75bfb..3456802 100644
--- a/GFramework.Core.Abstractions/environment/IEnvironment.cs
+++ b/GFramework.Core.Abstractions/environment/IEnvironment.cs
@@ -1,18 +1,18 @@
namespace GFramework.Core.Abstractions.environment;
///
-/// 定义环境接口,提供应用程序运行环境的相关信息
+/// 定义环境接口,提供应用程序运行环境的相关信息
///
public interface IEnvironment
{
///
- /// 获取环境名称
+ /// 获取环境名称
///
public string Name { get; }
///
- /// 根据键值获取指定类型的环境配置值
+ /// 根据键值获取指定类型的环境配置值
///
/// 要获取的值的类型,必须为引用类型
/// 用于查找配置值的键
@@ -20,7 +20,7 @@ public interface IEnvironment
T? Get(string key) where T : class;
///
- /// 尝试获取环境值(显式判断)
+ /// 尝试获取环境值(显式判断)
///
/// 要获取的值的类型,必须为引用类型
/// 用于查找配置值的键
@@ -29,7 +29,7 @@ public interface IEnvironment
bool TryGet(string key, out T value) where T : class;
///
- /// 获取必须存在的环境值(强依赖)
+ /// 获取必须存在的环境值(强依赖)
///
/// 要获取的值的类型,必须为引用类型
/// 用于查找配置值的键
@@ -37,14 +37,14 @@ public interface IEnvironment
T GetRequired(string key) where T : class;
///
- /// 注册键值对到环境值字典中
+ /// 注册键值对到环境值字典中
///
/// 要注册的键
/// 要注册的值
void Register(string key, object value);
///
- /// 初始化环境值字典
+ /// 初始化环境值字典
///
void Initialize();
}
\ No newline at end of file
diff --git a/GFramework.Core.Abstractions/logging/ILoggerFactoryProvider.cs b/GFramework.Core.Abstractions/logging/ILoggerFactoryProvider.cs
index a6bcd3e..d0321dd 100644
--- a/GFramework.Core.Abstractions/logging/ILoggerFactoryProvider.cs
+++ b/GFramework.Core.Abstractions/logging/ILoggerFactoryProvider.cs
@@ -1,17 +1,17 @@
namespace GFramework.Core.Abstractions.logging;
///
-/// 定义日志工厂提供者的接口,用于创建具有指定名称和最小日志级别的日志记录器
+/// 定义日志工厂提供者的接口,用于创建具有指定名称和最小日志级别的日志记录器
///
public interface ILoggerFactoryProvider
{
///
- /// 获取或设置日志记录器的最小日志级别,低于此级别的日志将被忽略
+ /// 获取或设置日志记录器的最小日志级别,低于此级别的日志将被忽略
///
public LogLevel MinLevel { get; set; }
///
- /// 创建一个日志记录器实例
+ /// 创建一个日志记录器实例
///
/// 日志记录器的名称,用于标识特定的日志源
/// 配置了指定名称和最小日志级别的ILogger实例
diff --git a/GFramework.Core.Abstractions/query/IQueryBus.cs b/GFramework.Core.Abstractions/query/IQueryBus.cs
index 22d2f66..138548c 100644
--- a/GFramework.Core.Abstractions/query/IQueryBus.cs
+++ b/GFramework.Core.Abstractions/query/IQueryBus.cs
@@ -1,12 +1,12 @@
namespace GFramework.Core.Abstractions.query;
///
-/// 查询总线接口,用于发送和处理查询请求
+/// 查询总线接口,用于发送和处理查询请求
///
public interface IQueryBus
{
///
- /// 发送查询请求并返回结果
+ /// 发送查询请求并返回结果
///
/// 查询结果的类型
/// 要发送的查询对象
diff --git a/GFramework.Core.Abstractions/query/IQueryInput.cs b/GFramework.Core.Abstractions/query/IQueryInput.cs
index 1a1933d..1aec2b6 100644
--- a/GFramework.Core.Abstractions/query/IQueryInput.cs
+++ b/GFramework.Core.Abstractions/query/IQueryInput.cs
@@ -1,6 +1,6 @@
namespace GFramework.Core.Abstractions.query;
///
-/// 查询输入接口,定义了查询操作的输入规范
+/// 查询输入接口,定义了查询操作的输入规范
///
public interface IQueryInput;
\ No newline at end of file
diff --git a/GFramework.Core.Tests/architecture/AsyncTestArchitecture.cs b/GFramework.Core.Tests/architecture/AsyncTestArchitecture.cs
index 52b09c1..620eda2 100644
--- a/GFramework.Core.Tests/architecture/AsyncTestArchitecture.cs
+++ b/GFramework.Core.Tests/architecture/AsyncTestArchitecture.cs
@@ -4,12 +4,12 @@ using GFramework.Core.Tests.system;
namespace GFramework.Core.Tests.architecture;
///
-/// 异步测试架构,用于测试异步模型和系统的初始化
+/// 异步测试架构,用于测试异步模型和系统的初始化
///
public class AsyncTestArchitecture : TestArchitectureBase
{
///
- /// 异步初始化架构
+ /// 异步初始化架构
///
protected override void Init()
{
diff --git a/GFramework.Core.Tests/architecture/SyncTestArchitecture.cs b/GFramework.Core.Tests/architecture/SyncTestArchitecture.cs
index e9d2d60..3a40f0a 100644
--- a/GFramework.Core.Tests/architecture/SyncTestArchitecture.cs
+++ b/GFramework.Core.Tests/architecture/SyncTestArchitecture.cs
@@ -4,12 +4,12 @@ using GFramework.Core.Tests.system;
namespace GFramework.Core.Tests.architecture;
///
-/// 同步测试架构类,用于测试架构的生命周期和事件处理
+/// 同步测试架构类,用于测试架构的生命周期和事件处理
///
public sealed class SyncTestArchitecture : TestArchitectureBase
{
///
- /// 初始化架构组件,注册模型、系统并设置事件监听器
+ /// 初始化架构组件,注册模型、系统并设置事件监听器
///
protected override void Init()
{
diff --git a/GFramework.Core.Tests/architecture/TestArchitectureBase.cs b/GFramework.Core.Tests/architecture/TestArchitectureBase.cs
index 251cbb9..6c43b4a 100644
--- a/GFramework.Core.Tests/architecture/TestArchitectureBase.cs
+++ b/GFramework.Core.Tests/architecture/TestArchitectureBase.cs
@@ -5,35 +5,38 @@ using GFramework.Core.events;
namespace GFramework.Core.Tests.architecture;
///
-/// 测试架构基类,提供通用的测试架构功能
+/// 测试架构基类,提供通用的测试架构功能
///
public abstract class TestArchitectureBase : Architecture
{
private Action? _postRegistrationHook;
///
- /// 获取就绪事件是否已触发的状态
+ /// 获取就绪事件是否已触发的状态
///
public bool ReadyEventFired { get; protected set; }
///
- /// 获取初始化方法是否已调用的状态
+ /// 获取初始化方法是否已调用的状态
///
public bool InitCalled { get; protected set; }
///
- /// 获取架构阶段历史记录列表
+ /// 获取架构阶段历史记录列表
///
public List PhaseHistory { get; } = [];
///
- /// 添加注册后钩子函数
+ /// 添加注册后钩子函数
///
/// 要添加的钩子函数
- public void AddPostRegistrationHook(Action hook) => _postRegistrationHook = hook;
+ public void AddPostRegistrationHook(Action hook)
+ {
+ _postRegistrationHook = hook;
+ }
///
- /// 初始化架构组件,注册模型、系统并设置事件监听器
+ /// 初始化架构组件,注册模型、系统并设置事件监听器
///
protected override void Init()
{
@@ -43,7 +46,7 @@ public abstract class TestArchitectureBase : Architecture
}
///
- /// 进入指定架构阶段时的处理方法,记录阶段历史
+ /// 进入指定架构阶段时的处理方法,记录阶段历史
///
/// 要进入的下一个架构阶段
protected override void EnterPhase(ArchitecturePhase next)
diff --git a/GFramework.Core.Tests/model/AsyncTestModel.cs b/GFramework.Core.Tests/model/AsyncTestModel.cs
index 7d45c3a..0994f7d 100644
--- a/GFramework.Core.Tests/model/AsyncTestModel.cs
+++ b/GFramework.Core.Tests/model/AsyncTestModel.cs
@@ -5,19 +5,19 @@ using GFramework.Core.Abstractions.model;
namespace GFramework.Core.Tests.model;
///
-/// 异步测试模型类,实现了IModel和IAsyncInitializable接口
+/// 异步测试模型类,实现了IModel和IAsyncInitializable接口
///
public sealed class AsyncTestModel : IModel, IAsyncInitializable
{
private IArchitectureContext _context = null!;
///
- /// 获取模型是否已初始化的标志
+ /// 获取模型是否已初始化的标志
///
public bool Initialized { get; private set; }
///
- /// 异步初始化方法,模拟异步初始化过程
+ /// 异步初始化方法,模拟异步初始化过程
///
/// 表示异步操作的Task
public async Task InitializeAsync()
@@ -27,7 +27,7 @@ public sealed class AsyncTestModel : IModel, IAsyncInitializable
}
///
- /// 同步初始化方法,该方法不应该被调用
+ /// 同步初始化方法,该方法不应该被调用
///
/// 当该方法被调用时抛出异常
public void Init()
@@ -37,7 +37,7 @@ public sealed class AsyncTestModel : IModel, IAsyncInitializable
}
///
- /// 设置架构上下文
+ /// 设置架构上下文
///
/// 架构上下文对象
public void SetContext(IArchitectureContext context)
@@ -46,13 +46,16 @@ public sealed class AsyncTestModel : IModel, IAsyncInitializable
}
///
- /// 获取架构上下文
+ /// 获取架构上下文
///
/// 架构上下文对象
- public IArchitectureContext GetContext() => _context;
+ public IArchitectureContext GetContext()
+ {
+ return _context;
+ }
///
- /// 处理架构阶段事件
+ /// 处理架构阶段事件
///
/// 架构阶段枚举值
public void OnArchitecturePhase(ArchitecturePhase phase)
diff --git a/GFramework.Core.Tests/model/FailingModel.cs b/GFramework.Core.Tests/model/FailingModel.cs
index 3b73f3e..65008d1 100644
--- a/GFramework.Core.Tests/model/FailingModel.cs
+++ b/GFramework.Core.Tests/model/FailingModel.cs
@@ -5,14 +5,14 @@ using GFramework.Core.Abstractions.model;
namespace GFramework.Core.Tests.model;
///
-/// 一个用于测试的失败模型类,实现IModel接口
-/// 该模型在初始化时会故意抛出异常,用于测试异常处理机制
+/// 一个用于测试的失败模型类,实现IModel接口
+/// 该模型在初始化时会故意抛出异常,用于测试异常处理机制
///
public sealed class FailingModel : IModel
{
///
- /// 初始化模型
- /// 该方法会故意抛出InvalidOperationException异常
+ /// 初始化模型
+ /// 该方法会故意抛出InvalidOperationException异常
///
/// 总是抛出此异常以模拟初始化失败
public void Init()
@@ -21,8 +21,8 @@ public sealed class FailingModel : IModel
}
///
- /// 设置架构上下文
- /// 该方法为空实现,不执行任何操作
+ /// 设置架构上下文
+ /// 该方法为空实现,不执行任何操作
///
/// 架构上下文对象
public void SetContext(IArchitectureContext context)
@@ -30,8 +30,8 @@ public sealed class FailingModel : IModel
}
///
- /// 获取架构上下文
- /// 该方法会抛出NotSupportedException异常
+ /// 获取架构上下文
+ /// 该方法会抛出NotSupportedException异常
///
/// 不返回任何值,总是抛出异常
/// 总是抛出此异常
@@ -41,8 +41,8 @@ public sealed class FailingModel : IModel
}
///
- /// 处理架构阶段事件
- /// 该方法为空实现,不执行任何操作
+ /// 处理架构阶段事件
+ /// 该方法为空实现,不执行任何操作
///
/// 当前架构阶段
public void OnArchitecturePhase(ArchitecturePhase phase)
diff --git a/GFramework.Core.Tests/model/TestModel.cs b/GFramework.Core.Tests/model/TestModel.cs
index e9c59a5..5e8e83a 100644
--- a/GFramework.Core.Tests/model/TestModel.cs
+++ b/GFramework.Core.Tests/model/TestModel.cs
@@ -5,19 +5,19 @@ using GFramework.Core.Abstractions.model;
namespace GFramework.Core.Tests.model;
///
-/// 测试模型类,用于框架测试目的
+/// 测试模型类,用于框架测试目的
///
public sealed class TestModel : IModel
{
private IArchitectureContext _context = null!;
///
- /// 获取模型是否已初始化的状态
+ /// 获取模型是否已初始化的状态
///
public bool Initialized { get; private set; }
///
- /// 初始化模型
+ /// 初始化模型
///
public void Init()
{
diff --git a/GFramework.Core.Tests/system/AsyncTestSystem.cs b/GFramework.Core.Tests/system/AsyncTestSystem.cs
index 680b0b9..a45d671 100644
--- a/GFramework.Core.Tests/system/AsyncTestSystem.cs
+++ b/GFramework.Core.Tests/system/AsyncTestSystem.cs
@@ -5,7 +5,7 @@ using GFramework.Core.Abstractions.system;
namespace GFramework.Core.Tests.system;
///
-/// 异步测试系统,实现 ISystem 和 IAsyncInitializable
+/// 异步测试系统,实现 ISystem 和 IAsyncInitializable
///
public sealed class AsyncTestSystem : ISystem, IAsyncInitializable
{
@@ -19,8 +19,15 @@ public sealed class AsyncTestSystem : ISystem, IAsyncInitializable
Initialized = true;
}
- public void SetContext(IArchitectureContext context) => _context = context;
- public IArchitectureContext GetContext() => _context;
+ public void SetContext(IArchitectureContext context)
+ {
+ _context = context;
+ }
+
+ public IArchitectureContext GetContext()
+ {
+ return _context;
+ }
public void Init()
{
@@ -28,7 +35,10 @@ public sealed class AsyncTestSystem : ISystem, IAsyncInitializable
throw new InvalidOperationException("Sync Init should not be called");
}
- public void Destroy() => DestroyCalled = true;
+ public void Destroy()
+ {
+ DestroyCalled = true;
+ }
public void OnArchitecturePhase(ArchitecturePhase phase)
{
diff --git a/GFramework.Core.Tests/system/TestSystem.cs b/GFramework.Core.Tests/system/TestSystem.cs
index 2b642e5..2aa6dad 100644
--- a/GFramework.Core.Tests/system/TestSystem.cs
+++ b/GFramework.Core.Tests/system/TestSystem.cs
@@ -5,27 +5,27 @@ using GFramework.Core.Abstractions.system;
namespace GFramework.Core.Tests.system;
///
-/// 测试系统类,实现了ISystem接口
+/// 测试系统类,实现了ISystem接口
///
public sealed class TestSystem : ISystem
{
///
- /// 架构上下文对象
+ /// 架构上下文对象
///
private IArchitectureContext _context = null!;
///
- /// 获取系统是否已初始化的状态
+ /// 获取系统是否已初始化的状态
///
public bool Initialized { get; private set; }
///
- /// 获取系统是否已销毁的状态
+ /// 获取系统是否已销毁的状态
///
public bool DestroyCalled { get; private set; }
///
- /// 设置架构上下文
+ /// 设置架构上下文
///
/// 架构上下文对象
public void SetContext(IArchitectureContext context)
@@ -34,7 +34,7 @@ public sealed class TestSystem : ISystem
}
///
- /// 获取架构上下文
+ /// 获取架构上下文
///
/// 架构上下文对象
public IArchitectureContext GetContext()
@@ -43,7 +43,7 @@ public sealed class TestSystem : ISystem
}
///
- /// 初始化系统
+ /// 初始化系统
///
public void Init()
{
@@ -51,7 +51,7 @@ public sealed class TestSystem : ISystem
}
///
- /// 销毁系统
+ /// 销毁系统
///
public void Destroy()
{
diff --git a/GFramework.Core.Tests/tests/ArchitectureTestsBase.cs b/GFramework.Core.Tests/tests/ArchitectureTestsBase.cs
index edb39a9..08d349c 100644
--- a/GFramework.Core.Tests/tests/ArchitectureTestsBase.cs
+++ b/GFramework.Core.Tests/tests/ArchitectureTestsBase.cs
@@ -5,7 +5,7 @@ using NUnit.Framework;
namespace GFramework.Core.Tests.tests;
///
-/// 架构测试基类,封装同步/异步共通测试逻辑
+/// 架构测试基类,封装同步/异步共通测试逻辑
///
/// 架构类型,必须继承自Architecture
public abstract class ArchitectureTestsBase where TArchitecture : Architecture
@@ -13,14 +13,14 @@ public abstract class ArchitectureTestsBase where TArchitecture :
protected TArchitecture? Architecture;
///
- /// 子类必须实现创建具体架构实例
+ /// 子类必须实现创建具体架构实例
///
/// 创建的架构实例
protected abstract TArchitecture CreateArchitecture();
///
- /// 测试设置方法,在每个测试开始前执行
- /// 清理游戏上下文并创建架构实例
+ /// 测试设置方法,在每个测试开始前执行
+ /// 清理游戏上下文并创建架构实例
///
[SetUp]
public void SetUp()
@@ -30,8 +30,8 @@ public abstract class ArchitectureTestsBase where TArchitecture :
}
///
- /// 测试清理方法,在每个测试结束后执行
- /// 销毁架构实例并清理游戏上下文
+ /// 测试清理方法,在每个测试结束后执行
+ /// 销毁架构实例并清理游戏上下文
///
[TearDown]
public void TearDown()
@@ -48,8 +48,8 @@ public abstract class ArchitectureTestsBase where TArchitecture :
}
///
- /// 验证架构初始化失败的断言方法
- /// 检查当前架构阶段是否为初始化失败状态
+ /// 验证架构初始化失败的断言方法
+ /// 检查当前架构阶段是否为初始化失败状态
///
protected void AssertInitializationFailed()
{
diff --git a/GFramework.Core.Tests/tests/AsyncArchitectureTests.cs b/GFramework.Core.Tests/tests/AsyncArchitectureTests.cs
index 3dda32e..a29c190 100644
--- a/GFramework.Core.Tests/tests/AsyncArchitectureTests.cs
+++ b/GFramework.Core.Tests/tests/AsyncArchitectureTests.cs
@@ -8,23 +8,26 @@ using NUnit.Framework.Legacy;
namespace GFramework.Core.Tests.tests;
///
-/// 异步架构测试类,用于测试异步架构的相关功能
+/// 异步架构测试类,用于测试异步架构的相关功能
///
///
-/// 该测试类使用非并行执行模式,确保测试的隔离性
+/// 该测试类使用非并行执行模式,确保测试的隔离性
///
[TestFixture]
[NonParallelizable]
public class AsyncArchitectureTests : ArchitectureTestsBase
{
///
- /// 创建异步测试架构实例
+ /// 创建异步测试架构实例
///
/// AsyncTestArchitecture实例
- protected override AsyncTestArchitecture CreateArchitecture() => new();
+ protected override AsyncTestArchitecture CreateArchitecture()
+ {
+ return new AsyncTestArchitecture();
+ }
///
- /// 测试架构是否正确初始化所有组件
+ /// 测试架构是否正确初始化所有组件
///
/// 异步任务
[Test]
@@ -45,7 +48,7 @@ public class AsyncArchitectureTests : ArchitectureTestsBase
- /// 测试架构是否按正确顺序进入各个阶段
+ /// 测试架构是否按正确顺序进入各个阶段
///
/// 异步任务
[Test]
@@ -68,7 +71,7 @@ public class AsyncArchitectureTests : ArchitectureTestsBase
- /// 测试在就绪状态后注册模型是否抛出异常
+ /// 测试在就绪状态后注册模型是否抛出异常
///
/// 异步任务
[Test]
@@ -81,7 +84,7 @@ public class AsyncArchitectureTests : ArchitectureTestsBase
- /// 测试当模型初始化失败时架构是否停止初始化
+ /// 测试当模型初始化失败时架构是否停止初始化
///
/// 异步任务
[Test]
@@ -98,7 +101,7 @@ public class AsyncArchitectureTests : ArchitectureTestsBase
- /// 测试架构销毁是否正确销毁所有系统
+ /// 测试架构销毁是否正确销毁所有系统
///
/// 异步任务
[Test]
@@ -113,7 +116,7 @@ public class AsyncArchitectureTests : ArchitectureTestsBase
- /// 测试InitializeAsync方法是否不会阻塞
+ /// 测试InitializeAsync方法是否不会阻塞
///
/// 异步任务
[Test]
@@ -126,7 +129,7 @@ public class AsyncArchitectureTests : ArchitectureTestsBase
- /// 测试InitializeAsync方法是否正确处理异常
+ /// 测试InitializeAsync方法是否正确处理异常
///
/// 异步任务
[Test]
diff --git a/GFramework.Core.Tests/tests/SyncArchitectureTests.cs b/GFramework.Core.Tests/tests/SyncArchitectureTests.cs
index 594c6e5..67686fe 100644
--- a/GFramework.Core.Tests/tests/SyncArchitectureTests.cs
+++ b/GFramework.Core.Tests/tests/SyncArchitectureTests.cs
@@ -9,17 +9,20 @@ using NUnit.Framework.Legacy;
namespace GFramework.Core.Tests.tests;
///
-/// 同步架构测试类,用于测试同步架构的初始化、生命周期和组件注册等功能
+/// 同步架构测试类,用于测试同步架构的初始化、生命周期和组件注册等功能
///
[TestFixture]
[NonParallelizable]
public class SyncArchitectureTests : ArchitectureTestsBase
{
- protected override SyncTestArchitecture CreateArchitecture() => new();
+ protected override SyncTestArchitecture CreateArchitecture()
+ {
+ return new SyncTestArchitecture();
+ }
///
- /// 测试架构是否正确初始化所有组件
- /// 验证初始化调用、运行时状态、架构阶段和模型系统注册
+ /// 测试架构是否正确初始化所有组件
+ /// 验证初始化调用、运行时状态、架构阶段和模型系统注册
///
[Test]
public void Architecture_Should_Initialize_All_Components_Correctly()
@@ -46,7 +49,7 @@ public class SyncArchitectureTests : ArchitectureTestsBase
}
///
- /// 测试架构是否按类型正确注册上下文
+ /// 测试架构是否按类型正确注册上下文
///
[Test]
public void Architecture_Should_Register_Context_By_Type()
@@ -59,8 +62,8 @@ public class SyncArchitectureTests : ArchitectureTestsBase
}
///
- /// 测试架构是否按正确顺序进入各个阶段
- /// 验证架构初始化过程中各阶段的执行顺序
+ /// 测试架构是否按正确顺序进入各个阶段
+ /// 验证架构初始化过程中各阶段的执行顺序
///
[Test]
public void Architecture_Should_Enter_Phases_In_Correct_Order()
@@ -83,7 +86,7 @@ public class SyncArchitectureTests : ArchitectureTestsBase
}
///
- /// 测试在架构就绪后注册系统是否抛出异常(当不允许时)
+ /// 测试在架构就绪后注册系统是否抛出异常(当不允许时)
///
[Test]
public void RegisterSystem_AfterReady_Should_Throw_When_NotAllowed()
@@ -94,7 +97,7 @@ public class SyncArchitectureTests : ArchitectureTestsBase
}
///
- /// 测试在架构就绪后注册模型是否抛出异常(当不允许时)
+ /// 测试在架构就绪后注册模型是否抛出异常(当不允许时)
///
[Test]
public void RegisterModel_AfterReady_Should_Throw_When_NotAllowed()
@@ -105,7 +108,7 @@ public class SyncArchitectureTests : ArchitectureTestsBase
}
///
- /// 测试架构销毁功能,验证销毁后系统被正确销毁且架构进入销毁阶段
+ /// 测试架构销毁功能,验证销毁后系统被正确销毁且架构进入销毁阶段
///
[Test]
public void Architecture_Destroy_Should_Destroy_All_Systems_And_Enter_Destroyed()
@@ -121,7 +124,7 @@ public class SyncArchitectureTests : ArchitectureTestsBase
}
///
- /// 测试当模型初始化失败时架构是否停止初始化
+ /// 测试当模型初始化失败时架构是否停止初始化
///
[Test]
public void Architecture_Should_Stop_Initialization_When_Model_Init_Fails()
diff --git a/GFramework.Core/architecture/Architecture.cs b/GFramework.Core/architecture/Architecture.cs
index 85a57ed..9330462 100644
--- a/GFramework.Core/architecture/Architecture.cs
+++ b/GFramework.Core/architecture/Architecture.cs
@@ -29,18 +29,18 @@ public abstract class Architecture(
: IArchitecture
{
///
- /// 获取架构配置对象
+ /// 获取架构配置对象
///
///
- /// 返回一个IArchitectureConfiguration接口的实例,默认为DefaultArchitectureConfiguration类型
+ /// 返回一个IArchitectureConfiguration接口的实例,默认为DefaultArchitectureConfiguration类型
///
private IArchitectureConfiguration Configuration { get; } = configuration ?? new ArchitectureConfiguration();
///
- /// 获取环境配置对象
+ /// 获取环境配置对象
///
///
- /// 返回一个IEnvironment接口的实例,默认为DefaultEnvironment类型
+ /// 返回一个IEnvironment接口的实例,默认为DefaultEnvironment类型
///
private IEnvironment Environment { get; } = environment ?? new DefaultEnvironment();
@@ -243,13 +243,13 @@ public abstract class Architecture(
#region Component Registration
///
- /// 同步初始化方法,阻塞当前线程直到初始化完成
+ /// 同步初始化方法,阻塞当前线程直到初始化完成
///
public void Initialize()
{
try
{
- InitializeInternalAsync(asyncMode: false).GetAwaiter().GetResult();
+ InitializeInternalAsync(false).GetAwaiter().GetResult();
}
catch (Exception e)
{
@@ -261,14 +261,14 @@ public abstract class Architecture(
}
///
- /// 异步初始化方法,返回Task以便调用者可以等待初始化完成
+ /// 异步初始化方法,返回Task以便调用者可以等待初始化完成
///
/// 表示异步初始化操作的Task
public async Task InitializeAsync()
{
try
{
- await InitializeInternalAsync(asyncMode: true);
+ await InitializeInternalAsync(true);
}
catch (Exception e)
{
@@ -280,7 +280,7 @@ public abstract class Architecture(
}
///
- /// 异步初始化组件
+ /// 异步初始化组件
///
/// 要初始化的组件对象
/// 是否启用异步模式
@@ -289,9 +289,7 @@ public abstract class Architecture(
{
// 根据组件类型和异步模式选择相应的初始化方法
if (asyncMode && component is IAsyncInitializable asyncInit)
- {
await asyncInit.InitializeAsync();
- }
else
switch (component)
{
@@ -305,7 +303,7 @@ public abstract class Architecture(
}
///
- /// 异步初始化架构内部组件,包括上下文、模型和系统的初始化
+ /// 异步初始化架构内部组件,包括上下文、模型和系统的初始化
///
/// 是否启用异步模式进行组件初始化
/// 异步任务,表示初始化操作的完成
diff --git a/GFramework.Core/architecture/ArchitectureConfiguration.cs b/GFramework.Core/architecture/ArchitectureConfiguration.cs
index b699383..f431296 100644
--- a/GFramework.Core/architecture/ArchitectureConfiguration.cs
+++ b/GFramework.Core/architecture/ArchitectureConfiguration.cs
@@ -17,7 +17,7 @@ public sealed class ArchitectureConfiguration : IArchitectureConfiguration
///
public LoggerProperties LoggerProperties { get; set; } = new()
{
- LoggerFactoryProvider = new ConsoleLoggerFactoryProvider()
+ LoggerFactoryProvider = new ConsoleLoggerFactoryProvider
{
MinLevel = LogLevel.Info
}
diff --git a/GFramework.Core/architecture/ArchitectureConstants.cs b/GFramework.Core/architecture/ArchitectureConstants.cs
index a0bd243..e187ee4 100644
--- a/GFramework.Core/architecture/ArchitectureConstants.cs
+++ b/GFramework.Core/architecture/ArchitectureConstants.cs
@@ -4,15 +4,15 @@ using GFramework.Core.Abstractions.enums;
namespace GFramework.Core.architecture;
///
-/// 架构常量类,定义了架构阶段转换规则
+/// 架构常量类,定义了架构阶段转换规则
///
public static class ArchitectureConstants
{
///
- /// 定义架构阶段之间的有效转换关系
+ /// 定义架构阶段之间的有效转换关系
///
///
- /// 键为当前架构阶段,值为从该阶段可以转换到的下一阶段数组
+ /// 键为当前架构阶段,值为从该阶段可以转换到的下一阶段数组
///
public static readonly ImmutableDictionary PhaseTransitions =
new Dictionary
diff --git a/GFramework.Core/architecture/ArchitectureContext.cs b/GFramework.Core/architecture/ArchitectureContext.cs
index 7e01224..d5dfbf2 100644
--- a/GFramework.Core/architecture/ArchitectureContext.cs
+++ b/GFramework.Core/architecture/ArchitectureContext.cs
@@ -150,7 +150,7 @@ public class ArchitectureContext(
}
///
- /// 获取当前环境对象
+ /// 获取当前环境对象
///
/// 环境对象实例
public IEnvironment GetEnvironment()
diff --git a/GFramework.Core/architecture/ArchitectureServices.cs b/GFramework.Core/architecture/ArchitectureServices.cs
index 6119004..3ee3406 100644
--- a/GFramework.Core/architecture/ArchitectureServices.cs
+++ b/GFramework.Core/architecture/ArchitectureServices.cs
@@ -11,34 +11,34 @@ using GFramework.Core.query;
namespace GFramework.Core.architecture;
///
-/// 架构服务类,提供依赖注入容器、事件系统、命令总线和查询总线等核心服务
+/// 架构服务类,提供依赖注入容器、事件系统、命令总线和查询总线等核心服务
///
public class ArchitectureServices : IArchitectureServices
{
private IArchitectureContext _context = null!;
///
- /// 获取依赖注入容器
+ /// 获取依赖注入容器
///
public IIocContainer Container { get; } = new IocContainer();
///
- /// 获取类型事件系统
+ /// 获取类型事件系统
///
public ITypeEventSystem TypeEventSystem { get; } = new TypeEventSystem();
///
- /// 获取命令总线
+ /// 获取命令总线
///
public ICommandBus CommandBus { get; } = new CommandBus();
///
- /// 获取查询总线
+ /// 获取查询总线
///
public IQueryBus QueryBus { get; } = new QueryBus();
///
- /// 设置架构上下文
+ /// 设置架构上下文
///
/// 架构上下文对象
public void SetContext(IArchitectureContext context)
@@ -48,7 +48,7 @@ public class ArchitectureServices : IArchitectureServices
}
///
- /// 获取架构上下文
+ /// 获取架构上下文
///
/// 架构上下文对象
public IArchitectureContext GetContext()
diff --git a/GFramework.Core/architecture/GameContext.cs b/GFramework.Core/architecture/GameContext.cs
index a73b653..f31460b 100644
--- a/GFramework.Core/architecture/GameContext.cs
+++ b/GFramework.Core/architecture/GameContext.cs
@@ -4,7 +4,7 @@ using GFramework.Core.Abstractions.architecture;
namespace GFramework.Core.architecture;
///
-/// 游戏上下文管理类,用于管理当前的架构上下文实例
+/// 游戏上下文管理类,用于管理当前的架构上下文实例
///
public static class GameContext
{
@@ -13,13 +13,13 @@ public static class GameContext
///
- /// 获取所有已注册的架构上下文的只读字典
+ /// 获取所有已注册的架构上下文的只读字典
///
public static IReadOnlyDictionary ArchitectureReadOnlyDictionary =>
ArchitectureDictionary;
///
- /// 绑定指定类型的架构上下文到管理器中
+ /// 绑定指定类型的架构上下文到管理器中
///
/// 架构类型
/// 架构上下文实例
@@ -27,14 +27,12 @@ public static class GameContext
public static void Bind(Type architectureType, IArchitectureContext context)
{
if (!ArchitectureDictionary.TryAdd(architectureType, context))
- {
throw new InvalidOperationException(
$"Architecture context for '{architectureType.Name}' already exists");
- }
}
///
- /// 获取字典中的第一个架构上下文
+ /// 获取字典中的第一个架构上下文
///
/// 返回字典中的第一个架构上下文实例
/// 当字典为空时抛出
@@ -44,7 +42,7 @@ public static class GameContext
}
///
- /// 根据类型获取对应的架构上下文
+ /// 根据类型获取对应的架构上下文
///
/// 要查找的架构类型
/// 返回指定类型的架构上下文实例
@@ -60,7 +58,7 @@ public static class GameContext
///
- /// 获取指定类型的架构上下文实例
+ /// 获取指定类型的架构上下文实例
///
/// 架构上下文类型,必须实现IArchitectureContext接口
/// 指定类型的架构上下文实例
@@ -75,7 +73,7 @@ public static class GameContext
}
///
- /// 尝试获取指定类型的架构上下文实例
+ /// 尝试获取指定类型的架构上下文实例
///
/// 架构上下文类型,必须实现IArchitectureContext接口
/// 输出参数,如果找到则返回对应的架构上下文实例,否则返回null
@@ -94,7 +92,7 @@ public static class GameContext
}
///
- /// 移除指定类型的架构上下文绑定
+ /// 移除指定类型的架构上下文绑定
///
/// 要移除的架构类型
public static void Unbind(Type architectureType)
@@ -104,7 +102,7 @@ public static class GameContext
///
- /// 清空所有架构上下文绑定
+ /// 清空所有架构上下文绑定
///
public static void Clear()
{
diff --git a/GFramework.Core/command/CommandBus.cs b/GFramework.Core/command/CommandBus.cs
index 60faa7b..b0edb12 100644
--- a/GFramework.Core/command/CommandBus.cs
+++ b/GFramework.Core/command/CommandBus.cs
@@ -3,12 +3,12 @@
namespace GFramework.Core.command;
///
-/// 命令总线实现类,用于发送和执行命令
+/// 命令总线实现类,用于发送和执行命令
///
public sealed class CommandBus : ICommandBus
{
///
- /// 发送并执行无返回值的命令
+ /// 发送并执行无返回值的命令
///
/// 要执行的命令对象,不能为空
/// 当command参数为null时抛出
@@ -20,7 +20,7 @@ public sealed class CommandBus : ICommandBus
}
///
- /// 发送并执行有返回值的命令
+ /// 发送并执行有返回值的命令
///
/// 命令执行结果的类型
/// 要执行的命令对象,不能为空
diff --git a/GFramework.Core/environment/DefaultEnvironment.cs b/GFramework.Core/environment/DefaultEnvironment.cs
index 39644c7..5fa0d9a 100644
--- a/GFramework.Core/environment/DefaultEnvironment.cs
+++ b/GFramework.Core/environment/DefaultEnvironment.cs
@@ -1,17 +1,17 @@
namespace GFramework.Core.environment;
///
-/// 默认环境实现类,继承自EnvironmentBase
+/// 默认环境实现类,继承自EnvironmentBase
///
public class DefaultEnvironment : EnvironmentBase
{
///
- /// 获取环境名称
+ /// 获取环境名称
///
public override string Name { get; } = "Default";
///
- /// 初始化环境
+ /// 初始化环境
///
public override void Initialize()
{
diff --git a/GFramework.Core/environment/EnvironmentBase.cs b/GFramework.Core/environment/EnvironmentBase.cs
index 292033d..826037e 100644
--- a/GFramework.Core/environment/EnvironmentBase.cs
+++ b/GFramework.Core/environment/EnvironmentBase.cs
@@ -4,22 +4,22 @@ using GFramework.Core.rule;
namespace GFramework.Core.environment;
///
-/// 环境基础抽象类,实现了IEnvironment接口,提供环境值的存储和获取功能
+/// 环境基础抽象类,实现了IEnvironment接口,提供环境值的存储和获取功能
///
public abstract class EnvironmentBase : ContextAwareBase, IEnvironment
{
///
- /// 存储环境值的字典,键为字符串,值为对象类型
+ /// 存储环境值的字典,键为字符串,值为对象类型
///
protected readonly Dictionary Values = new();
///
- /// 获取环境名称的抽象属性
+ /// 获取环境名称的抽象属性
///
public abstract string Name { get; }
///
- /// 根据键获取指定类型的值
+ /// 根据键获取指定类型的值
///
/// 要获取的值的类型,必须为引用类型
/// 用于查找值的键
@@ -30,7 +30,7 @@ public abstract class EnvironmentBase : ContextAwareBase, IEnvironment
}
///
- /// 尝试根据键获取指定类型的值
+ /// 尝试根据键获取指定类型的值
///
/// 要获取的值的类型,必须为引用类型
/// 用于查找值的键
@@ -49,7 +49,7 @@ public abstract class EnvironmentBase : ContextAwareBase, IEnvironment
}
///
- /// 根据键获取必需的指定类型值,如果找不到则抛出异常
+ /// 根据键获取必需的指定类型值,如果找不到则抛出异常
///
/// 要获取的值的类型,必须为引用类型
/// 用于查找值的键
@@ -72,7 +72,7 @@ public abstract class EnvironmentBase : ContextAwareBase, IEnvironment
public abstract void Initialize();
///
- /// 注册键值对到环境值字典中
+ /// 注册键值对到环境值字典中
///
/// 要注册的键
/// 要注册的值
diff --git a/GFramework.Core/extensions/ContextAwareExtensions.cs b/GFramework.Core/extensions/ContextAwareExtensions.cs
index 0b79530..916a41e 100644
--- a/GFramework.Core/extensions/ContextAwareExtensions.cs
+++ b/GFramework.Core/extensions/ContextAwareExtensions.cs
@@ -10,12 +10,12 @@ using GFramework.Core.Abstractions.utility;
namespace GFramework.Core.extensions;
///
-/// 提供对 IContextAware 接口的扩展方法
+/// 提供对 IContextAware 接口的扩展方法
///
public static class ContextAwareExtensions
{
///
- /// 获取架构上下文中的指定系统
+ /// 获取架构上下文中的指定系统
///
/// 目标系统类型
/// 实现 IContextAware 接口的对象
@@ -29,7 +29,7 @@ public static class ContextAwareExtensions
}
///
- /// 获取架构上下文中的指定模型
+ /// 获取架构上下文中的指定模型
///
/// 目标模型类型
/// 实现 IContextAware 接口的对象
@@ -43,7 +43,7 @@ public static class ContextAwareExtensions
}
///
- /// 获取架构上下文中的指定工具
+ /// 获取架构上下文中的指定工具
///
/// 目标工具类型
/// 实现 IContextAware 接口的对象
@@ -57,7 +57,7 @@ public static class ContextAwareExtensions
}
///
- /// 发送一个查询请求
+ /// 发送一个查询请求
///
/// 查询结果类型
/// 实现 IContextAware 接口的对象
@@ -74,7 +74,7 @@ public static class ContextAwareExtensions
}
///
- /// 发送一个无返回结果的命令
+ /// 发送一个无返回结果的命令
///
/// 实现 IContextAware 接口的对象
/// 要发送的命令
@@ -89,7 +89,7 @@ public static class ContextAwareExtensions
}
///
- /// 发送一个带返回值的命令
+ /// 发送一个带返回值的命令
///
/// 命令执行结果类型
/// 实现 IContextAware 接口的对象
@@ -106,7 +106,7 @@ public static class ContextAwareExtensions
}
///
- /// 发送一个事件
+ /// 发送一个事件
///
/// 事件类型
/// 实现 IContextAware 接口的对象
@@ -119,7 +119,7 @@ public static class ContextAwareExtensions
}
///
- /// 发送一个具体的事件实例
+ /// 发送一个具体的事件实例
///
/// 事件类型
/// 实现 IContextAware 接口的对象
@@ -135,7 +135,7 @@ public static class ContextAwareExtensions
}
///
- /// 注册事件处理器
+ /// 注册事件处理器
///
/// 事件类型
/// 实现 IContextAware 接口的对象
@@ -151,7 +151,7 @@ public static class ContextAwareExtensions
}
///
- /// 取消对某类型事件的监听
+ /// 取消对某类型事件的监听
///
/// 事件类型
/// 实现 IContextAware 接口的对象
@@ -168,7 +168,7 @@ public static class ContextAwareExtensions
///
- /// 获取指定类型的环境对象
+ /// 获取指定类型的环境对象
///
/// 要获取的环境对象类型
/// 上下文感知对象
@@ -182,7 +182,7 @@ public static class ContextAwareExtensions
}
///
- /// 获取环境对象
+ /// 获取环境对象
///
/// 上下文感知对象
/// 环境对象
diff --git a/GFramework.Core/extensions/ObjectExtensions.cs b/GFramework.Core/extensions/ObjectExtensions.cs
index d1783a5..be3f672 100644
--- a/GFramework.Core/extensions/ObjectExtensions.cs
+++ b/GFramework.Core/extensions/ObjectExtensions.cs
@@ -1,20 +1,20 @@
namespace GFramework.Core.extensions;
///
-/// 提供基于运行时类型判断的对象扩展方法,
-/// 用于简化类型分支、链式调用和架构分派逻辑。
+/// 提供基于运行时类型判断的对象扩展方法,
+/// 用于简化类型分支、链式调用和架构分派逻辑。
///
public static class ObjectExtensions
{
///
- /// 当对象是指定类型 时,执行给定的操作。
+ /// 当对象是指定类型 时,执行给定的操作。
///
/// 目标类型
/// 源对象
/// 当对象类型匹配时执行的操作
/// 如果类型匹配并执行了操作则返回 true,否则返回 false
///
- ///
+ ///
/// object obj = new MyRule();
///
/// bool executed = obj.IfType<MyRule>(rule =>
@@ -31,18 +31,18 @@ public static class ObjectExtensions
}
///
- /// 当对象是指定类型 时,
- /// 使用给定函数计算并返回结果;否则返回默认值。
+ /// 当对象是指定类型 时,
+ /// 使用给定函数计算并返回结果;否则返回默认值。
///
/// 目标类型
/// 返回结果类型
/// 源对象
/// 当类型匹配时执行的函数
///
- /// 类型匹配时返回函数计算结果,否则返回 default
+ /// 类型匹配时返回函数计算结果,否则返回 default
///
///
- ///
+ ///
/// object obj = new MyRule { Name = "TestRule" };
///
/// string? name = obj.IfType<MyRule, string>(r => r.Name);
@@ -58,15 +58,15 @@ public static class ObjectExtensions
}
///
- /// 根据对象是否为指定类型 ,
- /// 分别执行匹配或不匹配的操作。
+ /// 根据对象是否为指定类型 ,
+ /// 分别执行匹配或不匹配的操作。
///
/// 目标类型
/// 源对象
/// 当对象类型匹配时执行的操作
/// 当对象类型不匹配时执行的操作
///
- ///
+ ///
/// obj.IfType<IRule>(
/// rule => rule.Execute(),
/// other => Logger.Warn($"Unsupported type: {other.GetType()}")
@@ -87,8 +87,8 @@ public static class ObjectExtensions
}
///
- /// 当对象是指定类型 且满足给定条件时,
- /// 执行指定操作。
+ /// 当对象是指定类型 且满足给定条件时,
+ /// 执行指定操作。
///
/// 目标类型
/// 源对象
@@ -96,7 +96,7 @@ public static class ObjectExtensions
/// 当条件满足时执行的操作
/// 如果类型和条件均匹配并执行了操作则返回 true,否则返回 false
///
- ///
+ ///
/// obj.IfType<MyRule>(
/// r => r.Enabled,
/// r => r.Execute()
@@ -118,32 +118,34 @@ public static class ObjectExtensions
}
///
- /// 尝试将对象转换为指定的引用类型 。
+ /// 尝试将对象转换为指定的引用类型 。
///
/// 目标引用类型
/// 源对象
///
- /// 如果类型匹配则返回转换后的对象,否则返回 null
+ /// 如果类型匹配则返回转换后的对象,否则返回 null
///
///
- ///
+ ///
/// obj.As<MyRule>()
/// ?.Execute();
///
///
public static T? As(this object obj) where T : class
- => obj as T;
+ {
+ return obj as T;
+ }
///
- /// 对对象执行指定操作后返回对象本身,
- /// 用于构建流式(链式)调用。
+ /// 对对象执行指定操作后返回对象本身,
+ /// 用于构建流式(链式)调用。
///
/// 对象类型
/// 源对象
/// 要执行的操作
/// 原对象
///
- ///
+ ///
/// obj.As<MyRule>()
/// ?.Do(r => r.Initialize())
/// ?.Do(r => r.Execute());
@@ -156,15 +158,15 @@ public static class ObjectExtensions
}
///
- /// 根据对象的运行时类型,依次匹配并执行对应的处理逻辑,
- /// 只会执行第一个匹配成功的处理器。
+ /// 根据对象的运行时类型,依次匹配并执行对应的处理逻辑,
+ /// 只会执行第一个匹配成功的处理器。
///
/// 源对象
///
- /// 类型与处理操作的元组数组,用于定义类型分派规则
+ /// 类型与处理操作的元组数组,用于定义类型分派规则
///
///
- ///
+ ///
/// obj.SwitchType(
/// (typeof(IRule), o => HandleRule((IRule)o)),
/// (typeof(ISystem), o => HandleSystem((ISystem)o))
diff --git a/GFramework.Core/ioc/IocContainer.cs b/GFramework.Core/ioc/IocContainer.cs
index 9930a49..aecfb4e 100644
--- a/GFramework.Core/ioc/IocContainer.cs
+++ b/GFramework.Core/ioc/IocContainer.cs
@@ -114,10 +114,7 @@ public class IocContainer : ContextAwareBase, IIocContainer
RegisterInternal(concreteType, instance);
// 注册所有接口类型
- foreach (var itf in interfaces)
- {
- RegisterInternal(itf, instance);
- }
+ foreach (var itf in interfaces) RegisterInternal(itf, instance);
}
finally
{
diff --git a/GFramework.Core/logging/ConsoleLoggerFactoryProvider.cs b/GFramework.Core/logging/ConsoleLoggerFactoryProvider.cs
index c73bbc6..9751f55 100644
--- a/GFramework.Core/logging/ConsoleLoggerFactoryProvider.cs
+++ b/GFramework.Core/logging/ConsoleLoggerFactoryProvider.cs
@@ -3,20 +3,22 @@
namespace GFramework.Core.logging;
///
-/// 控制台日志记录器工厂提供程序,用于创建控制台日志记录器实例
+/// 控制台日志记录器工厂提供程序,用于创建控制台日志记录器实例
///
public sealed class ConsoleLoggerFactoryProvider : ILoggerFactoryProvider
{
///
- /// 获取或设置日志记录器的最小日志级别,低于此级别的日志将被忽略
+ /// 获取或设置日志记录器的最小日志级别,低于此级别的日志将被忽略
///
public LogLevel MinLevel { get; set; } = LogLevel.Info;
///
- /// 创建一个日志记录器实例
+ /// 创建一个日志记录器实例
///
/// 日志记录器的名称,用于标识特定的日志源
/// 配置了指定名称和最小日志级别的ILogger实例
public ILogger CreateLogger(string name)
- => new ConsoleLoggerFactory().GetLogger(name, MinLevel);
+ {
+ return new ConsoleLoggerFactory().GetLogger(name, MinLevel);
+ }
}
\ No newline at end of file
diff --git a/GFramework.Core/logging/LoggerFactoryResolver.cs b/GFramework.Core/logging/LoggerFactoryResolver.cs
index 4dd5f7a..d7fd90e 100644
--- a/GFramework.Core/logging/LoggerFactoryResolver.cs
+++ b/GFramework.Core/logging/LoggerFactoryResolver.cs
@@ -3,24 +3,24 @@
namespace GFramework.Core.logging;
///
-/// 日志工厂提供程序解析器,用于管理和提供日志工厂提供程序实例
+/// 日志工厂提供程序解析器,用于管理和提供日志工厂提供程序实例
///
public static class LoggerFactoryResolver
{
///
- /// 获取或设置当前的日志工厂提供程序
+ /// 获取或设置当前的日志工厂提供程序
///
///
- /// 日志工厂提供程序实例,默认为控制台日志工厂提供程序
+ /// 日志工厂提供程序实例,默认为控制台日志工厂提供程序
///
public static ILoggerFactoryProvider Provider { get; set; }
= new ConsoleLoggerFactoryProvider();
///
- /// 获取或设置日志记录的最小级别
+ /// 获取或设置日志记录的最小级别
///
///
- /// 日志级别枚举值,默认为Info级别
+ /// 日志级别枚举值,默认为Info级别
///
public static LogLevel MinLevel { get; set; } = LogLevel.Info;
}
\ No newline at end of file
diff --git a/GFramework.Core/property/BindablePropertyUnRegister.cs b/GFramework.Core/property/BindablePropertyUnRegister.cs
index 2cbd06e..6ef5eef 100644
--- a/GFramework.Core/property/BindablePropertyUnRegister.cs
+++ b/GFramework.Core/property/BindablePropertyUnRegister.cs
@@ -28,10 +28,8 @@ public class BindablePropertyUnRegister(BindableProperty bindableProperty,
{
// 检查两个引用都不为null时才执行注销操作
if (BindableProperty != null && OnValueChanged != null)
- {
// 调用可绑定属性的注销方法,传入值变化回调函数
BindableProperty.UnRegister(OnValueChanged);
- }
// 清理属性引用
BindableProperty = null;
diff --git a/GFramework.Core/query/QueryBus.cs b/GFramework.Core/query/QueryBus.cs
index 34cfa58..ce1f698 100644
--- a/GFramework.Core/query/QueryBus.cs
+++ b/GFramework.Core/query/QueryBus.cs
@@ -3,12 +3,12 @@
namespace GFramework.Core.query;
///
-/// 查询总线实现,负责执行查询并返回结果
+/// 查询总线实现,负责执行查询并返回结果
///
public sealed class QueryBus : IQueryBus
{
///
- /// 执行指定的查询并返回结果
+ /// 执行指定的查询并返回结果
///
/// 查询结果的类型
/// 要执行的查询对象
diff --git a/GFramework.Game.Abstractions/assets/AssetCatalog.cs b/GFramework.Game.Abstractions/assets/AssetCatalog.cs
index 9d89ee5..84d6349 100644
--- a/GFramework.Game.Abstractions/assets/AssetCatalog.cs
+++ b/GFramework.Game.Abstractions/assets/AssetCatalog.cs
@@ -1,46 +1,45 @@
-namespace GFramework.Game.Abstractions.assets
+namespace GFramework.Game.Abstractions.assets;
+
+///
+/// 资源目录类,用于定义和管理游戏中的场景和资源标识符
+///
+public static class AssetCatalog
{
///
- /// 资源目录类,用于定义和管理游戏中的场景和资源标识符
+ /// 资源标识符接口,定义了资源路径的访问接口
///
- public static class AssetCatalog
+ public interface IAssetId
{
///
- /// 资源标识符接口,定义了资源路径的访问接口
+ /// 获取资源的路径
///
- public interface IAssetId
- {
- ///
- /// 获取资源的路径
- ///
- string Path { get; }
- }
-
- ///
- /// 资源目录映射结构体,用于存储资源目录的键值对映射关系
- ///
- /// 资源目录的键
- /// 资源标识符
- public readonly record struct AssetCatalogMapping(string Key, IAssetId Id);
-
-
- ///
- /// 场景页面资源标识符结构体,用于标识场景页面资源
- ///
- /// 场景页面资源路径
- public readonly record struct ScenePageId(string Path) : IAssetId;
-
-
- ///
- /// 场景单元资源标识符结构体,用于标识场景单元资源
- ///
- /// 场景单元资源路径
- public readonly record struct SceneUnitId(string Path) : IAssetId;
-
- ///
- /// 通用资源标识符结构体,实现IAssetId接口
- ///
- /// 资源路径
- public readonly record struct AssetId(string Path) : IAssetId;
+ string Path { get; }
}
+
+ ///
+ /// 资源目录映射结构体,用于存储资源目录的键值对映射关系
+ ///
+ /// 资源目录的键
+ /// 资源标识符
+ public readonly record struct AssetCatalogMapping(string Key, IAssetId Id);
+
+
+ ///
+ /// 场景页面资源标识符结构体,用于标识场景页面资源
+ ///
+ /// 场景页面资源路径
+ public readonly record struct ScenePageId(string Path) : IAssetId;
+
+
+ ///
+ /// 场景单元资源标识符结构体,用于标识场景单元资源
+ ///
+ /// 场景单元资源路径
+ public readonly record struct SceneUnitId(string Path) : IAssetId;
+
+ ///
+ /// 通用资源标识符结构体,实现IAssetId接口
+ ///
+ /// 资源路径
+ public readonly record struct AssetId(string Path) : IAssetId;
}
\ No newline at end of file
diff --git a/GFramework.Game.Abstractions/internals/IsExternalInit.cs b/GFramework.Game.Abstractions/internals/IsExternalInit.cs
index 2d050dd..a3ddedd 100644
--- a/GFramework.Game.Abstractions/internals/IsExternalInit.cs
+++ b/GFramework.Game.Abstractions/internals/IsExternalInit.cs
@@ -3,10 +3,9 @@
// when targeting netstandard2.0 or older frameworks.
#pragma warning disable S2094 // Remove this empty class
-namespace System.Runtime.CompilerServices
+namespace System.Runtime.CompilerServices;
+
+internal static class IsExternalInit
{
- internal static class IsExternalInit
- {
- }
}
#pragma warning restore S2094
\ No newline at end of file
diff --git a/GFramework.Game/architecture/AbstractModule.cs b/GFramework.Game/architecture/AbstractModule.cs
index f286dec..d4d2551 100644
--- a/GFramework.Game/architecture/AbstractModule.cs
+++ b/GFramework.Game/architecture/AbstractModule.cs
@@ -4,12 +4,12 @@ using GFramework.Core.Abstractions.enums;
namespace GFramework.Game.architecture;
///
-/// 抽象模块类,实现IArchitectureModule接口,为架构模块提供基础功能
+/// 抽象模块类,实现IArchitectureModule接口,为架构模块提供基础功能
///
public abstract class AbstractModule : IArchitectureModule
{
///
- /// 在指定架构阶段执行的操作
+ /// 在指定架构阶段执行的操作
///
/// 架构阶段枚举值
/// 架构实例
@@ -18,7 +18,7 @@ public abstract class AbstractModule : IArchitectureModule
}
///
- /// 在架构阶段执行的操作
+ /// 在架构阶段执行的操作
///
/// 架构阶段枚举值
public virtual void OnArchitecturePhase(ArchitecturePhase phase)
@@ -26,7 +26,7 @@ public abstract class AbstractModule : IArchitectureModule
}
///
- /// 安装模块到架构中
+ /// 安装模块到架构中
///
/// 要安装到的架构实例
public abstract void Install(IArchitecture architecture);
diff --git a/GFramework.Godot.SourceGenerators.Abstractions/GodotModuleMarker.cs b/GFramework.Godot.SourceGenerators.Abstractions/GodotModuleMarker.cs
index a56403b..cba33ef 100644
--- a/GFramework.Godot.SourceGenerators.Abstractions/GodotModuleMarker.cs
+++ b/GFramework.Godot.SourceGenerators.Abstractions/GodotModuleMarker.cs
@@ -1,6 +1,6 @@
namespace GFramework.Godot.SourceGenerators.Abstractions;
///
-/// Godot 模块命名空间占位类型
+/// Godot 模块命名空间占位类型
///
internal sealed class GodotModuleMarker;
\ No newline at end of file
diff --git a/GFramework.Godot/architecture/AbstractArchitecture.cs b/GFramework.Godot/architecture/AbstractArchitecture.cs
index fb43ecb..757f294 100644
--- a/GFramework.Godot/architecture/AbstractArchitecture.cs
+++ b/GFramework.Godot/architecture/AbstractArchitecture.cs
@@ -1,7 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-using GFramework.Core.Abstractions.architecture;
+using GFramework.Core.Abstractions.architecture;
using GFramework.Core.Abstractions.environment;
using GFramework.Core.architecture;
using GFramework.Core.constants;
diff --git a/GFramework.Godot/architecture/ArchitectureAnchor.cs b/GFramework.Godot/architecture/ArchitectureAnchor.cs
index 2dbe047..2884184 100644
--- a/GFramework.Godot/architecture/ArchitectureAnchor.cs
+++ b/GFramework.Godot/architecture/ArchitectureAnchor.cs
@@ -1,5 +1,4 @@
-using System;
-using Godot;
+using Godot;
namespace GFramework.Godot.architecture;
diff --git a/GFramework.Godot/assets/AbstractResourceFactorySystem.cs b/GFramework.Godot/assets/AbstractResourceFactorySystem.cs
index ad913c2..eabdcb0 100644
--- a/GFramework.Godot/assets/AbstractResourceFactorySystem.cs
+++ b/GFramework.Godot/assets/AbstractResourceFactorySystem.cs
@@ -1,4 +1,3 @@
-using System;
using GFramework.Core.Abstractions.enums;
using GFramework.Core.extensions;
using GFramework.Core.system;
diff --git a/GFramework.Godot/assets/IResourceLoadSystem.cs b/GFramework.Godot/assets/IResourceLoadSystem.cs
index 8c08c4a..2a124a4 100644
--- a/GFramework.Godot/assets/IResourceLoadSystem.cs
+++ b/GFramework.Godot/assets/IResourceLoadSystem.cs
@@ -1,6 +1,4 @@
-using System;
-using System.Collections.Generic;
-using GFramework.Core.Abstractions.system;
+using GFramework.Core.Abstractions.system;
using GFramework.Game.Abstractions.assets;
using Godot;
diff --git a/GFramework.Godot/assets/ResourceLoadSystem.cs b/GFramework.Godot/assets/ResourceLoadSystem.cs
index 39986be..d70318b 100644
--- a/GFramework.Godot/assets/ResourceLoadSystem.cs
+++ b/GFramework.Godot/assets/ResourceLoadSystem.cs
@@ -1,5 +1,4 @@
-using System.Collections.Generic;
-using GFramework.Core.system;
+using GFramework.Core.system;
using GFramework.Game.Abstractions.assets;
using Godot;
diff --git a/GFramework.Godot/extensions/signal/SignalBuilder.cs b/GFramework.Godot/extensions/signal/SignalBuilder.cs
index ce26841..e409e1a 100644
--- a/GFramework.Godot/extensions/signal/SignalBuilder.cs
+++ b/GFramework.Godot/extensions/signal/SignalBuilder.cs
@@ -3,7 +3,7 @@
namespace GFramework.Godot.extensions.signal;
///
-/// 信号连接构建器,用于以流畅的方式连接Godot信号
+/// 信号连接构建器,用于以流畅的方式连接Godot信号
///
/// 要连接信号的目标节点
/// 要连接的信号名称
@@ -12,7 +12,7 @@ public sealed class SignalBuilder(GodotObject target, StringName signal)
private GodotObject.ConnectFlags? _flags;
///
- /// 设置连接标志
+ /// 设置连接标志
///
/// 连接标志
/// 当前构建器实例
@@ -23,7 +23,7 @@ public sealed class SignalBuilder(GodotObject target, StringName signal)
}
///
- /// 连接信号到指定的可调用对象
+ /// 连接信号到指定的可调用对象
///
/// 要连接的可调用对象
/// 连接标志
@@ -41,7 +41,7 @@ public sealed class SignalBuilder(GodotObject target, StringName signal)
}
///
- /// 连接信号到指定的可调用对象并立即调用
+ /// 连接信号到指定的可调用对象并立即调用
///
/// 要连接的可调用对象
/// 连接标志
@@ -55,8 +55,11 @@ public sealed class SignalBuilder(GodotObject target, StringName signal)
}
///
- /// 显式结束,返回 Node
+ /// 显式结束,返回 Node
///
/// 目标节点
- public GodotObject End() => target;
+ public GodotObject End()
+ {
+ return target;
+ }
}
\ No newline at end of file
diff --git a/GFramework.Godot/extensions/signal/SignalFluentExtensions.cs b/GFramework.Godot/extensions/signal/SignalFluentExtensions.cs
index 4311b95..6891c61 100644
--- a/GFramework.Godot/extensions/signal/SignalFluentExtensions.cs
+++ b/GFramework.Godot/extensions/signal/SignalFluentExtensions.cs
@@ -3,12 +3,12 @@
namespace GFramework.Godot.extensions.signal;
///
-/// 为Godot Node节点提供信号相关的流畅API扩展方法
+/// 为Godot Node节点提供信号相关的流畅API扩展方法
///
public static class SignalFluentExtensions
{
///
- /// 为指定节点创建信号构建器
+ /// 为指定节点创建信号构建器
///
/// 要创建信号构建器的Godot对象
/// 信号名称
@@ -16,5 +16,7 @@ public static class SignalFluentExtensions
public static SignalBuilder Signal(
this GodotObject @object,
StringName signal)
- => new(@object, signal);
+ {
+ return new SignalBuilder(@object, signal);
+ }
}
\ No newline at end of file
diff --git a/GFramework.Godot/logging/GodotLogger.cs b/GFramework.Godot/logging/GodotLogger.cs
index a7defe4..c9c2895 100644
--- a/GFramework.Godot/logging/GodotLogger.cs
+++ b/GFramework.Godot/logging/GodotLogger.cs
@@ -18,10 +18,7 @@ public sealed class GodotLogger(
var logPrefix = $"[{timestamp}] {levelStr} [{Name()}]";
// 添加异常信息
- if (exception != null)
- {
- message += "\n" + exception;
- }
+ if (exception != null) message += "\n" + exception;
var logMessage = $"{logPrefix} {message}";
diff --git a/GFramework.Godot/logging/GodotLoggerFactoryProvider.cs b/GFramework.Godot/logging/GodotLoggerFactoryProvider.cs
index 95c2932..cf9aa98 100644
--- a/GFramework.Godot/logging/GodotLoggerFactoryProvider.cs
+++ b/GFramework.Godot/logging/GodotLoggerFactoryProvider.cs
@@ -3,19 +3,22 @@
namespace GFramework.Godot.logging;
///
-/// Godot日志工厂提供程序,用于创建Godot日志记录器实例
+/// Godot日志工厂提供程序,用于创建Godot日志记录器实例
///
public sealed class GodotLoggerFactoryProvider : ILoggerFactoryProvider
{
///
- /// 获取或设置最小日志级别
+ /// 获取或设置最小日志级别
///
public LogLevel MinLevel { get; set; }
///
- /// 创建指定名称的日志记录器实例
+ /// 创建指定名称的日志记录器实例
///
/// 日志记录器的名称
/// 返回配置了最小日志级别的Godot日志记录器实例
- public ILogger CreateLogger(string name) => new GodotLoggerFactory().GetLogger(name, MinLevel);
+ public ILogger CreateLogger(string name)
+ {
+ return new GodotLoggerFactory().GetLogger(name, MinLevel);
+ }
}
\ No newline at end of file
diff --git a/GFramework.Godot/system/AbstractAudioManagerSystem.cs b/GFramework.Godot/system/AbstractAudioManagerSystem.cs
index f7d2a04..dadf886 100644
--- a/GFramework.Godot/system/AbstractAudioManagerSystem.cs
+++ b/GFramework.Godot/system/AbstractAudioManagerSystem.cs
@@ -1,4 +1,3 @@
-using System.Collections.Generic;
using GFramework.Core.extensions;
using GFramework.Core.system;
using GFramework.Game.Abstractions.assets;
diff --git a/GFramework.SourceGenerators.Common/constants/PathContests.cs b/GFramework.SourceGenerators.Common/constants/PathContests.cs
index ab96d81..9a0b6fe 100644
--- a/GFramework.SourceGenerators.Common/constants/PathContests.cs
+++ b/GFramework.SourceGenerators.Common/constants/PathContests.cs
@@ -1,42 +1,42 @@
namespace GFramework.SourceGenerators.Common.constants;
///
-/// 定义GFramework项目中使用的路径常量
+/// 定义GFramework项目中使用的路径常量
///
public static class PathContests
{
///
- /// GFramework基础命名空间
+ /// GFramework基础命名空间
///
public const string BaseNamespace = "GFramework";
///
- /// GFramework核心模块命名空间
+ /// GFramework核心模块命名空间
///
public const string CoreNamespace = $"{BaseNamespace}.Core";
///
- /// GFramework Godot模块命名空间
+ /// GFramework Godot模块命名空间
///
public const string GodotNamespace = $"{BaseNamespace}.Godot";
///
- /// GFramework游戏模块命名空间
+ /// GFramework游戏模块命名空间
///
public const string GameNamespace = $"{BaseNamespace}.Game";
///
- /// GFramework源代码生成器抽象层命名空间
+ /// GFramework源代码生成器抽象层命名空间
///
public const string SourceGeneratorsAbstractionsPath = $"{BaseNamespace}.SourceGenerators.Abstractions";
///
- /// GFramework Godot源代码生成器抽象层命名空间
+ /// GFramework Godot源代码生成器抽象层命名空间
///
public const string GodotSourceGeneratorsAbstractionsPath = $"{GodotNamespace}.SourceGenerators.Abstractions";
///
- /// GFramework核心抽象层命名空间
+ /// GFramework核心抽象层命名空间
///
public const string CoreAbstractionsNamespace = $"{CoreNamespace}.Abstractions";
}
\ No newline at end of file
diff --git a/GFramework.SourceGenerators.Common/diagnostics/CommonDiagnostics.cs b/GFramework.SourceGenerators.Common/diagnostics/CommonDiagnostics.cs
index fad409b..10c84bc 100644
--- a/GFramework.SourceGenerators.Common/diagnostics/CommonDiagnostics.cs
+++ b/GFramework.SourceGenerators.Common/diagnostics/CommonDiagnostics.cs
@@ -24,7 +24,7 @@ public static class CommonDiagnostics
"Class '{0}' must be declared partial for code generation",
"GFramework.Common",
DiagnosticSeverity.Error,
- isEnabledByDefault: true
+ true
);
///
@@ -44,7 +44,7 @@ public static class CommonDiagnostics
"{0}",
"GFramework.Trace",
DiagnosticSeverity.Info,
- isEnabledByDefault: true
+ true
);
///
diff --git a/GFramework.SourceGenerators.Common/generator/AttributeClassGeneratorBase.cs b/GFramework.SourceGenerators.Common/generator/AttributeClassGeneratorBase.cs
index bc85920..762c3b5 100644
--- a/GFramework.SourceGenerators.Common/generator/AttributeClassGeneratorBase.cs
+++ b/GFramework.SourceGenerators.Common/generator/AttributeClassGeneratorBase.cs
@@ -128,7 +128,9 @@ public abstract class AttributeClassGeneratorBase : IIncrementalGenerator
ClassDeclarationSyntax syntax,
INamedTypeSymbol symbol,
AttributeData attr)
- => true;
+ {
+ return true;
+ }
///
/// 生成源代码
@@ -150,7 +152,9 @@ public abstract class AttributeClassGeneratorBase : IIncrementalGenerator
/// 命名类型符号
/// 生成文件的提示名称
protected virtual string GetHintName(INamedTypeSymbol symbol)
- => $"{symbol.Name}.g.cs";
+ {
+ return $"{symbol.Name}.g.cs";
+ }
///
/// 报告类必须是部分类的错误
diff --git a/GFramework.SourceGenerators.Common/generator/AttributeEnumGeneratorBase.cs b/GFramework.SourceGenerators.Common/generator/AttributeEnumGeneratorBase.cs
index d12233a..76976a9 100644
--- a/GFramework.SourceGenerators.Common/generator/AttributeEnumGeneratorBase.cs
+++ b/GFramework.SourceGenerators.Common/generator/AttributeEnumGeneratorBase.cs
@@ -5,17 +5,17 @@ using Microsoft.CodeAnalysis.CSharp.Syntax;
namespace GFramework.SourceGenerators.Common.generator;
///
-/// 属性枚举生成器基类,用于基于特定属性的枚举进行源代码生成
+/// 属性枚举生成器基类,用于基于特定属性的枚举进行源代码生成
///
public abstract class AttributeEnumGeneratorBase : IIncrementalGenerator
{
///
- /// 获取属性的短名称(不包含后缀)
+ /// 获取属性的短名称(不包含后缀)
///
protected abstract string AttributeShortNameWithoutSuffix { get; }
///
- /// 初始化增量生成器
+ /// 初始化增量生成器
///
/// 增量生成器初始化上下文
public void Initialize(IncrementalGeneratorInitializationContext context)
@@ -31,7 +31,7 @@ public abstract class AttributeEnumGeneratorBase : IIncrementalGenerator
(ctx, _) =>
{
var syntax = (EnumDeclarationSyntax)ctx.Node;
- var symbol = ctx.SemanticModel.GetDeclaredSymbol(syntax, cancellationToken: _) as INamedTypeSymbol;
+ var symbol = ctx.SemanticModel.GetDeclaredSymbol(syntax, _) as INamedTypeSymbol;
return (syntax, symbol);
})
.Where(x => x.symbol is not null);
@@ -57,7 +57,7 @@ public abstract class AttributeEnumGeneratorBase : IIncrementalGenerator
}
///
- /// 解析指定符号上的属性数据
+ /// 解析指定符号上的属性数据
///
/// 编译对象
/// 命名类型符号
@@ -67,7 +67,7 @@ public abstract class AttributeEnumGeneratorBase : IIncrementalGenerator
INamedTypeSymbol symbol);
///
- /// 验证符号是否符合生成要求
+ /// 验证符号是否符合生成要求
///
/// 源生产上下文
/// 编译对象
@@ -83,7 +83,7 @@ public abstract class AttributeEnumGeneratorBase : IIncrementalGenerator
AttributeData attr);
///
- /// 生成源代码
+ /// 生成源代码
///
/// 命名类型符号
/// 属性数据
@@ -93,10 +93,12 @@ public abstract class AttributeEnumGeneratorBase : IIncrementalGenerator
AttributeData attr);
///
- /// 获取生成文件的提示名称
+ /// 获取生成文件的提示名称
///
/// 命名类型符号
/// 生成文件的提示名称
protected virtual string GetHintName(INamedTypeSymbol symbol)
- => $"{symbol.Name}.g.cs";
+ {
+ return $"{symbol.Name}.g.cs";
+ }
}
\ No newline at end of file
diff --git a/GFramework.SourceGenerators.Common/generator/MetadataAttributeClassGeneratorBase.cs b/GFramework.SourceGenerators.Common/generator/MetadataAttributeClassGeneratorBase.cs
index bd5e886..4992492 100644
--- a/GFramework.SourceGenerators.Common/generator/MetadataAttributeClassGeneratorBase.cs
+++ b/GFramework.SourceGenerators.Common/generator/MetadataAttributeClassGeneratorBase.cs
@@ -4,18 +4,18 @@ using Microsoft.CodeAnalysis;
namespace GFramework.SourceGenerators.Common.generator;
///
-/// 元数据属性类生成器基类,用于基于元数据名称解析特性的抽象基类
+/// 元数据属性类生成器基类,用于基于元数据名称解析特性的抽象基类
///
public abstract class MetadataAttributeClassGeneratorBase
: AttributeClassGeneratorBase
{
///
- /// 获取特性元数据名称的抽象属性
+ /// 获取特性元数据名称的抽象属性
///
protected abstract string AttributeMetadataName { get; }
///
- /// 根据元数据名称解析指定符号上的特性
+ /// 根据元数据名称解析指定符号上的特性
///
/// 编译对象,用于获取类型信息
/// 命名类型符号,用于查找其上的特性
diff --git a/GFramework.SourceGenerators.Common/generator/TypeAttributeClassGeneratorBase.cs b/GFramework.SourceGenerators.Common/generator/TypeAttributeClassGeneratorBase.cs
index 7f6ccd7..876161d 100644
--- a/GFramework.SourceGenerators.Common/generator/TypeAttributeClassGeneratorBase.cs
+++ b/GFramework.SourceGenerators.Common/generator/TypeAttributeClassGeneratorBase.cs
@@ -5,18 +5,18 @@ using Microsoft.CodeAnalysis;
namespace GFramework.SourceGenerators.Common.generator;
///
-/// 基于类型特性的类生成器基类
+/// 基于类型特性的类生成器基类
///
public abstract class TypeAttributeClassGeneratorBase
: AttributeClassGeneratorBase
{
///
- /// 获取要处理的特性类型
+ /// 获取要处理的特性类型
///
protected abstract Type AttributeType { get; }
///
- /// 解析指定符号上的特性
+ /// 解析指定符号上的特性
///
/// 编译对象(未使用)
/// 要检查的命名类型符号
diff --git a/GFramework.SourceGenerators.Tests/core/GeneratorSnapshotTest.cs b/GFramework.SourceGenerators.Tests/core/GeneratorSnapshotTest.cs
index 23e0e6b..47a6230 100644
--- a/GFramework.SourceGenerators.Tests/core/GeneratorSnapshotTest.cs
+++ b/GFramework.SourceGenerators.Tests/core/GeneratorSnapshotTest.cs
@@ -5,14 +5,14 @@ using NUnit.Framework;
namespace GFramework.SourceGenerators.Tests.core;
///
-/// 用于测试源代码生成器的快照测试类
+/// 用于测试源代码生成器的快照测试类
///
/// 要测试的源代码生成器类型
public static class GeneratorSnapshotTest
where TGenerator : new()
{
///
- /// 运行源代码生成器的快照测试
+ /// 运行源代码生成器的快照测试
///
/// 输入的源代码字符串
/// 快照文件存储的文件夹路径
@@ -61,10 +61,12 @@ public static class GeneratorSnapshotTest
}
///
- /// 标准化文本内容,将换行符统一为\n并去除首尾空白
+ /// 标准化文本内容,将换行符统一为\n并去除首尾空白
///
/// 要标准化的文本
/// 标准化后的文本
private static string Normalize(string text)
- => text.Replace("\r\n", "\n").Trim();
+ {
+ return text.Replace("\r\n", "\n").Trim();
+ }
}
\ No newline at end of file
diff --git a/GFramework.SourceGenerators.Tests/rule/ContextAwareGeneratorSnapshotTests.cs b/GFramework.SourceGenerators.Tests/rule/ContextAwareGeneratorSnapshotTests.cs
index aa43434..73a40fd 100644
--- a/GFramework.SourceGenerators.Tests/rule/ContextAwareGeneratorSnapshotTests.cs
+++ b/GFramework.SourceGenerators.Tests/rule/ContextAwareGeneratorSnapshotTests.cs
@@ -5,15 +5,15 @@ using NUnit.Framework;
namespace GFramework.SourceGenerators.Tests.rule;
///
-/// 上下文感知生成器快照测试类
-/// 用于测试ContextAwareGenerator源代码生成器的输出快照
+/// 上下文感知生成器快照测试类
+/// 用于测试ContextAwareGenerator源代码生成器的输出快照
///
[TestFixture]
public class ContextAwareGeneratorSnapshotTests
{
///
- /// 测试ContextAwareGenerator源代码生成器的快照功能
- /// 验证生成器对带有ContextAware特性的类的处理结果
+ /// 测试ContextAwareGenerator源代码生成器的快照功能
+ /// 验证生成器对带有ContextAware特性的类的处理结果
///
/// 异步任务,无返回值
[Test]
@@ -75,7 +75,7 @@ public class ContextAwareGeneratorSnapshotTests
// 执行生成器快照测试,将生成的代码与预期快照进行比较
await GeneratorSnapshotTest.RunAsync(
source,
- snapshotFolder: Path.Combine(
+ Path.Combine(
TestContext.CurrentContext.TestDirectory,
"rule",
"snapshots",
diff --git a/GFramework.SourceGenerators/diagnostics/ContextAwareDiagnostic.cs b/GFramework.SourceGenerators/diagnostics/ContextAwareDiagnostic.cs
index d32841d..f44b406 100644
--- a/GFramework.SourceGenerators/diagnostics/ContextAwareDiagnostic.cs
+++ b/GFramework.SourceGenerators/diagnostics/ContextAwareDiagnostic.cs
@@ -8,7 +8,7 @@ namespace GFramework.SourceGenerators.diagnostics;
public static class ContextAwareDiagnostic
{
///
- /// 诊断规则:ContextAwareAttribute只能应用于类
+ /// 诊断规则:ContextAwareAttribute只能应用于类
///
public static readonly DiagnosticDescriptor ContextAwareOnlyForClass = new(
"GF_Rule_001",
diff --git a/GFramework.SourceGenerators/enums/EnumExtensionsGenerator.cs b/GFramework.SourceGenerators/enums/EnumExtensionsGenerator.cs
index a8598c1..53130ef 100644
--- a/GFramework.SourceGenerators/enums/EnumExtensionsGenerator.cs
+++ b/GFramework.SourceGenerators/enums/EnumExtensionsGenerator.cs
@@ -9,7 +9,7 @@ using Microsoft.CodeAnalysis.CSharp.Syntax;
namespace GFramework.SourceGenerators.enums;
///
-/// 枚举扩展方法生成器,用于自动生成枚举相关的扩展方法
+/// 枚举扩展方法生成器,用于自动生成枚举相关的扩展方法
///
[Generator]
public sealed class EnumExtensionsGenerator : AttributeEnumGeneratorBase
@@ -18,7 +18,7 @@ public sealed class EnumExtensionsGenerator : AttributeEnumGeneratorBase
$"{PathContests.SourceGeneratorsAbstractionsPath}.enums.GenerateEnumExtensionsAttribute";
///
- /// 仅用于 Syntax 粗筛选
+ /// 仅用于 Syntax 粗筛选
///
protected override string AttributeShortNameWithoutSuffix => "GenerateEnumExtensions";
@@ -49,7 +49,7 @@ public sealed class EnumExtensionsGenerator : AttributeEnumGeneratorBase
}
///
- /// 生成枚举扩展方法的源代码
+ /// 生成枚举扩展方法的源代码
///
/// 枚举类型符号
/// 属性数据
@@ -103,10 +103,12 @@ public sealed class EnumExtensionsGenerator : AttributeEnumGeneratorBase
}
///
- /// 获取生成文件的提示名称
+ /// 获取生成文件的提示名称
///
/// 命名类型符号
/// 生成文件的提示名称
protected override string GetHintName(INamedTypeSymbol symbol)
- => $"{symbol.Name}.EnumExtensions.g.cs";
+ {
+ return $"{symbol.Name}.EnumExtensions.g.cs";
+ }
}
\ No newline at end of file
diff --git a/GFramework.SourceGenerators/logging/LoggerGenerator.cs b/GFramework.SourceGenerators/logging/LoggerGenerator.cs
index 0317635..8ace031 100644
--- a/GFramework.SourceGenerators/logging/LoggerGenerator.cs
+++ b/GFramework.SourceGenerators/logging/LoggerGenerator.cs
@@ -16,18 +16,18 @@ namespace GFramework.SourceGenerators.logging;
public sealed class LoggerGenerator : TypeAttributeClassGeneratorBase
{
///
- /// 获取属性元数据的完整名称,用于标识日志属性的完全限定名
+ /// 获取属性元数据的完整名称,用于标识日志属性的完全限定名
///
protected override Type AttributeType => typeof(LogAttribute);
///
- /// 用于语法快速筛选
+ /// 用于语法快速筛选
///
protected override string AttributeShortNameWithoutSuffix => "Log";
///
- /// 对类进行额外语义校验(可选)
+ /// 对类进行额外语义校验(可选)
///
protected override bool ValidateSymbol(
SourceProductionContext context,
@@ -99,11 +99,15 @@ public sealed class LoggerGenerator : TypeAttributeClassGeneratorBase
}
///
- /// 可以自定义生成文件名
+ /// 可以自定义生成文件名
///
protected override string GetHintName(INamedTypeSymbol symbol)
- => $"{symbol.Name}.Logger.g.cs";
+ {
+ return $"{symbol.Name}.Logger.g.cs";
+ }
private static object? GetNamedArg(AttributeData attr, string name)
- => attr.NamedArguments.FirstOrDefault(kv => kv.Key == name).Value.Value;
+ {
+ return attr.NamedArguments.FirstOrDefault(kv => kv.Key == name).Value.Value;
+ }
}
\ No newline at end of file
diff --git a/GFramework.SourceGenerators/rule/ContextAwareGenerator.cs b/GFramework.SourceGenerators/rule/ContextAwareGenerator.cs
index c1b1998..261ee8c 100644
--- a/GFramework.SourceGenerators/rule/ContextAwareGenerator.cs
+++ b/GFramework.SourceGenerators/rule/ContextAwareGenerator.cs
@@ -11,24 +11,24 @@ using Microsoft.CodeAnalysis.CSharp.Syntax;
namespace GFramework.SourceGenerators.rule;
///
-/// 上下文感知生成器,用于为标记了ContextAware特性的类自动生成IContextAware接口实现
+/// 上下文感知生成器,用于为标记了ContextAware特性的类自动生成IContextAware接口实现
///
[Generator]
public sealed class ContextAwareGenerator : MetadataAttributeClassGeneratorBase
{
///
- /// 获取特性的元数据名称
+ /// 获取特性的元数据名称
///
protected override string AttributeMetadataName =>
$"{PathContests.SourceGeneratorsAbstractionsPath}.rule.ContextAwareAttribute";
///
- /// 获取特性的短名称(不包含后缀)
+ /// 获取特性的短名称(不包含后缀)
///
protected override string AttributeShortNameWithoutSuffix => "ContextAware";
///
- /// 验证符号是否符合生成条件
+ /// 验证符号是否符合生成条件
///
/// 源生产上下文
/// 编译对象
@@ -68,7 +68,7 @@ public sealed class ContextAwareGenerator : MetadataAttributeClassGeneratorBase
///
- /// 生成源代码
+ /// 生成源代码
///
/// 源生产上下文
/// 编译对象
@@ -112,18 +112,20 @@ public sealed class ContextAwareGenerator : MetadataAttributeClassGeneratorBase
}
///
- /// 获取生成文件的提示名称
+ /// 获取生成文件的提示名称
///
/// 命名类型符号
/// 生成文件的提示名称
protected override string GetHintName(INamedTypeSymbol symbol)
- => $"{symbol.Name}.ContextAware.g.cs";
+ {
+ return $"{symbol.Name}.ContextAware.g.cs";
+ }
// =========================
// Context 属性(无 global::,与测试一致)
// =========================
///
- /// 生成Context属性
+ /// 生成Context属性
///
/// 字符串构建器
private static void GenerateContextProperty(StringBuilder sb)
@@ -154,7 +156,7 @@ public sealed class ContextAwareGenerator : MetadataAttributeClassGeneratorBase
// 显式接口实现(使用 global::)
// =========================
///
- /// 生成接口实现
+ /// 生成接口实现
///
/// 字符串构建器
/// 接口符号
@@ -176,7 +178,7 @@ public sealed class ContextAwareGenerator : MetadataAttributeClassGeneratorBase
}
///
- /// 生成方法实现
+ /// 生成方法实现
///
/// 字符串构建器
/// 接口名称
@@ -203,7 +205,7 @@ public sealed class ContextAwareGenerator : MetadataAttributeClassGeneratorBase
}
///
- /// 生成方法体
+ /// 生成方法体
///
/// 字符串构建器
/// 方法符号
@@ -223,10 +225,8 @@ public sealed class ContextAwareGenerator : MetadataAttributeClassGeneratorBase
default:
if (!method.ReturnsVoid)
- {
sb.AppendLine(
$" throw new System.NotImplementedException(\"Method '{method.Name}' is not supported.\");");
- }
break;
}