Cuemon.Core 4.2.2018.840

The Cuemon.Core assembly is the patriarch of the Cuemon .NET Standard family and provides fundamental-, utility- and base-classes that define commonly-used value and reference data types, events and event handlers, interfaces, attribute, and feature rich delegates to greatly support functional programming.

Install-Package Cuemon.Core -Version 4.2.2018.840
dotnet add package Cuemon.Core --version 4.2.2018.840
paket add Cuemon.Core --version 4.2.2018.840
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

4.2.2018.840
* PRELUDE - Microsoft has now proven that .NET Standard is the way to go why per assembly download is re-introduced again

4.2.2017.2270
* CHANGED - Renamed FromChars --> ToEnumerable on the StringConverter class in the Cuemon namespace
* ADDED - StringConverter class in the Cuemon namespace received one new method; FromChars
* ADDED - New extensions for IEnumerable{Char}: FromChars
* ADDED - StringUtility class in the Cuemon namespace received three new methods; two overloaded HasConsecutiveCharacters and one ParseDistinctDifference

4.2.2017.2250
* ADDED - New extensions for IDictionary{TKey,TValue}: TryGetValue, GetValueOrDefault
* ADDED - ConditionalCollection{T} class in the Cuemon.Collections.Generic namespace that provides an abstract base class for a generic, conditional collection
* ADDED - Initializer class in the Cuemon namespace that provides a generic way to wrap and initialize a class for countless scenarios
* ADDED - InitializerBuilder{T} class in the Cuemon namespace that supports the Initializer class for building custom initializers

4.2.2017.900
* FIXED - All async/await methods now uses ConfigureAwait(false)
* ADDED - ActionFactory class in the Cuemon namespace received a Task based method; ExecuteMethodAsync (TAP)
* ADDED - FuncFactory class in the Cuemon namespace received a Task{TResult} based method; ExecuteMethodAsync (TAP)
* ADDED - TaskActionFactory class in the Cuemon namespace that provides access to factory methods for creating instances that encapsulate a Task based function delegate with a variable amount of generic arguments (TAP)
* ADDED - TaskFuncFactory class in the Cuemon namespace that provides access to factory methods for creating instances that encapsulate a Task{TResult} based function delegate with a variable amount of generic arguments (TAP)
* ADDED - TransientOperation class in the Cuemon namespace received several Task based overloaded methods; WithFuncAsync and WithActionAsync (TAP)
* FIXED - TransientOperationOptions class in the Cuemon namespace now have a default value of 5 minutes on the MaximumAllowedLatency property
* ADDED - ExceptionDescriptorAttribute class in the Cuemon namespace that provides information about an Exception, in a developer friendly way, optimized for open- and otherwise public application programming interfaces (API)
* ADDED - ExceptionDescriptor class in the Cuemon namespace received two new overloaded methods; PostInitializeWith
* CHANGED - MethodDescriptor class in the Cuemon.Reflection namespace was refactored to use property Caller:Type instead of property ClassName:string, which in return should add higher flexibility
* ADDED - MethodWrappedException class in the Cuemon namespace that wraps an exception that was refined with meta information from the ExceptionUtility class
* ADDED - ExceptionUtility class in the Cuemon namespace received a new method; Unwrap
* CHANGED - ExceptionUtility class in the Cuemon namespace received refactoring of Refine methods; instead of returning a generic {T of Exception}, they now return a MethodWrappedException
* FIXED - Renamed extensions for Exception: RefineException --> Refine
* ADDED - New extensions for MethodWrappedException: Unwrap
* FIXED - StringConverter class in the Cuemon namespace now writes punctuations delimiters again on the FromType method
* ADDED - Validator class in the Cuemon namespace received four new overloaded methods; ThrowIfUri, ThrowIfNotUri, ThrowIfContainsType and ThrowIfNotContainsType
* ADDED - TimeMeasure class in the Cuemon.Diagnostics namespace received several Task based overloaded methods; WithActionAsync and WithFuncAsync (TAP)
* ADDED - TesterDoer class in the Cuemon namespace that provides a set of methods that can assist with the tester-doer pattern

4.1.2017.500
* CHANGED - DataPair class in the Cuemon namespace can now be inherited from
* CHANGED - FromPascalCasing method on the StringConverter class in the Cuemon namespace to be more flexible on conversion

