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,29 +2,28 @@ using System;
using System.ComponentModel;
using Spectre.Console.Cli;
namespace Spectre.Console.Examples
namespace Spectre.Console.Examples;
public sealed class DefaultCommand : Command<DefaultCommand.Settings>
{
public sealed class DefaultCommand : Command<DefaultCommand.Settings>
private readonly IGreeter _greeter;
public sealed class Settings : CommandSettings
{
private readonly IGreeter _greeter;
[CommandOption("-n|--name <NAME>")]
[Description("The person or thing to greet.")]
[DefaultValue("World")]
public string Name { get; set; }
}
public sealed class Settings : CommandSettings
{
[CommandOption("-n|--name <NAME>")]
[Description("The person or thing to greet.")]
[DefaultValue("World")]
public string Name { get; set; }
}
public DefaultCommand(IGreeter greeter)
{
_greeter = greeter ?? throw new ArgumentNullException(nameof(greeter));
}
public DefaultCommand(IGreeter greeter)
{
_greeter = greeter ?? throw new ArgumentNullException(nameof(greeter));
}
public override int Execute(CommandContext context, Settings settings)
{
_greeter.Greet(settings.Name);
return 0;
}
public override int Execute(CommandContext context, Settings settings)
{
_greeter.Greet(settings.Name);
return 0;
}
}

View File

@ -1,15 +1,14 @@
namespace Spectre.Console.Examples
{
public interface IGreeter
{
void Greet(string name);
}
namespace Spectre.Console.Examples;
public sealed class HelloWorldGreeter : IGreeter
public interface IGreeter
{
void Greet(string name);
}
public sealed class HelloWorldGreeter : IGreeter
{
public void Greet(string name)
{
public void Greet(string name)
{
AnsiConsole.WriteLine($"Hello {name}!");
}
AnsiConsole.WriteLine($"Hello {name}!");
}
}

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

View File

@ -1,22 +1,21 @@
using Microsoft.Extensions.DependencyInjection;
using Spectre.Console.Cli;
namespace Spectre.Console.Examples
{
public class Program
{
public static int Main(string[] args)
{
// Create a type registrar and register any dependencies.
// A type registrar is an adapter for a DI framework.
var registrations = new ServiceCollection();
registrations.AddSingleton<IGreeter, HelloWorldGreeter>();
var registrar = new TypeRegistrar(registrations);
namespace Spectre.Console.Examples;
// Create a new command app with the registrar
// and run it with the provided arguments.
var app = new CommandApp<DefaultCommand>(registrar);
return app.Run(args);
}
public class Program
{
public static int Main(string[] args)
{
// Create a type registrar and register any dependencies.
// A type registrar is an adapter for a DI framework.
var registrations = new ServiceCollection();
registrations.AddSingleton<IGreeter, HelloWorldGreeter>();
var registrar = new TypeRegistrar(registrations);
// Create a new command app with the registrar
// and run it with the provided arguments.
var app = new CommandApp<DefaultCommand>(registrar);
return app.Run(args);
}
}