An open API service indexing awesome lists of open source software.

https://github.com/mustaddon/overridabledependencyinjection

Overridable injections for Microsoft.Extensions.DependencyInjection
https://github.com/mustaddon/overridabledependencyinjection

Last synced: 3 months ago
JSON representation

Overridable injections for Microsoft.Extensions.DependencyInjection

Awesome Lists containing this project

README

          

# OverridableDependencyInjection [![NuGet version](https://badge.fury.io/nu/OverridableDependencyInjection.svg?102)](http://badge.fury.io/nu/OverridableDependencyInjection)
Overridable injections for Microsoft.Extensions.DependencyInjection.

### Example

```C#
var provider = new ServiceCollection()
.AddTransient()

// REQUIRED: Adds override capability for IExampleService1
.AddOverridability(typeof(IExampleService1))

.BuildServiceProvider();

// SCOPE
using (var scope = provider.CreateScope())
{
// Override the service implementation for this scope
scope.Override();

// Testing the override
var serviceInstance = scope.ServiceProvider.GetRequiredService();

Console.WriteLine($"IExampleService1 overridden: {serviceInstance is ExampleService1B}");
}
```

[Program.cs](https://github.com/mustaddon/OverridableDependencyInjection/blob/main/ExampleApp/Program.cs)