C# by Rick

Dependency Injection with custom DependencyProvider

The provided source code defines a simple DependencyProvider class responsible for managing dependencies using .NET Core's built-in dependency injection system. The class includes a method to retrieve required services based on their interfaces.

public static class DependencyProvider
{
   private static IServiceProvider Provider()
   {
      var services = new ServicesCollection();
      services.AddSingleton<IClient, Client>();
      return services.BuildServiceProvider();
   }

   public static T GetRequiredService<T>() where T : notnull
   {
      var provider = Provider();
      return provider.GetRequiredService<T>();
   }
}

To use this DependencyProvider, you can retrieve instances of required services as shown below:

readonly IClient _client = DependencyProvider.GetRequiredService<IClient>();

Comments