Skip to content
/ Utapau Public

Dependency injection extensions for .Net Core applications

License

Notifications You must be signed in to change notification settings

IngvarX/Utapau

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Utapau

Utapau is a lightweight library with extension methods for built-in .Net Core dependency injection container.

Stars Open issues License Build Status Nuget Nuget

Features

Named dependencies

services
    .AddSingleton<IService, FirstService>(nameof(FirstService))  // register named dependency
    .AddSingleton<IService, SecondService>(nameof(SecondService))  // register named dependency
    .AddSingleton<IService, ThirdService>(sp => new ThirdService(  // register named dependency using factory
        sp.GetRequiredService<IService>(nameof(FirstService)),  // resolve named dependency
        sp.GetRequiredService<IService>(nameof(SecondService))  // resolve named dependency
    ), nameof(ThirdService));

Func and Lazy support

services
    .AddSingleton<Service>()
    .AddFactory<Service>()  // registers Func<Service>
    .AddLazy<Service>();  // registers Lazy<Service>

Providers support

public interface IProvider<TService>
{
    TService Instance { get; }
}
 
services
    .AddSingleton<Service>()
    .AddProvider<Service>();  // registers IProvider<Service>

Dependencies registration tests

services.ResolveAllServices();  // resolves all services registered in service collection instance

About

Dependency injection extensions for .Net Core applications

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages