using Microsoft.Extensions.DependencyInjection;
public bool Healthy { get; set; }
public class Health : IHealth
public bool Healthy { get; set; }
private readonly IHealth _health;
public MyClass(IHealth health)
Console.WriteLine("Set Healthy true");
private readonly IHealth _health;
public CheckHealth(IHealth health)
CancellationToken cancellationToken = default)
Console.WriteLine("Healthy");
Console.WriteLine("Unhealthy");
static void Main(string[] args)
var serviceCollection = new ServiceCollection();
serviceCollection.AddSingleton<IHealth, Health>();
serviceCollection.AddSingleton<MyClass>();
serviceCollection.AddSingleton<CheckHealth>();
var serviceProvider = serviceCollection.BuildServiceProvider();
var myClass = serviceProvider.GetRequiredService<MyClass>();
var checkHealth = serviceProvider.GetRequiredService<CheckHealth>();
checkHealth.PrintHealth();