24 lines
497 B
C#
24 lines
497 B
C#
using Microsoft.Extensions.DependencyInjection;
|
|
using Spectre.Console.Cli;
|
|
|
|
namespace Automancer.Common;
|
|
|
|
public sealed class TypeResolver : ITypeResolver, IDisposable
|
|
{
|
|
private readonly ServiceProvider _provider;
|
|
|
|
public TypeResolver(ServiceProvider provider)
|
|
{
|
|
_provider = provider;
|
|
}
|
|
|
|
public object? Resolve(Type? type)
|
|
{
|
|
return type is null ? null : _provider.GetService(type);
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
_provider.Dispose();
|
|
}
|
|
} |