4.1.2017.400
* ADDED - DayPart class in the Cuemon namespace that represents a part of a day.
* ADDED - DayParts class in the Cuemon namespace that provides a roughly way to determine if a given part of a day is either; Night, Morning, Forenoon, Afternoon og Evening
* FIXED - World class in the Cuemon.Globalization namespace now tries to load cultures by reflection; if unsuccessful, it reverts to an embedded resource where CultureNotFoundException are swallowed
* ADDED - New extensions for DateTime: IsWithinRange, IsTimeOfDayNight, IsTimeOfDayMorning, IsTimeOfDayForenoon, IsTimeOfDayAfternoon, IsTimeOfDayEvening
* ADDED - New extensions for String: SubstringBefore

4.1.2017.350
* ADDED - New extensions for Int16: Min, Max
* ADDED - New extensions for Int32: Min, Max
* ADDED - New extensions for Int64: Min, Max
* ADDED - New extensions for RegionInfo: GetCultures
* ADDED - CasingMethod enum in the Cuemon namespace that specifies ways that a string must be converted in terms of casing
* CHANGED - Renamed FromConvertible --> FromConvertibles on the ByteConverter class in the Cuemon namespace
* ADDED - World class in the Cuemon.Globalization namespace that is designed to make System.Globalization related operations easier to work with

4.1.2017.280
* FIXED - EncodingOptions class in the Cuemon.Text namespace now uses the static default values
* FIXED - The extension method for String: ToByteArray was re-implemented using the old way of method overloading due to conflict with the generic variant of this method

4.1.2017.200
* CHANGED - Assembly version 4.0.2016.0 --> 4.1.2017.0
* CHANGED - All extension methods, that uses the options pattern, now has an optional setup delegate
* ADDED - Validator class in the Cuemon namespace received several new overloaded methods; ThrowIfEmpty, ThrowIfWhiteSpace, ThrowIfNullOrEmpty, ThrowIfNullOrWhitespace
* ADDED - Condition class in the Cuemon namespace received a new method; IsWhiteSpace

4.1.2016.3580
* ADDED - LatencyException class in the Cuemon namespace that provides the exception that is thrown when a latency related operation was taking to long to complete
* CHANGED - Parse and Flatten methods on the static ExceptionUtility class in the Cuemon namespace was tweaked to be more versatile
* CHANGED - ByteConverter class in the Cuemon namespace was simplified internally
* CHANGED - CharConverter class in the Cuemon namespace was simplified internally and tweaked with a try to detect encoding on relevant methods
* CHANGED - StringConverter class in the Cuemon namespace was simplified internally and tweaked with a try to detect encoding on relevant methods
* CHANGED - Renamed extensions for Stream: ToString --> ToEncodedString
* CHANGED - Renamed extensions for Exception: ToString --> ToEncodedString
* CHANGED - Renamed extensions for Byte[]: ToString --> ToEncodedString
* ADDED - TransientFaultEvidence class in the Cuemon namespace that provides evidence about a faulted TransientOperation
* CHANGED - TransientFaultException class in the Cuemon namespace was changed to include TransientFaultEvidence
* CHANGED - TransientOperation class in the Cuemon namespace was extended to support a FaultCallback delegate, calculate latency and include TransientFaultEvidence
* CHANGED - TransientOperationOptions class in the Cuemon namespace was extended to support MaximumAllowedLatency
* CHANGED - TimeMeasure class in the Cuemon.Diagnostics namespace was changed in terms of TimeMeasureCompletedCallback delegate being renamed to CompletedCallback

4.1.2016.3500
* ADDED - ExceptionDescriptor class in the Cuemon namespace that provides information about an Exception, in a developer friendly way, optimized for open- and otherwise public application programming interfaces (API)
* ADDED - ObjectHierarchyOptions class in the Cuemon.Reflection namespace that specifies options that is related to ReflectionUtility.GetObjectHierarchy operations
* REMOVED - Callback suffix from various delegates throughout the assembly package
* ADDED - New extensions for TOptions: ConfigureOptions
* ADDED - New extensions for IHierarchy<DataPair>: UseTimeSpanFormatter, UseUriFormatter, UseDateTimeFormatter, UseConvertibleFormatter, UseGuidFormatter, UseStringFormatter, UseDecimalFormatter, UseCollection, UseDictionary
* REMOVED - Redundant extension methods that collisioned with the .NET Standard Library
* CHANGED - Hierarchy{T} class in the Cuemon namespace was made more simple and flexible
* ADDED - New extensions for IHierarchy{T}: FindFirstInstance, FindSingleInstance, FindInstance, FindFirst, FindSingle, Find, Replace, ReplaceAll
* CHANGED - IHierarchy{T} interface in the Cuemon namespace received two new members; Replace and GetPath
* CHANGED - DataPair class in the Cuemon namespace was made more simple and flexible
* ADDED - TimeRange class in the Cuemon namespace that represents a period of time between two DateTime values
* CHANGED - IsComplex method on the TypeUtility class in the Cuemon namespace to be more precise
* ADDED - New extensions for IDictionary{TKey,TValue}: AddIfNotContainsKey, AddOrUpdate
* ADDED - New extensions for DateTime: ToString
* REMOVED - Uri support from the ObjectConverter.FromString method in the Cuemon namespace

