From 9ed57324c7c70be54665fd582c5cc9fd16bef5b4 Mon Sep 17 00:00:00 2001 From: GeWuYou <95328647+GeWuYou@users.noreply.github.com> Date: Tue, 23 Dec 2025 13:29:18 +0800 Subject: [PATCH] =?UTF-8?q?refactor(ioc):=20=E4=BC=98=E5=8C=96IocContainer?= =?UTF-8?q?=E4=B8=ADGetSingle=E6=96=B9=E6=B3=95=E7=9A=84switch=E8=A1=A8?= =?UTF-8?q?=E8=BE=BE=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将switch表达式重构为传统switch语句 - 添加了对单个实例情况的明确处理 - 统一了错误消息变量命名规范 - 保持了原有的功能逻辑不变 - 改进了代码的可读性和维护性 --- GFramework.Core/ioc/IocContainer.cs | 31 ++++++++++++----------------- 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/GFramework.Core/ioc/IocContainer.cs b/GFramework.Core/ioc/IocContainer.cs index 34bec27..3a0bed1 100644 --- a/GFramework.Core/ioc/IocContainer.cs +++ b/GFramework.Core/ioc/IocContainer.cs @@ -242,27 +242,22 @@ public class IocContainer var logger = Log.CreateLogger("IOC"); var list = GetAll(); - // 根据实例数量进行判断和处理 - return list.Count switch + switch (list.Count) { - 0 => - { - var errorMsg = $"No instance registered for {typeof(T).Name}"; - logger.Error(errorMsg); - throw new InvalidOperationException(errorMsg); - }, - > 1 => - { - var errorMsg = $"Multiple instances registered for {typeof(T).Name}"; - logger.Error(errorMsg); - throw new InvalidOperationException(errorMsg); - }, - _ => - { + case 0: + var notFoundMsg = $"No instance registered for {typeof(T).Name}"; + logger.Error(notFoundMsg); + throw new InvalidOperationException(notFoundMsg); + + case 1: logger.Debug($"Retrieved required instance: {typeof(T).Name}"); return list[0]; - } - }; + + default: + var multipleMsg = $"Multiple instances registered for {typeof(T).Name}"; + logger.Error(multipleMsg); + throw new InvalidOperationException(multipleMsg); + } } ///