EonaCat.Helpers
1.0.3
Prefix Reserved
See the version list below for details.
dotnet add package EonaCat.Helpers --version 1.0.3
NuGet\Install-Package EonaCat.Helpers -Version 1.0.3
<PackageReference Include="EonaCat.Helpers" Version="1.0.3" />
paket add EonaCat.Helpers --version 1.0.3
#r "nuget: EonaCat.Helpers, 1.0.3"
// Install EonaCat.Helpers as a Cake Addin #addin nuget:?package=EonaCat.Helpers&version=1.0.3 // Install EonaCat.Helpers as a Cake Tool #tool nuget:?package=EonaCat.Helpers&version=1.0.3
EonaCatHelpers
- Smtp Mail Client and tester
- Cipher helper
- Benchmark helper
- Task helpers (Async commands)
- Retry helper
- String helper
- Stream helper
- XML helper
- JSON helper
- File (Save and Load) helper
- 2FA, Barcode and QRCode helper
- Gravatar helper
- Network Client/Server
- EonaCat WebServer
- Logger for sysLog, console and file
- Dynamic objects (EDynamic)
- SqlBuilder
- Custom controls (Rollover list, BackgroundTimer, ObservableQueue etc.)
How to manually add the EonaCat Generators to the project:
WARNING: Because of added generators, please make sure that your project file contains:
- Open your project file and add the following code:
<ItemGroup>
<PackageReference Include="EonaCatHelpers" Version="1.4.5">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>all</IncludeAssets>
</PackageReference>
</ItemGroup>
How to use the EonaCat Generators in your project:
- Add the namespace to your project file:
using EonaCat.Generators;
- You can now use the [Bind] attribute to automagically create properties for your variables + NPI. e.g.
[Bind]
string _firstName;
This creates a property named 'FirstName'.
Custom example:
using EonaCat.Generators;
var test = new vm();
test.Test = "Hello";
test.THISISMYCUSTOMPROPERTYNAME = "World";
Console.WriteLine(test.FullTest);
public partial class vm
{
[Bind]
private string _test;
[Bind("THISISMYCUSTOMPROPERTYNAME")]
private string _test1;
public string FullTest => $"{Test} {THISISMYCUSTOMPROPERTYNAME}";
}
How to use the AsyncCommand helpers:
AsyncCommand: (without parameters)
private IAsyncCommand test1;
public IAsyncCommand Test1 => test1 ??= AsyncCommand.Create(async () => {
await Task.CompletedTask;
});
private IAsyncCommand test2;
public IAsyncCommand Test2 => test2 ??= AsyncCommand.Create(async token => {
await Task.CompletedTask;
});
private IAsyncCommand test3;
public IAsyncCommand Test3 => test3 ??= AsyncCommand.Create(async (token, manual) => {
await Task.CompletedTask;
});
AsyncCommand: (with parameters)
private IAsyncCommand test1;
public IAsyncCommand Test1 => test1 ??= AsyncCommand.Create<Data>(async data => {
await Task.CompletedTask;
});
private IAsyncCommand test2;
public IAsyncCommand Test2 => test2 ??= AsyncCommand.Create<Data>(async (data, token) => {
await Task.CompletedTask;
});
private IAsyncCommand test3;
public IAsyncCommand Test3 => test3 ??= AsyncCommand.Create<Data>(async (data, token, manual) => {
manual.WaitOne();
if (token.IsCancellationRequested) return;
await Task.CompletedTask;
});
AsyncCommand: (return a completed task)
private IAsyncCommand test1;
public IAsyncCommand Test1 => test1 ??= AsyncCommand.Create(() => {
return Task.CompletedTask;
});
AsyncCommand: (Check if we need to cancel the command)
private IAsyncCommand test4;
public IAsyncCommand Test4 => test4 ??= AsyncCommand.Create(async token => {
if (token.IsCancellationRequested) return;
await Task.CompletedTask;
}, true);
Binding for XAML:
<StackLayout>
<Label Text="Command Result:" />
<Label Text="{Binding Test1.Execution.Result}" />
<Label Text="{Binding Test1.Execution.IsCompleted}" />
<Label Text="{Binding Test1.Execution.IsNotCompleted}" />
<Label Text="{Binding Test1.Execution.IsCompletedSuccessfully}" />
<Label Text="{Binding Test1.Execution.IsCanceled}" />
<Label Text="{Binding Test1.Execution.IsFaulted}" />
<Label Text="{Binding Test1.Execution.ErrorMessage}" />
<Button Command = "{Binding Test1}" CommandParameter="ThisIsATest">Test</Button>
<Button Command = "{Binding Test1.CancelCommand}">Cancel</Button>
<Button Command="{Binding Test1.ManualResetAsyncCommand}">Create Timeout</Button>
<Label Text = "{Binding Test1.IsSuspend}" />
</StackLayout>
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. 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 is compatible. 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. |
.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
- Microsoft.CSharp (>= 4.7.0)
- System.Buffers (>= 4.5.1)
- System.Drawing.Common (>= 6.0.0)
- System.Memory (>= 4.5.4)
- System.Reflection.Emit (>= 4.7.0)
- System.Reflection.Emit.Lightweight (>= 4.7.0)
- System.Text.Encoding.CodePages (>= 6.0.0)
-
.NETStandard 2.1
- Microsoft.CSharp (>= 4.7.0)
- System.Buffers (>= 4.5.1)
- System.Drawing.Common (>= 6.0.0)
- System.Memory (>= 4.5.4)
- System.Reflection.Emit (>= 4.7.0)
- System.Reflection.Emit.Lightweight (>= 4.7.0)
- System.Text.Encoding.CodePages (>= 6.0.0)
-
net5.0
- Microsoft.CSharp (>= 4.7.0)
- System.Buffers (>= 4.5.1)
- System.Drawing.Common (>= 6.0.0)
- System.Memory (>= 4.5.4)
- System.Reflection.Emit (>= 4.7.0)
- System.Reflection.Emit.Lightweight (>= 4.7.0)
- System.Text.Encoding.CodePages (>= 6.0.0)
-
net6.0
- Microsoft.CSharp (>= 4.7.0)
- System.Buffers (>= 4.5.1)
- System.Drawing.Common (>= 6.0.0)
- System.Memory (>= 4.5.4)
- System.Reflection.Emit (>= 4.7.0)
- System.Reflection.Emit.Lightweight (>= 4.7.0)
- System.Text.Encoding.CodePages (>= 6.0.0)
-
net7.0
- Microsoft.CSharp (>= 4.7.0)
- System.Buffers (>= 4.5.1)
- System.Drawing.Common (>= 6.0.0)
- System.Memory (>= 4.5.4)
- System.Reflection.Emit (>= 4.7.0)
- System.Reflection.Emit.Lightweight (>= 4.7.0)
- System.Text.Encoding.CodePages (>= 6.0.0)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on EonaCat.Helpers:
Package | Downloads |
---|---|
EonaCat.Dns
This is a Dns Server |
|
EonaCat.HttpClient
EonaCat Http Client for REST JSON and XML messages. |
|
EonaCat.Sql
EonaCat Helpers - SqlBuilder - Automatically parameterize sqlQueries - SqlHelper for Sql Injections and Javascript injections in strings - Deadlock Retry Helper |
|
EonaCat.ServiceMonitor
EonaCat Service monitor + Slack client |
|
EonaCat.Web.RateLimiter
EonaCat Web RateLimiter is a .NET Core Middleware which can set a rate limit on your web requests |
GitHub repositories
This package is not used by any popular GitHub repositories.