DiAttributes 1.1.1

Install-Package DiAttributes -Version 1.1.1
dotnet add package DiAttributes --version 1.1.1
<PackageReference Include="DiAttributes" Version="1.1.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DiAttributes --version 1.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: DiAttributes, 1.1.1"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install DiAttributes as a Cake Addin
#addin nuget:?package=DiAttributes&version=1.1.1

// Install DiAttributes as a Cake Tool
#tool nuget:?package=DiAttributes&version=1.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

DiAttributes

Super-small and super-simple library for registering classes with the ASP.NET Core IServiceCollection using attributes.

GitHub: https://github.com/tobysmith568/di-attributes NuGet: https://www.nuget.org/packages/DiAttributes/

Scoped, Transient, and Singleton

Classes can be registered as any of these three types of dependency via the respective attributes:

[Scoped]
public class MyService
{
  
}

This is the equivalent of having the following in your Startup.cs:

services.Scoped<MyService>();

You can also pass in a type as an argument to register the class against:

public interface IMyService
{
  
}

[Scoped(typeof(IMyService))]
public class MyService : IMyService
{
  
}

This is the equivalent of having the following in your Startup.cs:

services.Scoped<IMyService, MyService>();

The use of these attributes will require you to add the following line to your Startup.cs file:

services.RegisterDiAttributes();

Configuration

Classes can be automatically bound to sections of your app's configuration using the Configuration attribute.

If your appsettings.json looks like this:

{
  "Outer": {
    "Inner": {
      "MySetting": "My Value"
    }
  }
}

Then you can bind a class to the Inner object and register it with the IServiceCollection like this:

[Configuration("Outer:Inner")]
public class MyInnerOptions
{
  public string MySetting { get; set; }
}

To use this attribute you will need to pass an ICollection to the RegisterDiAttributes call in your Startup.cs file:

services.RegisterDiAttributes(Configuration);

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.1 121 10/24/2021
1.1.0 102 10/24/2021
1.0.3 191 9/26/2021
1.0.2 182 9/26/2021
1.0.0 100 9/26/2021