LegendaryDependencyInjection 1.0.0.3
dotnet add package LegendaryDependencyInjection --version 1.0.0.3
NuGet\Install-Package LegendaryDependencyInjection -Version 1.0.0.3
<PackageReference Include="LegendaryDependencyInjection" Version="1.0.0.3" />
<PackageVersion Include="LegendaryDependencyInjection" Version="1.0.0.3" />
<PackageReference Include="LegendaryDependencyInjection" />
paket add LegendaryDependencyInjection --version 1.0.0.3
#r "nuget: LegendaryDependencyInjection, 1.0.0.3"
#:package LegendaryDependencyInjection@1.0.0.3
#addin nuget:?package=LegendaryDependencyInjection&version=1.0.0.3
#tool nuget:?package=LegendaryDependencyInjection&version=1.0.0.3
最好用的延迟依赖注入 示例代码:
var services = new ServiceCollection(); services.AddLazyScoped<LazyServices>(); services.AddScoped<ILazyClass,DefaultLazyClass>(); services.AddKeyedScoped<ILazyClass, FirstLazyClass>("first"); services.AddKeyedScoped<ILazyClass, DefaultLazyClass>("default"); services.AddLegendaryDependencyInjector();
var sp = services.BuildServiceProvider(); var scope = sp.CreateScope();
var lazys = scope.ServiceProvider.GetRequiredService<LazyServices>();
Console.WriteLine(lazys.LazyClass.Name); Console.WriteLine(lazys.FirstLazyClass.Name); Console.WriteLine(lazys.DefaultLazyClass.Name);
public class LazyServices { public virtual ILazyClass LazyClass { get; set; } = default!; [Keyed("first")] public virtual ILazyClass FirstLazyClass { get; set; } = default!; [Keyed("default")] public virtual ILazyClass DefaultLazyClass { get; set; } = default!; }
私有属性也能注入
| 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 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 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
-
net7.0
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
-
net8.0
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on LegendaryDependencyInjection:
| Package | Downloads |
|---|---|
|
LegendaryDependencyInjection.Extensions.AspNet
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.