feat: Dynamic command loader, default command with module registry
This commit is contained in:
24
Common/TypeResolver.cs
Normal file
24
Common/TypeResolver.cs
Normal file
@ -0,0 +1,24 @@
|
||||
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();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user