Provides modules for registration of types from popular libraries using Jab
🏃 Quickstart | 📗 Guide | 🔄 Migration
- Provides Jab modules for registering popular .NET libraries
- Modules provides registration methods similar to the ones from original library
- Raiqub.JabModules.MicrosoftExtensionsOptions: provides a Jab module for registering types from Microsoft.Extensions.Options library.
Before you begin, you'll need the following:
- .NET Core 6.0 or greater installed on your machine
- An IDE such as Visual Studio, Visual Studio Code, or JetBrains Rider
On a project defining a service provider using Jab, add a NuGet package from Raiqub.JabModules
:
<ItemGroup>
<PackageReference Include="Jab" Version="0.10.1" />
<PackageReference Include="Raiqub.JabModules.MicrosoftExtensionsOptions" Version="1.0.0" />
</ItemGroup>
Then add the provided module to the container:
[ServiceProvider]
[Import(typeof(IOptionsModule))]
internal partial class MyServiceProvider
The NuGet package Raiqub.JabModules.MicrosoftExtensionsOptions
provides a Jab module for registering types from Microsoft.Extensions.Options library.
[ServiceProvider]
[Import(typeof(IOptionsModule))]
[Transient<IConfigureOptions<FooOptions>>(Factory = nameof(ConfigureMyConfig))]
internal partial class MyServiceProvider
{
private static IConfigureOptions<MyConfigOptions> ConfigureMyConfig() =>
IOptionsModule.Configure<MyConfigOptions>(options => options.Key1 = "Jane");
}
public class MyConfigOptions
{
public string Key1 { get; set; }
public int Key2 { get; set; }
public int Key3 { get; set; }
}
If something is not working for you or if you think that the source file should change, feel free to create an issue or Pull Request. I will be happy to discuss and potentially integrate your ideas!
This library is licensed under the MIT License.