Simple.Helpers
8.0.0
dotnet add package Simple.Helpers --version 8.0.0
NuGet\Install-Package Simple.Helpers -Version 8.0.0
<PackageReference Include="Simple.Helpers" Version="8.0.0" />
<PackageVersion Include="Simple.Helpers" Version="8.0.0" />
<PackageReference Include="Simple.Helpers" />
paket add Simple.Helpers --version 8.0.0
#r "nuget: Simple.Helpers, 8.0.0"
#addin nuget:?package=Simple.Helpers&version=8.0.0
#tool nuget:?package=Simple.Helpers&version=8.0.0
Simple.Helpers
Throw
Pierian spring: https://reubenbond.github.io/posts/dotnet-perf-tuning or translation https://www.lshnk.me/2019/01/26/улучшаем-производительность-в-.net-core-по-опыту-бинарного-сериализатора-hagar/
Using
using Simple.Helpers;
...
Throw.Exception(new ...Exception(parameters...));
...
// allows optional additional check
fileName = Throw.IsArgumentNullException(fileName, nameof(fileName));
or
fileName = Throw.IsArgumentNullException(fileName, nameof(fileName), i => !string.IsNullOrEmpty(i));
public Task<TResult> SomeMethodAsync()
{
try
{
...
return Task.FromResult(...);
}
catch (Exception ex)
{
...
return Throw.ExceptionAsync<TResult>(ex)
}
}
Option (ala Rust)
Using
using Simple.Helpers;
class SomeClass
{
...
private async Task<IOption<IResponse>> ExecStatusAsync(ITestResult tr, IRequest request)
{
var resp = await _rest.ExecuteAsync(request);
return tr.Status(resp, HttpStatusCode.Accepted);
}
}
...
static class SomeClassExtensions
{
public static IOption<IResponse> Status(this ITestResult tr, IResponse resp, HttpStatusCode expected, [CallerMemberName] string? methodName = null)
=> tr.Eq(methodName!, resp.StatusCode, expected)
? Option.Value(resp)
: Option.Error<IResponse>(resp.Content ?? "bad status");
}
HashCoceCombiner (for netstandard2.0 only)
class (from .NetCore v2.2)
Extensions
some extensions for Stream, some extensions for collectopns, some other extensions (string, Type)
Release notes
8.0.0.5
append:
support net8.0
StrUtil.GetClassName()
class ExtensionsValidation
some methods in ExtensionsHex
some unit-tests
renames:
CollectionExtensions -> ExtensionsCollection
0.1.1.4
append:
support netstandard2.1
class DicString
Option (ala Rust)
class RandomGenerator
class StrUtil
some unit-tests
update:
CollectionExtensions (Merge IReadOnlyDictionary)
small fixes (in ExtensionsHex, HashCodeCombiner)
0.1.0.3
update(fixed):
added Throw.IsArgumentNullException override (for netstandard2.0)
rename Extensions => ExtensionsHex + refactoring ToHexString()
0.1.0.2
append:
Stream.WriteAsync()
Extensions (hex convert, IServiceProvider)
Throw.Exception as functions
update:
added Throw.IsArgumentNullException override
0.1.0.1
append:
TargetFramework: net6.0
update:
IsArgumentNullException() can be raice 2 exeptios (ArgumentNullException & ArgumentException)
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. 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 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Memory (>= 4.6.0)
-
.NETStandard 2.1
- No dependencies.
-
net6.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
8.0.0.5
append:
support net8.0
StrUtil.GetClassName()
class ExtensionsValidation
some methods in ExtensionsHex
some unit-tests
renames:
CollectionExtensions -> ExtensionsCollection
0.1.1.4
append:
support netstandard2.1
DicString
Option (ala Rust)
RandomGenerator
StrUtil
some unit-tests
update:
CollectionExtensions (Merge IReadOnlyDictionary)
small fixes (in ExtensionsHex, HashCodeCombiner)
0.1.0.3
update(fixed):
added Throw.IsArgumentNullException override (for netstandard2.0)
renames:
Extensions => ExtensionsHex + refactoring ToHexString()
0.1.0.2
append:
Stream.WriteAsync()
Extensions (hex convert, IServiceProvider)
Throw.Exception as functions
update:
added Throw.IsArgumentNullException override
0.1.0.1
append:
TargetFramework: net6.0
update:
IsArgumentNullException() can be raice 2 exeptios (ArgumentNullException + ArgumentException)