Files
Dependify/README.md
2017-09-09 23:14:12 +02:00

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.0
  • Microsoft.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();
}