mirror of
https://github.com/fergalmoran/snapp-cli.git
synced 2025-12-22 10:00:52 +00:00
20 lines
487 B
C#
20 lines
487 B
C#
using Spectre.Console.Cli;
|
|
|
|
namespace Snapp.Cli.Helpers;
|
|
|
|
public sealed class TypeResolver(IServiceProvider provider) : ITypeResolver, IDisposable {
|
|
private readonly IServiceProvider _provider =
|
|
provider ??
|
|
throw new ArgumentNullException(nameof(provider));
|
|
|
|
public object? Resolve(Type? type) {
|
|
return type == null ? null : _provider.GetService(type);
|
|
}
|
|
|
|
public void Dispose() {
|
|
if (_provider is IDisposable disposable) {
|
|
disposable.Dispose();
|
|
}
|
|
}
|
|
}
|