Downloads of v


Average downloads per day


Last published

Share on Social Networks

License details

provided by Sonatype



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

To install Omnifactotum, run the following command in the Package Manager Console

Install-Package Omnifactotum -Version

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



Vitalii Maklai


Copyright 2013-2015 Vitalii Maklai



This package has no dependencies.

Version History

Version Downloads Last updated
Omnifactotum (this version) 390 Tuesday, July 7, 2015
Omnifactotum 107 Tuesday, July 7, 2015
Omnifactotum 126 Monday, March 23, 2015
Omnifactotum 144 Wednesday, December 10, 2014
Omnifactotum 129 Sunday, October 19, 2014
Omnifactotum 128 Monday, August 4, 2014
Omnifactotum 128 Tuesday, June 24, 2014
Omnifactotum 129 Wednesday, June 4, 2014
Omnifactotum 123 Tuesday, June 3, 2014
Omnifactotum 123 Tuesday, June 3, 2014
Omnifactotum 124 Friday, May 16, 2014
Omnifactotum 132 Tuesday, April 1, 2014
Omnifactotum 119 Monday, March 31, 2014
Omnifactotum 118 Saturday, March 29, 2014
Omnifactotum 118 Friday, March 28, 2014