mirror of
https://github.com/adusak/Dependify.git
synced 2026-01-14 13:13:34 +01:00
1.4 KiB
1.4 KiB
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();
}