diff options
Diffstat (limited to 'src/WixToolset.Core/WixToolsetServiceProvider.cs')
-rw-r--r-- | src/WixToolset.Core/WixToolsetServiceProvider.cs | 23 |
1 files changed, 3 insertions, 20 deletions
diff --git a/src/WixToolset.Core/WixToolsetServiceProvider.cs b/src/WixToolset.Core/WixToolsetServiceProvider.cs index 87a6f76b..5d700ba0 100644 --- a/src/WixToolset.Core/WixToolsetServiceProvider.cs +++ b/src/WixToolset.Core/WixToolsetServiceProvider.cs | |||
@@ -73,14 +73,14 @@ namespace WixToolset.Core | |||
73 | 73 | ||
74 | private Dictionary<Type, object> Singletons { get; } | 74 | private Dictionary<Type, object> Singletons { get; } |
75 | 75 | ||
76 | public bool TryGetService(Type serviceType, out object service) | 76 | public object GetService(Type serviceType) |
77 | { | 77 | { |
78 | if (serviceType == null) | 78 | if (serviceType == null) |
79 | { | 79 | { |
80 | throw new ArgumentNullException(nameof(serviceType)); | 80 | throw new ArgumentNullException(nameof(serviceType)); |
81 | } | 81 | } |
82 | 82 | ||
83 | if (!this.Singletons.TryGetValue(serviceType, out service)) | 83 | if (!this.Singletons.TryGetValue(serviceType, out var service)) |
84 | { | 84 | { |
85 | if (this.CreationFunctions.TryGetValue(serviceType, out var creationFunction)) | 85 | if (this.CreationFunctions.TryGetValue(serviceType, out var creationFunction)) |
86 | { | 86 | { |
@@ -95,24 +95,7 @@ namespace WixToolset.Core | |||
95 | } | 95 | } |
96 | } | 96 | } |
97 | 97 | ||
98 | return service != null; | 98 | return service; |
99 | } | ||
100 | |||
101 | public bool TryGetService<T>(out T service) where T : class | ||
102 | { | ||
103 | var success = this.TryGetService(typeof(T), out var untypedService); | ||
104 | service = (T)untypedService; | ||
105 | return success; | ||
106 | } | ||
107 | |||
108 | public object GetService(Type serviceType) | ||
109 | { | ||
110 | return this.TryGetService(serviceType, out var service) ? service : throw new ArgumentException($"Unknown service type: {serviceType.Name}", nameof(serviceType)); | ||
111 | } | ||
112 | |||
113 | public T GetService<T>() where T : class | ||
114 | { | ||
115 | return (T)this.GetService(typeof(T)); | ||
116 | } | 99 | } |
117 | 100 | ||
118 | public void AddService(Type serviceType, Func<IWixToolsetCoreServiceProvider, Dictionary<Type, object>, object> creationFunction) | 101 | public void AddService(Type serviceType, Func<IWixToolsetCoreServiceProvider, Dictionary<Type, object>, object> creationFunction) |