CoreDX.Extensions.DependencyInjection
8.0.0
See the version list below for details.
dotnet add package CoreDX.Extensions.DependencyInjection --version 8.0.0
NuGet\Install-Package CoreDX.Extensions.DependencyInjection -Version 8.0.0
<PackageReference Include="CoreDX.Extensions.DependencyInjection" Version="8.0.0" />
paket add CoreDX.Extensions.DependencyInjection --version 8.0.0
#r "nuget: CoreDX.Extensions.DependencyInjection, 8.0.0"
// Install CoreDX.Extensions.DependencyInjection as a Cake Addin #addin nuget:?package=CoreDX.Extensions.DependencyInjection&version=8.0.0 // Install CoreDX.Extensions.DependencyInjection as a Cake Tool #tool nuget:?package=CoreDX.Extensions.DependencyInjection&version=8.0.0
About
Add service provider that supported service type is provided as argument in parameter of factory.
How to Use
ServiceCollection services = new ();
// Get service type from implementation factory.
services.AddScoped(typeof(IB<>, (provider, requestServiceType) =>
{
var closedType = typeof(B<>).MakeGenericType(type.GenericTypeArguments);
return sp.GetService(closedType);
});
// Forward an open generic service to another open generic service.
services.AddScopedForward(typeof(IA<>), typeof(IB<>));
using ServiceProvider provider = services.BuildServiceProvider();
var a = provider.GetService<IA<int>>();
var b = provider.GetService<IB<int>>();
public interface IA<T>;
public interface IB<T> : IA<T>;
public class B<T> : IB<T>;
Main Types
The main types provided by this library are:
CoreDX.Extensions.DependencyInjection.TypedImplementationFactoryServiceProvider
CoreDX.Extensions.DependencyInjection.TypedImplementationFactoryServiceProviderFactory
CoreDX.Extensions.DependencyInjection.ServiceCollectionForwardServiceExtensions
Related Packages
CoreDX.Extensions.DependencyInjection.Abstractions
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. 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 is compatible. 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. |
-
net6.0
-
net8.0
NuGet packages (4)
Showing the top 4 NuGet packages that depend on CoreDX.Extensions.DependencyInjection:
Package | Downloads |
---|---|
CoreDX.Extensions.DependencyInjection.Hosting.Proxies.Abstractions
Add generic host extensions for CoreDX.Extensions.DependencyInjection.Hosting.Proxies.ProxyTypedImplementationFactoryServiceProviderFactory. |
|
CoreDX.Extensions.DependencyInjection.Hosting.Abstractions
Add generic host extensions for CoreDX.Extensions.DependencyInjection. |
|
CoreDX.Extensions.DependencyInjection.Hosting
Add generic host extensions for CoreDX.Extensions.DependencyInjection. |
|
CoreDX.Extensions.DependencyInjection.Hosting.Proxies
Add generic host extensions for CoreDX.Extensions.DependencyInjection.Hosting.Proxies.ProxyTypedImplementationFactoryServiceProviderFactory. |
GitHub repositories
This package is not used by any popular GitHub repositories.