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
Classes
 ClassDescription
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 classDelegateComparerTIComparerT implementation using a delegate function to compare the values.
Public classDelegateEqualityComparerTIEqualityComparerT implementation using a delegate function to compare the values.
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 classNullableExtensions Replacements for some common methods with extra nullable annotations.
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. (https://semver.org/)
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 Extensions for WeakReferenceT
Public classWeakReferenceSetT A simple set of weak references.
Public classXmlExtensions Extension methods for System.Xml.Linq objects.
Interfaces
 InterfaceDescription
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.
Enumerations
 EnumerationDescription
Public enumerationBinaryOperation Binary operations supported by the BinaryOperationProcessor