Meteors.DependencyInjection.AutoService 8.0.0

dotnet add package Meteors.DependencyInjection.AutoService --version 8.0.0
NuGet\Install-Package Meteors.DependencyInjection.AutoService -Version 8.0.0
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="Meteors.DependencyInjection.AutoService" Version="8.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Meteors.DependencyInjection.AutoService --version 8.0.0
#r "nuget: Meteors.DependencyInjection.AutoService, 8.0.0"
#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 Meteors.DependencyInjection.AutoService as a Cake Addin
#addin nuget:?package=Meteors.DependencyInjection.AutoService&version=8.0.0

// Install Meteors.DependencyInjection.AutoService as a Cake Tool
#tool nuget:?package=Meteors.DependencyInjection.AutoService&version=8.0.0

[Meteors] DependencyInjection.AutoService

<img alt="Nuget" src="https://img.shields.io/nuget/dt/Meteors.DependencyInjection.AutoService?color=green&logo=nuget&logoColor=blue&style=for-the-badge">

alternate text is missing from this package README image

Install-Package Meteors.DependencyInjection.AutoService -Version 8.0.0

<p align="center"> <img width="10%" src="https://user-images.githubusercontent.com/48151918/175791394-3913f060-5551-435c-adda-5bc487964f1c.png" /> </p>

Source Code


//build.Services.AddAutoService(Assembly..namesapces..type);

build.Services.AddAutoService();

...
[AutoService(ServiceLifeTime, InterfaceType)]
[AutoService(ServiceLifeTime, InterfaceType)]
   
[AutoService()]
[AutoService(LifetimeType)]
[AutoService(ImplementationType)]
[AutoService(UseImplementation)]
[AutoService(LifetimeType,ImplementationType)]
[AutoService(LifetimeType,UseImplementation)]
[AutoService(ImplementationType,UseImplementation)] 
[AutoService(LifetimeType,ImplementationType,UseImplementation,ServiceKey)]


[AutoService] //default Scoped
class AnyService : IAnyService { }


[AutoService(typeOf(ICustomInterfaceName))] //take Implementation
class AnyService : ICustomInterfaceName { }


[AutoService(typeOf(ICustomInterfaceName1))] //take Implementation 1
class AnyService : ICustomInterfaceName,ICustomInterfaceName1,ICustomInterfaceName2 { }



[AutoService] //take Implementation IAnyService, is not first but same I + service-name
class AnyService : ICustomInterfaceName,IAnyService,ICustomInterfaceName2 { }


[AutoService] //take class
class AnyService {}

[AutoService]//as UseImplementation=true or null and take first interface
class AnyService : ICustomInterfaceName { }

[AutoService(false)] //UseImplementation=false
class AnyService : ICustomInterfaceName { }

[AutoService("servicekeyed")] //take class, and get by servicekeyed
class AnyService {}


This lib belongs to the Meteors, Meteorites helps you write less and clean code with the power of design patterns and full support for the most popular programming for perpetual projects

All you need in your project is to use meteorites, Simplicity is one in all,

Product Compatible and additional computed target framework versions.
.NET 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Meteors.DependencyInjection.AutoService:

Package Downloads
Meteors.AspNetCore

Build over Asp Net Core

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
8.0.0 159 12/30/2023
6.2.2 1,141 9/3/2022
6.2.0 368 8/31/2022
6.0.0 408 7/16/2022