SquidStd.Abstractions
0.7.0
dotnet add package SquidStd.Abstractions --version 0.7.0
NuGet\Install-Package SquidStd.Abstractions -Version 0.7.0
<PackageReference Include="SquidStd.Abstractions" Version="0.7.0" />
<PackageVersion Include="SquidStd.Abstractions" Version="0.7.0" />
<PackageReference Include="SquidStd.Abstractions" />
paket add SquidStd.Abstractions --version 0.7.0
#r "nuget: SquidStd.Abstractions, 0.7.0"
#:package SquidStd.Abstractions@0.7.0
#addin nuget:?package=SquidStd.Abstractions&version=0.7.0
#tool nuget:?package=SquidStd.Abstractions&version=0.7.0
<p align="center"> <img src="https://raw.githubusercontent.com/tgiachi/squid-std/main/assets/icon.png" alt="SquidStd" width="120" height="120" /> </p>
<h1 align="center">SquidStd.Abstractions</h1>
<p align="center"> <a href="https://www.nuget.org/packages/SquidStd.Abstractions/"><img src="https://img.shields.io/nuget/v/SquidStd.Abstractions.svg" alt="NuGet" /></a> <img src="https://img.shields.io/nuget/dt/SquidStd.Abstractions.svg" alt="Downloads" /> <a href="https://tgiachi.github.io/squid-std/articles/abstractions.html"><img src="https://img.shields.io/badge/docs-DocFX-1390A3.svg" alt="docs" /></a> <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="license" /> </p>
DryIoc-based dependency-injection plumbing for SquidStd. It defines the ISquidStdService lifecycle
contract and the container extensions used to register services and configuration sections in a uniform,
discoverable way (tracked through ordered registration lists).
Install
dotnet add package SquidStd.Abstractions
Features
ISquidStdService— aStartAsync/StopAsynclifecycle contract for managed services.RegisterEventListenerAttribute— markIEventListener<TEvent>classes for generated registration.RegisterStdServiceAttribute— mark service implementations for generated lifecycle registration.RegisterConfigSectionAttribute— mark config models for generated config-section registration.RegisterStdService<TService, TImplementation>()— register a singleton service and record it in the ordered service list (with optional priority).RegisterConfigSection<TConfig>(sectionName)— register a YAML config section for the config manager.AddToRegisterTypedList(...)— maintain ordered registration lists in the container.
Usage
using DryIoc;
using SquidStd.Abstractions.Attributes;
using SquidStd.Abstractions.Extensions.Config;
using SquidStd.Abstractions.Extensions.Services;
var container = new Container();
container.RegisterStdService<IMyService, MyService>();
container.RegisterConfigSection<MyConfig>("my");
Key types
| Type | Purpose |
|---|---|
ISquidStdService |
Async start/stop lifecycle for managed services. |
RegisterEventListenerAttribute |
Marks event listeners for generated registration. |
RegisterStdServiceAttribute |
Marks services for generated registration. |
RegisterConfigSectionAttribute |
Marks config sections for generated registration. |
RegisterStdServiceExtension |
RegisterStdService<,> container extension. |
RegisterConfigSectionExtension |
RegisterConfigSection<> container extension. |
ServiceRegistrationData |
Ordered service registration record. |
ConfigRegistrationData |
Config section registration record. |
License
MIT — part of SquidStd.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- SquidStd.Core (>= 0.7.0)
NuGet packages (10)
Showing the top 5 NuGet packages that depend on SquidStd.Abstractions:
| Package | Downloads |
|---|---|
|
SquidStd.Services.Core
Package Description |
|
|
SquidStd.Messaging.Abstractions
Package Description |
|
|
SquidStd.Caching.Abstractions
Package Description |
|
|
SquidStd.Database.Abstractions
Package Description |
|
|
SquidStd.Scripting.Lua
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.