Use file scoped namespace declarations

This commit is contained in:
Patrik Svensson
2021-12-21 11:06:46 +01:00
committed by Phil Scott
parent 1dbaf50935
commit ec1188b837
607 changed files with 28739 additions and 29245 deletions

View File

@ -2,40 +2,39 @@ using System;
using Microsoft.Extensions.DependencyInjection;
using Spectre.Console.Cli;
namespace Spectre.Console.Examples
namespace Spectre.Console.Examples;
public sealed class TypeRegistrar : ITypeRegistrar
{
public sealed class TypeRegistrar : ITypeRegistrar
private readonly IServiceCollection _builder;
public TypeRegistrar(IServiceCollection builder)
{
private readonly IServiceCollection _builder;
_builder = builder;
}
public TypeRegistrar(IServiceCollection builder)
public ITypeResolver Build()
{
return new TypeResolver(_builder.BuildServiceProvider());
}
public void Register(Type service, Type implementation)
{
_builder.AddSingleton(service, implementation);
}
public void RegisterInstance(Type service, object implementation)
{
_builder.AddSingleton(service, implementation);
}
public void RegisterLazy(Type service, Func<object> func)
{
if (func is null)
{
_builder = builder;
throw new ArgumentNullException(nameof(func));
}
public ITypeResolver Build()
{
return new TypeResolver(_builder.BuildServiceProvider());
}
public void Register(Type service, Type implementation)
{
_builder.AddSingleton(service, implementation);
}
public void RegisterInstance(Type service, object implementation)
{
_builder.AddSingleton(service, implementation);
}
public void RegisterLazy(Type service, Func<object> func)
{
if (func is null)
{
throw new ArgumentNullException(nameof(func));
}
_builder.AddSingleton(service, (provider) => func());
}
_builder.AddSingleton(service, (provider) => func());
}
}

View File

@ -2,33 +2,32 @@ using System;
using Microsoft.Extensions.DependencyInjection;
using Spectre.Console.Cli;
namespace Spectre.Console.Examples
namespace Spectre.Console.Examples;
public sealed class TypeResolver : ITypeResolver, IDisposable
{
public sealed class TypeResolver : ITypeResolver, IDisposable
private readonly IServiceProvider _provider;
public TypeResolver(IServiceProvider provider)
{
private readonly IServiceProvider _provider;
_provider = provider ?? throw new ArgumentNullException(nameof(provider));
}
public TypeResolver(IServiceProvider provider)
public object Resolve(Type type)
{
if (type == null)
{
_provider = provider ?? throw new ArgumentNullException(nameof(provider));
return null;
}
public object Resolve(Type type)
{
if (type == null)
{
return null;
}
return _provider.GetService(type);
}
return _provider.GetService(type);
}
public void Dispose()
public void Dispose()
{
if (_provider is IDisposable disposable)
{
if (_provider is IDisposable disposable)
{
disposable.Dispose();
}
disposable.Dispose();
}
}
}