Table of Contents

Namespace The.Utility

Classes

ByteArrayExtensions
CSVReader

provides a similar api to TextFieldReader. not thread-safe or optimised

CSVWriter

Attempts to produce RFC 2234 compliant CSV files

CollectionDictionary<T, U>

A dictionary that maps keys to collections of values, providing convenient methods for managing multi-value associations.

ConcurrentSet<T>
CurrentStatus
DelegateComparer<T>
DelegateDisposable
DelegateEqualityComparer<T>
DelegatingStream
Indulgence

forgiveness is available to all, my child

LazyDictionary<T, U>
LoadedCollectionEnumerator

A utility IVisitor<U> that can be used to access the enumerator on an EntityCollectionProperty without knowing its concrete type.

MimeTypes
Optional
OptionalExtensions
OrderedDictionary<TKey, TValue>

Dictionary which preserves the original order of insertion when enumerating, while still preserving the fast lookup by key property of a dictionary

PlaceholderEntity

This type exists solely to work around this language deficiency: https://github.com/dotnet/csharplang/issues/8480

Result
SemVer
Status
SyncProgress<T>

IProgress implementation which doesn't do delayed marshalling

Synchronised<T>

Emulates a guarded asynchronous mutex.

Synchronised<T>.Guard

Should be disposed, but will fall back to a finaliser as a last resort.

WrappingStringLogger

This ILogger implementation wraps around an existing instance and captures log messages.

Structs

CollectionDictionary<T, U>.Lookup

A read-only wrapper that implements ILookup<TKey, TElement> for a CollectionDictionary<T, U>.

EmptySet<T>
Optional<T>

Represents potentially nonpresent properties.

Result<T, E>

Enums

StatusType

Delegates

NullableComparison<T>