Shuttle.Extensions.Options 1.0.0

Prefix Reserved
dotnet add package Shuttle.Extensions.Options --version 1.0.0
                    
NuGet\Install-Package Shuttle.Extensions.Options -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Shuttle.Extensions.Options" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Shuttle.Extensions.Options" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Shuttle.Extensions.Options" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Shuttle.Extensions.Options --version 1.0.0
                    
#r "nuget: Shuttle.Extensions.Options, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Shuttle.Extensions.Options@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Shuttle.Extensions.Options&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Shuttle.Extensions.Options&version=1.0.0
                    
Install as a Cake Tool

Shuttle.Extensions.Options

::: code-group

dotnet add package Shuttle.Extensions.Options
PM> Install-Package Shuttle.Extensions.Options
<PackageReference Include="Shuttle.Extensions.Options" Version="<version>" />
paket add Shuttle.Extensions.Options
#r "nuget: Shuttle.Extensions.Options, <version>"
#:package Shuttle.Extensions.Options@<version>

:::

This package provides extensions for configuring and validating AsyncEvent options in .NET applications.

Usage

public class OperationEventArgs(string name)
{
    public string Name { get; } = name;
}

public class ApplicationOptions
{
    public AsyncEvent<OperationEventArgs> Operation { get; set; } = new();

    // other options...
}

public class Program
{
    public static async Task Main(string[] args)
    {
        var serviceProvider = new ServiceCollection()
            .Configure<ApplicationOptions>(options =>
                {
                    options.Operation += async args => 
                    {
                        Console.WriteLine(args.Name);

                        await Task.CompletedTask;
                    };
                })
            .AddSingleton<IApplicationService, ApplicationService>()
            .BuildServiceProvider();

        _applicationService = serviceProvider.GetRequiredService<IApplicationService>();

        await _applicationService.WorkAsync();
    }
}
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Shuttle.Extensions.Options:

Package Downloads
Shuttle.Access.AspNetCore

Authorization middleware for web API endpoints using Shuttle.Access.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 202 8/31/2025