返回提交历史
Modified
XFEExtension.NetCore.WinUIHelper/Utilities/ServiceManager.cs
+2
-2
Modified
XFEExtension.NetCore.WinUIHelper/XFEExtension.NetCore.WinUIHelper.csproj
+2
-2
XFEstudio/XFEExtension.NetCore.WinUIHelper
实现无需注册服务也可直接使用GetService
6d8188c
代码差异
2 个文件
+4
-4
@@ -43,11 +43,11 @@ public static class ServiceManager
43
43
{
44
44
var type = typeof(T);
45
45
if (type.IsGenericType)
46
return (T?)Activator.CreateInstance((type.Assembly.GetType($"XFEExtension.NetCore.WinUIHelper.Implements.Services.{type.Name![1..]}") ?? throw new NullReferenceException("无法找到指定服务的实现类")).MakeGenericType(type.GenericTypeArguments)) ?? throw new NullReferenceException("无法找到指定服务的实现类");
46
return (T?)Activator.CreateInstance((type.Assembly.GetTypes().Where(t => t.Name == type.Name![1..]).FirstOrDefault() ?? throw new NullReferenceException("无法找到指定服务的实现类")).MakeGenericType(type.GenericTypeArguments)) ?? throw new NullReferenceException("无法找到指定服务的实现类");
47
47
var typeName = typeof(T).Name;
48
48
if (services.TryGetValue(typeName, out var ctr))
49
49
return (T)ctr();
50
50
else
51
return (T?)Activator.CreateInstance(type.Assembly.GetType($"XFEExtension.NetCore.WinUIHelper.Implements.Services.{type.Name![1..]}") ?? throw new NullReferenceException("无法找到指定服务的实现类")) ?? throw new NullReferenceException("无法找到指定服务的实现类");
51
return (T?)Activator.CreateInstance(type.Assembly.GetTypes().Where(t => t.Name == type.Name![1..]).FirstOrDefault() ?? throw new NullReferenceException("无法找到指定服务的实现类")) ?? throw new NullReferenceException("无法找到指定服务的实现类");
52
52
}
53
53
}
@@ -9,7 +9,7 @@
9
9
<Nullable>enable</Nullable>
10
10
<GenerateDocumentationFile>True</GenerateDocumentationFile>
11
11
<Title>XFEExtension.NetCore.WinUIHelper</Title>
12
<Version>1.1.1</Version>
12
<Version>1.1.2</Version>
13
13
<Authors>XFEstudio</Authors>
14
14
<PackageIcon>logoIcon.png</PackageIcon>
15
15
<Description>WinUI的各种工具类,帮助开发者快速构建一个模块化的WinUI项目</Description>
@@ -17,7 +17,7 @@
17
17
<NeutralLanguage>zh-CN</NeutralLanguage>
18
18
<PackageReadmeFile>README.md</PackageReadmeFile>
19
19
<PackageReleaseNotes>
20
采用反射获取接口的实现类
20
实现无需注册服务也可直接使用GetService
21
21
</PackageReleaseNotes>
22
22
<PackageLicenseFile>LICENSE.txt</PackageLicenseFile>
23
23
<PackageProjectUrl>https://github.com/XFEstudio/XFEExtension.NetCore.WinUIHelper</PackageProjectUrl>