CommonHelpers 1.2.0
See the version list below for details.
dotnet add package CommonHelpers --version 1.2.0
NuGet\Install-Package CommonHelpers -Version 1.2.0
<PackageReference Include="CommonHelpers" Version="1.2.0" />
paket add CommonHelpers --version 1.2.0
#r "nuget: CommonHelpers, 1.2.0"
// Install CommonHelpers as a Cake Addin #addin nuget:?package=CommonHelpers&version=1.2.0 // Install CommonHelpers as a Cake Tool #tool nuget:?package=CommonHelpers&version=1.2.0
CommonHelpers
This is a cross platform NET Standard 2.0 helper library containing a bunch of helper code that I used to rewrite several times a day while creating sample apps for developers. Due to the number of "File > New" projects I create every day, this packages saves me a significant amount of time. I hope it helps you as well. Enjoy!
Releases
NuGet.org (recommended) | GitHub Releases (all releases) |
---|---|
Releases Page |
Support
Option | Purpose |
---|---|
<a href="https://www.buymeacoffee.com/dvluper" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="35" width="150"></a> | You can buy me a coffee to help support my community efforts. |
DevOps
Workflow | Status |
---|---|
dev |
|
main |
|
prerelease |
|
release |
Features
Extensions
Extensions for commonly used objects like; string
, DateTime
, and enum
. As well as handy methods for File
, Exception
and Color
objects. There's also the HttpClientExtensions
where you can easily get download progress insights and a helper method to POST image data.
For example, you can quickly get easing function values using the EasingExtensions. Here's what the demo looks like for myFloatValue.BackEaseIn();
Collections
Special collection types that help in special scenarios (e.g. ObservableQueue
and ObservableRangeCollection
).
Common
This folder has some of the most frequently used classes (i.e. BindableBase
, ViewModelBase
, JsonHelper
).
MVVM
Platform agnostic MVVM classes like DelegateCommand
and RelayCommand
.
Services
To make testing UI controls easier by quickly providing well formatted data from offline sample data and online API endpoints. This is really useful for quickly testing Load On Demand scenarios.
- BingImageService
- ComicVineApiService
- SampleDataService
- XkcdApiService
ComicVineService requires an API Key (it's free). All other services do not require an API key, just new up the class and start using it.
Examples
Sample Data Service
This is my most frequently used service. You can easily spin up data for Lists, Charts, DataGrids and more with a single method.
BarSeriesData.AddRange(SampleDataService.Current.GenerateCategoricalData());
ScatterSeriesData.AddRange(SampleDataService.Current.GenerateScatterPointData());
LineSeriesData.AddRange(SampleDataService.Current.GenerateDateTimeMinuteData());
SplineAreaSeriesData.AddRange(SampleDataService.Current.GenerateDateTimeDayData());
People.AddRange(SampleDataService.Current.GeneratePeopleData());
Employees.AddRange(SampleDataService.Current.GenerateEmployeeData(true));
Products.AddRange(SampleDataService.Current.GenerateProductData());
Categories.AddRange(SampleDataService.Current.GenerateCategoryData());
BingImageService
Easily fetch the Bing Image of Day.
using (var bingImageService = new BingImageService())
{
var result = await bingImageService.GetBingImageOfTheDayAsync();
image.Source = new UriImageSource{Uri = result};
}
xkcd API Service
Getting today's comic by calling GetNewestComic
or get any comic by using GetComicAsync(comicNumber)
.
var xkcdService = new XkcdApiService();
// to fetch a comic, get the latest or pass a specific comic ID
XkcdComic xkcdComic;
if (lastXkcdComicNumber == 0)
{
xkcdComic = await xkcdService.GetNewestComicAsync();
}
else
{
xkcdComic = await xkcdService.GetComicAsync(lastXkcdComicNumber - 1);
}
lastXkcdComicNumber = xkcdComic.Num;
// This is an `ObservableQueue` (located in CommonHelpers.Collections)
XkcdComics.Enqueue(xkcdComic);
ComicVineApiService
The ComicVine API is the only service in which you'll need an API key. You pass the key and a unique string name for your app to the constructor. Now you have access to thousands of items like Characters, Videos and more from the service.
var comicVineService = new ComicVineApiService(ApiKeys.ComicVineApiKey, ApiKeys.UniqueUserAgentString);
var apiResult = await comicVineService.GetCharactersAsync(CurrentCharactersCount);
CurrentCharactersCount = apiResult.Offset + apiResult.NumberOfPageResults;
TotalCharactersCount = apiResult.NumberOfTotalResults;
var characters = apiResult.Results;
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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. |
.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 was computed. |
.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
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on CommonHelpers:
Package | Downloads |
---|---|
CommonHelpers.Maui
A .NET MAUI companion to the CommonHelpers library, containing MAUI-specific functionality like; extensions, behaviors, converters, and more. |
|
SemanticSDK
Provides Peppol Docuiment classes for exchange |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.4.0 | 268 | 9/12/2024 |
1.3.2 | 654 | 7/3/2024 |
1.3.1 | 1,049 | 5/24/2024 |
1.3.0 | 605 | 1/26/2024 |
1.2.1 | 646 | 7/28/2023 |
1.2.0 | 3,606 | 4/18/2022 |
1.2.0-rc | 186 | 4/18/2022 |
1.1.3 | 881 | 11/2/2021 |
1.1.3-rc | 228 | 11/2/2021 |
1.1.2 | 1,691 | 8/6/2020 |
1.1.1 | 588 | 7/15/2020 |
1.0.12 | 2,512 | 4/29/2019 |
1.0.11 | 752 | 4/21/2019 |
1.0.9 | 675 | 4/12/2019 |
1.0.8 | 1,034 | 11/17/2018 |
1.0.7 | 1,178 | 6/27/2018 |
1.0.6 | 1,068 | 6/21/2018 |
1.0.5 | 899 | 6/19/2018 |
1.0.4 | 1,026 | 6/19/2018 |
1.0.0 | 1,026 | 6/18/2018 |
Review releases on GitHub at bit.ly/CommonHelpers