Omnifactotum: the .NET library intended to help .NET developers avoid writing the same helper types, methods and extension methods for different projects.

Install-Package Omnifactotum -Version
dotnet add package Omnifactotum --version
<PackageReference Include="Omnifactotum" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Omnifactotum --version
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

--- Changes in (since ---
* Omnifactotum: Removed NuGet dependency to MSBuildTasks package since it is only used for development
--- Changes in (since ---
* Omnifactotum: Factotum and Factotum.For{TObject}: Improved annotations
--- Changes in (since ---
* OmnifactotumAssemblyExtensions: Improvements
* BREAKING CHANGE: OmnifactotumDisposableExtensions: DisposeSafely now works only for reference and nullable types (2 overloads)
* BREAKING CHANGE: OmnifactotumCollectionExtensions: DisposeCollectionItemsSafely now works only for reference and nullable types (2 overloads)
* BREAKING CHANGE: Factotum: DisposeAndNull now works also for nullable types (besides reference types)
* Introduced the AsyncFactotum class with the overloaded methods ComputeAsync and ExecuteAsync
* Fix in MemberConstraintBase.CastTo{T} (and hence in TypedMemberConstraintBase) for nullable types
* Improved annotations in Object Validator and related classes
* Minor improvements
--- Changes in (since ---
* KeyedEqualityComparer{T,TKey}: Fixes and improvements
* KeyedEqualityComparer static helper class has been introduced
* Factotum: CreateEmptyCompletedTask and CreateEmptyFaultedTask methods have been introduced
* OmnifactotumGenericObjectExtensions: EnsureNotNull (for nullable) has been introduced
* IValueContainer{T} has been introduced for ValueContainer{T} and SyncValueContainer{T}
* ValueContainer and SyncValueContainer helper static classes have been introduced
* Improvements and fixes in OmnifactotumMethodBaseExtensions and OmnifactotumTypeExtensions
* OmnifactotumStringExtensions: TrimSafely, TrimStartSafely, TrimEndSafely and Shorten methods now never return null
--- Changes in (since ---
* [BREAKING CHANGE] OmnifactotumCustomAttributeProviderExtensions: GetCustomAttributes has been renamed to GetCustomAttributeArray (for compatibility with FW 4.5+)
--- Changes in (since ---
* [BREAKING CHANGE] OmnifactotumDictionaryExtensions: The method GetValueOrCreate has been renamed to GetOrCreateValue for readablity and in order to avoid confusion with GetValueOrDefault
* OmnifactotumDictionaryExtensions: Improved annotations
* ValueContainer and SyncValueContainer:
   [1] Support for equality comparison
   [2] Added DebuggerDisplay attribute and ToString() method
* OmnifactotumMathExtensions class has been introduced:
   [1] Sqr (square)
   [2] Sqrt (square root)
   [3] Abs (absolute value)
--- Changes in (since ---
* FixedSizeDictionary: Improved annotations
* FixedSizeDictionary: Implemented version verification in the enumerator
--- Changes in (since ---
* FixedSizeDictionary: Removed index verification in the internal determinant since this verification highly affected performance
--- Changes in (since ---
* EnumFixedSizeDictionary: Fix in determining the size
--- Changes in (since ---
* FixedSizeDictionary and EnumFixedSizeDictionary have been introduced.
* Applied Omnifactotum Annotations to the Factotum and OmnifactotumGenericObjectExtensions classes.
--- Changes in (since ---
* [BREAKING CHANGE] Object Validation: Redesign and support of IEnumerable.
* [BREAKING CHANGE] Renamed EnumHelper to EnumFactotum.
* [BREAKING CHANGE] OmnifactotumExpressionExtensions is now in the namespace System.Linq.Expressions (instead of System).


This package has no dependencies.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated 913 7/7/2015 389 7/7/2015 384 3/23/2015 412 12/10/2014 398 10/19/2014 401 8/4/2014 398 6/24/2014 426 6/4/2014 394 6/3/2014 450 6/3/2014 386 5/16/2014 412 4/1/2014 455 3/31/2014 475 3/29/2014 435 3/28/2014