Shuttle.Core.DependencyInjection
1.0.1
Prefix Reserved
dotnet add package Shuttle.Core.DependencyInjection --version 1.0.1
NuGet\Install-Package Shuttle.Core.DependencyInjection -Version 1.0.1
<PackageReference Include="Shuttle.Core.DependencyInjection" Version="1.0.1" />
paket add Shuttle.Core.DependencyInjection --version 1.0.1
#r "nuget: Shuttle.Core.DependencyInjection, 1.0.1"
// Install Shuttle.Core.DependencyInjection as a Cake Addin #addin nuget:?package=Shuttle.Core.DependencyInjection&version=1.0.1 // Install Shuttle.Core.DependencyInjection as a Cake Tool #tool nuget:?package=Shuttle.Core.DependencyInjection&version=1.0.1
Shuttle.Core.DependencyInjection
PM> Install-Package Shuttle.Core.DependencyInjection
Add components to IServiceCollection
by convention:
IServiceCollection services = new ServiceCollection();
services
.FromAssembly(assembly)
.Add();
The above would be the simplest case and adds all types using either a matching interface (with the same name as the class prefixed with I
) or the first interface found. The default service lifetime is Singleton
.
In order to filter the types add a Filter
function:
IServiceCollection services = new ServiceCollection();
services
.FromAssembly(assembly)
.Filter(type => type.Name.Equals("FilteredType", StringComparison.InvariantCultureIgnoreCase))
.Add();
If a particular interface should be used for a selected type it may be specified as follows:
IServiceCollection services = new ServiceCollection();
services
.FromAssembly(assembly)
.GetServiceType(type => typeof(ISomeInterface))
.Add();
The service lifetime may also be specified:
IServiceCollection services = new ServiceCollection();
services
.FromAssembly(assembly)
.GetServiceLifetime(type => ServiceLifetime.Transient)
.Add();
Since this is a builder interface all the bits may be used in combination:
IServiceCollection services = new ServiceCollection();
services
.FromAssembly(assembly)
.Filter(type => type.Name.Equals("FilteredType", StringComparison.InvariantCultureIgnoreCase))
.GetServiceType(type => typeof(ISomeInterface))
.GetServiceLifetime(type => ServiceLifetime.Transient)
.Add();
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
- Microsoft.Extensions.DependencyInjection (>= 7.0.0)
- Shuttle.Core.Contract (>= 11.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Shuttle.Core.DependencyInjection:
Package | Downloads |
---|---|
Shuttle.Esb.Scheduling
Scheduling solution built on Shuttle.Esb. |
GitHub repositories
This package is not used by any popular GitHub repositories.