Bnaya.Extensions.DependencyInjection.Abstraction
1.1.53
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Bnaya.Extensions.DependencyInjection.Abstraction --version 1.1.53
NuGet\Install-Package Bnaya.Extensions.DependencyInjection.Abstraction -Version 1.1.53
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Bnaya.Extensions.DependencyInjection.Abstraction" Version="1.1.53" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Bnaya.Extensions.DependencyInjection.Abstraction --version 1.1.53
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Bnaya.Extensions.DependencyInjection.Abstraction, 1.1.53"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Bnaya.Extensions.DependencyInjection.Abstraction as a Cake Addin #addin nuget:?package=Bnaya.Extensions.DependencyInjection.Abstraction&version=1.1.53 // Install Bnaya.Extensions.DependencyInjection.Abstraction as a Cake Tool #tool nuget:?package=Bnaya.Extensions.DependencyInjection.Abstraction&version=1.1.53
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Dependency Injection Extensions
Keyed Dependency Injection using .NET
You can register your components as:
builder.Services.AddKeyedSingleton<IFunctionality, AFunctionality>("A");
builder.Services.AddKeyedSingleton<IFunctionality, BFunctionality>("B");
And use it as follow:
[ApiController]
[Route("[controller]")]
public class TestController : ControllerBase
{
private readonly IKeyed<IFunctionality> _selector;
public TestController(IKeyed<IFunctionality> selector)
{
_selector = selector;
}
[HttpGet("a")]
public string GetA()
{
return _selector["A"].Id; // throw if "A" not registered
}
[HttpGet("b")]
public string GetB()
{
if(_selector.TryGet("B", out IFunctionality val))
return val.Id;
return "Not registered";
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net7.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Bnaya.Extensions.DependencyInjection.Abstraction:
Package | Downloads |
---|---|
Bnaya.Extensions.DependencyInjection
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.