Files
Hyperbar/Hyperbar/Templates/ViewModelTemplateFactory.cs
T
2024-02-08 22:16:58 +00:00

23 lines
595 B
C#

using Microsoft.Extensions.DependencyInjection;
namespace Hyperbar;
public class ViewModelTemplateFactory(IViewModelTemplateDescriptorProvider descriptors,
IServiceProvider services) :
IViewModelTemplateFactory
{
public object? Create(object key)
{
if (descriptors.Get(key)
is IViewModelTemplateDescriptor descriptor)
{
if (services.GetRequiredKeyedService(descriptor.TemplateType,
descriptor.Key) is { } template)
{
return template;
}
}
return default;
}
}