mirror of
https://github.com/adusak/Dependify.git
synced 2026-01-14 05:03:32 +01:00
a51ea735d64b7dbb0587e445c3fc02b684bc4bf2
Dependify
Library that allows the developer to register his services by adding attributes to class or factory methods. Library works only with Microsoft's Microsoft.Extensions.DependencyInjection package.
Why the name? Because I wanted to contribute to the following list.
Requirements
.netstandard 2.0Microsoft.Extensions.DependencyInjection
Usage
Let's have following interface and class
public interface ICar {
}
public class Audi : ICar {
}
Class Attributes
Single interface
If you want to add Audi as an implementation of ICar into IServiceCollection you just need to add RegisterTransient, RegisterScoped or RegisterSingleton attribute like
[RegisterTransient]
public class Audi : ICar {
}
and call
public void ConfigureServices(IServiceCollection services) {
services.AutoRegister();
}
Multiple interfaces
If your class implements multiple interfaces, you can specify which one should be registered
[RegisterTransient(typeof(IFuelConsumer)]
public class Audi : ICar, IFuelConsumer {
}
Factory method attributes
If you want to add Audi as an implementation of ICar using factory method, you can do following
[RegisterTransientFactory(typeof(ICar))]
public Audi CreateAudi(IServiceProvider provider) {
return new Audi();
}
Languages
C#
100%