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.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated 1,229 7/7/2015 497 7/7/2015 483 3/23/2015 507 12/10/2014 494 10/19/2014 493 8/4/2014 491 6/24/2014 528 6/4/2014 486 6/3/2014 545 6/3/2014 485 5/16/2014 504 4/1/2014 551 3/31/2014 582 3/29/2014 527 3/28/2014