CommonHelpers 1.0.7

There is a newer version of this package available.
See the version list below for details.
dotnet add package CommonHelpers --version 1.0.7
NuGet\Install-Package CommonHelpers -Version 1.0.7
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CommonHelpers" Version="1.0.7" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CommonHelpers --version 1.0.7
#r "nuget: CommonHelpers, 1.0.7"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install CommonHelpers as a Cake Addin
#addin nuget:?package=CommonHelpers&version=1.0.7

// Install CommonHelpers as a Cake Tool
#tool nuget:?package=CommonHelpers&version=1.0.7

CommonHelpers

This is a small NET Standard 2.0 helper library to reuse code that I write several times a day in demo projects.

Nuget: CommonHelpers on NuGet

Highlights

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).

Extensions

Extensions for commonly used objects like string, DateTime, enum. There are also some special extensions for File, Exception and Color. Finally, there's a unqiue helper, HttpClientExtensions which provides download progress and helper method to POST image data.

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
Examples
Sample Data Service

Sample Data Service

var sampleDataService = new SampleDataService();

BarSeriesData.AddRange(sampleDataService.GenerateCategoricalData());
ScatterSeriesData.AddRange(sampleDataService.GenerateScatterPointData());
LineSeriesData.AddRange(sampleDataService.GenerateDateTimeMinuteData());
SplineAreaSeriesData.AddRange(sampleDataService.GenerateDateTimeDayData());
People.AddRange(sampleDataService.GeneratePeopleData());

BingImageService

Bing ImageService

using (var bingImageService = new BingImageService())
{
    var result = await bingImageService.GetBingImageOfTheDayAsync();
    image.Source = new UriImageSource{Uri = result};
}

ComicVineApiService

ComicVine API 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;

xkcd API Service

xkcd Image Service

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);


** Note: Most services do not require an API key, just new up the class and go. To prevent any confusion, any services that need an API key will require it in the constructor.*

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 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.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.3.0 451 1/26/2024
1.2.1 579 7/28/2023
1.2.0 3,288 4/18/2022
1.2.0-rc 161 4/18/2022
1.1.3 858 11/2/2021
1.1.3-rc 208 11/2/2021
1.1.2 1,669 8/6/2020
1.1.1 558 7/15/2020
1.0.12 2,426 4/29/2019
1.0.11 730 4/21/2019
1.0.9 646 4/12/2019
1.0.8 1,000 11/17/2018
1.0.7 1,145 6/27/2018
1.0.6 1,039 6/21/2018
1.0.5 876 6/19/2018
1.0.4 997 6/19/2018
1.0.0 982 6/18/2018

- Fixed BindableBase backing store setter
- SampleDataServices fleshed out