Click or drag to resize

TomsToolbox.Essentials Namespace

Core classes and functions that only depend on System functions. Available for any project targeting .Net4.5 or .NetStandard 2.0
Public classAssemblyExtensions
Extension methods for assemblies.
Public classAutoWeakIndexerTKey, TValue
A thread safe, DictionaryTKey, TValue like implementation that populates it's content on demand, i.e. calling indexer[key] will never return null. The cache has only weak references to the values, so the values may come and go.
Public classBinaryOperationProcessor
Applies the Operation on the values.

Public classCollectionExtensions
Extensions methods to ease dealing with collections.
Public classCultureInfoExtensions
Extension methods for the CultureInfo class.
Public classCustomAttributeProviderExtensions
Various extension methods.
Public classDateTimeOperations
Additional operations for DateTime and TimeSpan.
Public classDefaultValue
Helper methods to get the default value for a type when the type is only available at runtime.
Public classDelegateComparerT
Public classDelegateEqualityComparerT
Public classDisposable
Helper methods to ease robust implementation of the IDisposable pattern.
Public classEnumerate
Some enumerators for various scenarios.
Public classEnumExtensions
Extension methods to ease dealing with Enum types.
Public classExceptionExtensions
Extension methods to ease dealing with exceptions.
Public classHashCode
Helper to generate hash codes
Public classHighResolutionTimer
A high resolution timer that runs in a single thread. Timer events are triggered with high resolution, but new events will not be triggered unless the previous event is processed.
Public classMathExtensions
Extension methods for math operations.
Public classObjectExtensions
Extensions for any objects.
Public classPluginModuleAttribute
Denotes an assembly as a loadable module.

Categories may be assigned to implement dynamic loading of modules by category.

Public classPropertySupport
Provides support for extracting property information based on a property expression.
Public classRealTimeService
Time service returning the actual system values from DateTime.
Public classReflectionExtensions
Methods to ease reflection
Public classRegexExtensions
Extension methods for Regex.
Public classSemanticVersion
A class to parse and compare semantic versions. (
Public classSequenceAttribute
General usable sequence attribute to assign sequences to any object that may need to be e.g. sorted by some means.
Public classTextAttribute
Specifies a general usable attribute to associate text with an object, similar to DisplayNameAttribute or DescriptionAttribute, but without a predefined usage scope.
Public classTextEventArgs
Event arguments for events that deal with text, e.g. text changed or text received.
Public classThreadBoundTaskScheduler
A TaskScheduler that queues the tasks an runs them in one dedicated thread.
Public classTypeExtensions
Extension methods for Type
Public classWeakEventListenerTTarget, TSource, TEventArgs
Implements a weak event listener that allows the owner to be garbage collected if its only remaining link is an event handler.
Public classCode exampleWeakEventSourceTEventArgs
A simple weak event source implementation; useful for static events where you don't want to keep a reference to the event sink.
Public classWeakReferenceExtensions
Public classWeakReferenceSetT
A simple set of weak references.
Public classXmlExtensions
Extension methods for System.Xml.Linq objects.
Public interfaceINotifyChanged
Interface implemented by objects that support a generic changed event.
Public interfaceITimeService
A service providing the current date or time. Very useful to decouple code from the static DateTime methods, to make code that has dependencies to date or time testable.
Public interfaceIWeakEventListener
Common interface for weak event listener.
Public enumerationBinaryOperation
Binary operations supported by the BinaryOperationProcessor