wan24-Core
1.0.1
See the version list below for details.
dotnet add package wan24-Core --version 1.0.1
NuGet\Install-Package wan24-Core -Version 1.0.1
<PackageReference Include="wan24-Core" Version="1.0.1" />
paket add wan24-Core --version 1.0.1
#r "nuget: wan24-Core, 1.0.1"
// Install wan24-Core as a Cake Addin #addin nuget:?package=wan24-Core&version=1.0.1 // Install wan24-Core as a Cake Tool #tool nuget:?package=wan24-Core&version=1.0.1
wan24-Core
This core library contains some .NET extensions:
- Disposable base class for disposable types, which supports asynchronous disposing
- Type helpr (type loading)
- Secure byte array, which clears its contents when disposing
- Pool rented array as disposable object
- Byte array extensions
- Endian conversion
- Array helper extensions
- Offset/length validation
- Reflection extensions
- Automatic parameter extension when invoking a method (with DI support)
- Synchronous/asynchronous method invokation
- Automatic constructor invokation using a given parameter set (with DI support)
- Nullability detection
- Delegate extensions
- Delegate list invokation (with or without return values, with DI support)
- Asynchronous delegate list invokation (with or without return values, with DI support)
- Task extensions
- Result getting of a generic task
- Asynchronous task list awaiting
- Shortcuts for await configurations
- DI helper
- Service provider adoption
- DI object factory delegates
- Asynchronous DI object factory delegates
- Enumeration extensions
- Get enumeration value display string from
DisplayTextAttribute
or usingToString
(fallback) - Remove flags of a mixed enumeration value
- Get only flags of a mixed enumeration value
- Get enumeration value display string from
- Number extensions
- Determine if a type is a number
- Determine if a number type is unsigned
Type helper
You'll have to register searchable assemblies using the
TypeHelper.AddAssemblies
method. If you use the TypeHelper.AddTypes
method, the unknown assemblies of the added types will be added as searchable
assemblies automatic.
You may attach to the TypeHelper.OnLoadType
event for handling requests
more dynamic.
The TypeHelper.GetType
method will try Type.GetType
first and fall back to
the helper, if no type was found.
DI helper
In order to make DI (dependency injection) working, you need to
- set a
DiHelper.ServiceProvider
and/or - add
DiHelper.(Async)ObjectFactories
The DiHelper.GetDiObjectAsync
method will try to resolve the request
synchronous, first. But the DiHelper.GetDiObject
won't try asynchronous
object factories.
Mixed enumeration value
A mixed enumeration contains X bits enumeration values, and Y bits flags:
public enum MixedEnum : int
{
None = 0,
Value1 = 1,
Value2 = 2,
Value3 = 3,
...
Flag1 = 1 << 8,
Flag2 = 1 << 9,
FLAGS = Flag1 | Flag2 // Required to identify flags
}
The FLAGS
value helps these extension methods to handle flag values:
MixedEnum value = MixedEnum.Value1 | MixedEnum.Flag1,
valueOnly = value.RemoveFlags(),// == MixedEnum.Value1
flagsOnly = value.OnlyFlags();// == MixedEnum.Flag1
Unsafe code
The library uses unsafe code. If you don't want/need that, you can compile the
library with the NO_UNSAFE
compiler constant to disable any unsafe
operation. Remember to unset the unsafe compiler option, too!
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
-
net6.0
- No dependencies.
NuGet packages (14)
Showing the top 5 NuGet packages that depend on wan24-Core:
Package | Downloads |
---|---|
Stream-Serializer-Extensions
Serializer extensions for .NET Stream objects. |
|
wan24-Compression
Compression helper |
|
wan24-Crypto
Crypto helper |
|
wan24-Crypto-BC
Bouncy Castle adoption to wan24-Crypto |
|
wan24-Compression-LZ4
LZ4 adoption for wan24-Compression |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.45.0 | 130 | 11/16/2024 |
2.44.0 | 126 | 11/10/2024 |
2.43.0 | 113 | 11/3/2024 |
2.42.0 | 751 | 10/27/2024 |
2.41.0 | 94 | 10/21/2024 |
2.40.0 | 103 | 10/20/2024 |
2.39.0 | 114 | 9/29/2024 |
2.38.0 | 774 | 9/21/2024 |
2.37.0 | 132 | 9/15/2024 |
2.36.0 | 343 | 9/8/2024 |
2.35.0 | 244 | 8/24/2024 |
2.34.0 | 836 | 8/16/2024 |
2.33.0 | 242 | 8/4/2024 |
2.32.0 | 469 | 7/13/2024 |
2.31.0 | 404 | 7/6/2024 |
2.30.0 | 193 | 6/29/2024 |
2.29.0 | 363 | 6/22/2024 |
2.28.0 | 341 | 6/15/2024 |
2.27.0 | 110 | 6/8/2024 |
2.26.0 | 131 | 6/1/2024 |
2.25.0 | 140 | 5/26/2024 |
2.24.0 | 146 | 5/20/2024 |
2.23.0 | 186 | 5/11/2024 |
2.22.0 | 349 | 5/9/2024 |
2.21.0 | 150 | 5/5/2024 |
2.20.0 | 172 | 4/28/2024 |
2.19.0 | 168 | 4/20/2024 |
2.18.1 | 173 | 4/14/2024 |
2.18.0 | 358 | 4/12/2024 |
2.17.0 | 134 | 4/7/2024 |
2.16.0 | 224 | 3/30/2024 |
2.15.1 | 132 | 3/30/2024 |
2.15.0 | 121 | 3/30/2024 |
2.14.0 | 152 | 3/24/2024 |
2.13.0 | 158 | 3/17/2024 |
2.12.0 | 204 | 3/15/2024 |
2.11.0 | 165 | 3/10/2024 |
2.10.1 | 138 | 3/10/2024 |
2.10.0 | 241 | 3/9/2024 |
2.9.2 | 380 | 3/2/2024 |
2.9.1 | 142 | 3/2/2024 |
2.9.0 | 175 | 3/2/2024 |
2.8.0 | 148 | 2/25/2024 |
2.7.1 | 137 | 2/25/2024 |
2.7.0 | 123 | 2/25/2024 |
2.6.0 | 284 | 2/24/2024 |
2.5.0 | 127 | 2/20/2024 |
2.4.0 | 134 | 2/18/2024 |
2.3.2 | 196 | 2/17/2024 |
2.3.1 | 133 | 2/17/2024 |
2.3.0 | 130 | 2/17/2024 |
2.2.0 | 408 | 1/20/2024 |
2.1.0 | 134 | 12/23/2023 |
2.0.0 | 211 | 12/17/2023 |
1.43.0 | 170 | 11/27/2023 |
1.42.0 | 304 | 11/11/2023 |
1.41.2 | 130 | 11/4/2023 |
1.41.1 | 130 | 11/4/2023 |
1.41.0 | 127 | 11/4/2023 |
1.40.0 | 273 | 10/29/2023 |
1.39.0 | 287 | 10/21/2023 |
1.38.2 | 156 | 10/15/2023 |
1.38.1 | 329 | 10/14/2023 |
1.38.0 | 145 | 10/14/2023 |
1.37.0 | 147 | 10/13/2023 |
1.36.0 | 333 | 10/7/2023 |
1.35.0 | 221 | 10/1/2023 |
1.34.0 | 210 | 9/27/2023 |
1.33.0 | 133 | 9/20/2023 |
1.32.1 | 318 | 9/19/2023 |
1.32.0 | 123 | 9/19/2023 |
1.31.1 | 179 | 9/16/2023 |
1.31.0 | 194 | 9/16/2023 |
1.30.1 | 280 | 9/10/2023 |
1.30.0 | 145 | 9/10/2023 |
1.29.0 | 329 | 9/3/2023 |
1.28.0 | 150 | 8/26/2023 |
1.27.0 | 152 | 8/19/2023 |
1.26.0 | 173 | 8/5/2023 |
1.25.1 | 282 | 7/30/2023 |
1.25.0 | 272 | 7/30/2023 |
1.24.0 | 396 | 7/22/2023 |
1.23.0 | 147 | 7/9/2023 |
1.22.0 | 150 | 6/25/2023 |
1.21.0 | 171 | 6/24/2023 |
1.20.0 | 168 | 6/17/2023 |
1.19.0 | 213 | 6/11/2023 |
1.18.2 | 168 | 6/10/2023 |
1.18.1 | 166 | 6/9/2023 |
1.18.0 | 355 | 6/8/2023 |
1.17.0 | 153 | 6/4/2023 |
1.16.0 | 498 | 6/3/2023 |
1.15.0 | 326 | 5/29/2023 |
1.14.0 | 161 | 5/29/2023 |
1.13.0 | 161 | 5/28/2023 |
1.12.0 | 332 | 5/27/2023 |
1.11.0 | 154 | 5/24/2023 |
1.10.0 | 153 | 5/23/2023 |
1.9.0 | 143 | 5/22/2023 |
1.8.2 | 325 | 5/20/2023 |
1.8.1 | 165 | 5/20/2023 |
1.8.0 | 159 | 5/20/2023 |
1.7.1 | 180 | 5/13/2023 |
1.7.0 | 217 | 5/11/2023 |
1.6.1 | 1,528 | 4/26/2023 |
1.6.0 | 399 | 4/25/2023 |
1.5.0 | 430 | 4/22/2023 |
1.4.0 | 174 | 4/22/2023 |
1.3.0 | 313 | 4/16/2023 |
1.2.0 | 257 | 4/10/2023 |
1.1.0 | 197 | 4/7/2023 |
1.0.1 | 213 | 4/1/2023 |