cli/Common/TypeResolver.cs

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();
}
}