4.0.2016.3270
* PRELUDE - Because of the many paths given by Microsoft in the road of .NET Core, this is a major and breaking release where all assemblies have been refactored and put together again in a nifty package. So, just like Cuemon .NET Framework, this is the Core version. No more single assemblies for download. It seemed smart, but reality has proven otherwise. So all single assemblies has been deemed deprecated.
* REMOVED - Act delegates in the Cuemon namespace (leftover from Cuemon .NET Framework merge); all lamda expressions has been replaced with Action delegates
* REMOVED - Doer delegates in the Cuemon namespace (leftover from Cuemon .NET Framework merge); all lamda expressions has been replaced with Func delegates
* CHANGED - ActFactory class in the Cuemon namespace was renamed to ActionFactory
* CHANGED - DoerFactory class in the Cuemon namespace was renamed to FuncFactory
* CHANGED - TesterDoer delegates in the Cuemon namespace was renamed to TesterFunc delegates
* CHANGED - TesterDoerFactory class in the Cuemon namespace was renamed to TesterFuncFactory
* CHANGED - TesterDoerUtility class in the Cuemon namespace was renamed to TesterFuncUtility
* CHANGED - MethodSignature class in the Cuemon.Reflection namespace was renamed to MethodDescriptor
* CHANGED - TransientFaultUtility class in the Cuemon namespace was renamed to TransientOperation and refactored to support the options pattern
* ADDED - TransientOperationOptions class in the Cuemon namespace that specifies options that is related to TransientOperation handling
* ADDED - Profiler class in the Cuemon.Diagnostics namespace that represents a base class for profiler related operations
* ADDED - ProfilerOptions class in the Cuemon.Diagnostics namespace that specifies options that is related to Profiler operations
* ADDED - TimeMeasureOptions class in the Cuemon.Diagnostics namespace that specifies options that is related to TimeMeasureProfiler operations
* ADDED - TimeMeasureProfiler class in the Cuemon.Diagnostics namespace that represents a profiler that is optimized for time measuring operations
* ADDED - TimeMeasureProfiler<TResult> class in the Cuemon.Diagnostics namespace that represents a profiler that is optimized for time measuring operations that provides a return value
* ADDED - Tweaker class in the Cuemon namespace that provides a way to change any instance of the same generic type
* ADDED - EncodingOptions class in the Cuemon.Text namespace that specifies options that is related to Encoding operations
* ADDED - One new method, IsAnonymousMethod, was added to the TypeUtility class in the Cuemon namepspace
* ADDED - Two new method, SafeInvokeDisposable (overloaded) and ConfigureAction, was added to the DelegateUtility class in the Cuemon namepspace
* ADDED - New extensions for DateTime: ToUtcKind, ToLocalKind, ToDefaultKind
* ADDED - New extensions for T: Adjust
* ADDED - New extensions for TimeSpan: GetTotalNanoseconds, GetNanoseconds, GetTotalMicroseconds, GetMicroseconds

4.0.2016.1880
* ADDED - Two new methods, ToProtocolRelativeUri, was added to the StringConverter class in the Cuemon namepspace
* ADDED - UriConverter static class in the Cuemon namepspace that is designed to make Uri related conversions easier to work with
* ADDED - Two new methods, IsProtocolRelativeUri, was added to the UriUtility class in the Cuemon namepspace
* FIXED - The default function delegate for ByteConverter.TryFromBase64String and StringUtility.IsBase64 now evaluates a Base64 string correctly

4.0.2016.1380-rc2
* ADDED - Support for .NET Platform Standard 1.4 (netstandard1.4)
* CHANGED - Removed support for .NET Platform Standard 5.4 (dotnet5.4)

4.0.2016.1360-beta
* CHANGED - The StringConverter.FromException(Exception, ..) method in the Cuemon namespace now flatten and includes all inner exceptions
* FIXED - The ByteConverter.TryFromBase64String(string, ..) method in the Cuemon namespace now evaluates false if the predicate evaluates false
* FIXED - The TransientFaultUtility class in the Cuemon namespace does not include a dublet of the last exception thrown

Version History

Version Downloads Last updated
4.2.2018.840 (current version) 89 2/9/2018