feat(core): 更新架构接口返回值可空

- 修改 GetSystem 方法返回值为可空类型
- 修改 GetModel 方法返回值为可空类型
- 修改 GetUtility 方法返回值为可空类型
- 更新对应接口定义以支持可空返回值
This commit is contained in:
GeWuYou 2025-12-18 16:06:51 +08:00
parent 30bd571bc1
commit 1e67b8ae52
2 changed files with 6 additions and 6 deletions

View File

@ -144,7 +144,7 @@ public abstract class Architecture<T> : IArchitecture where T : Architecture<T>,
/// </summary> /// </summary>
/// <typeparam name="TSystem">目标系统类型</typeparam> /// <typeparam name="TSystem">目标系统类型</typeparam>
/// <returns>对应的系统实例</returns> /// <returns>对应的系统实例</returns>
public TSystem GetSystem<TSystem>() where TSystem : class, ISystem public TSystem? GetSystem<TSystem>() where TSystem : class, ISystem
{ {
return _mContainer.Get<TSystem>(); return _mContainer.Get<TSystem>();
} }
@ -154,7 +154,7 @@ public abstract class Architecture<T> : IArchitecture where T : Architecture<T>,
/// </summary> /// </summary>
/// <typeparam name="TModel">目标模型类型</typeparam> /// <typeparam name="TModel">目标模型类型</typeparam>
/// <returns>对应的模型实例</returns> /// <returns>对应的模型实例</returns>
public TModel GetModel<TModel>() where TModel : class, IModel public TModel? GetModel<TModel>() where TModel : class, IModel
{ {
return _mContainer.Get<TModel>(); return _mContainer.Get<TModel>();
} }
@ -164,7 +164,7 @@ public abstract class Architecture<T> : IArchitecture where T : Architecture<T>,
/// </summary> /// </summary>
/// <typeparam name="TUtility">目标工具类型</typeparam> /// <typeparam name="TUtility">目标工具类型</typeparam>
/// <returns>对应的工具实例</returns> /// <returns>对应的工具实例</returns>
public TUtility GetUtility<TUtility>() where TUtility : class, IUtility public TUtility? GetUtility<TUtility>() where TUtility : class, IUtility
{ {
return _mContainer.Get<TUtility>(); return _mContainer.Get<TUtility>();
} }

View File

@ -39,21 +39,21 @@ public interface IArchitecture
/// </summary> /// </summary>
/// <typeparam name="T">系统类型必须是class且实现ISystem接口</typeparam> /// <typeparam name="T">系统类型必须是class且实现ISystem接口</typeparam>
/// <returns>指定类型的系统实例</returns> /// <returns>指定类型的系统实例</returns>
T GetSystem<T>() where T : class, ISystem; T? GetSystem<T>() where T : class, ISystem;
/// <summary> /// <summary>
/// 从架构中获取指定类型的模型实例 /// 从架构中获取指定类型的模型实例
/// </summary> /// </summary>
/// <typeparam name="T">模型类型必须是class且实现IModel接口</typeparam> /// <typeparam name="T">模型类型必须是class且实现IModel接口</typeparam>
/// <returns>指定类型的模型实例</returns> /// <returns>指定类型的模型实例</returns>
T GetModel<T>() where T : class, IModel; T? GetModel<T>() where T : class, IModel;
/// <summary> /// <summary>
/// 从架构中获取指定类型的工具实例 /// 从架构中获取指定类型的工具实例
/// </summary> /// </summary>
/// <typeparam name="T">工具类型必须是class且实现IUtility接口</typeparam> /// <typeparam name="T">工具类型必须是class且实现IUtility接口</typeparam>
/// <returns>指定类型的工具实例</returns> /// <returns>指定类型的工具实例</returns>
T GetUtility<T>() where T : class, IUtility; T? GetUtility<T>() where T : class, IUtility;
/// <summary> /// <summary>
/// 发送并执行指定的命令 /// 发送并执行指定的命令