using Microsoft.Extensions.DependencyInjection;
public static void Main()
var services = new ServiceCollection();
services.AddTransient<Batch>();
services.AddSingleton(TimeProvider.System);
var provider = services.BuildServiceProvider();
provider.GetService<Batch>().Run();
readonly TimeProvider _timeProvider;
public Batch(TimeProvider timeProvider)
_timeProvider = timeProvider;
Console.WriteLine(_timeProvider.GetUtcNow());