Introduction

edit

Meziantou.Framework is the core package of the repository: a collection of small, independent helpers and extension methods that most applications end up writing themselves. Each helper solves one problem; you can use one without learning the others.

What you can do with it

TopicHelpersPage
StringsOrdinal comparisons, prefixes and suffixes, diacritics, line splitting, Markdown escapingStrings
Formatting and culturesInvariant formatting, temporary cultures, ordinals, country flagsFormatting and cultures
String similarityLevenshtein and Hamming distances, Soundex, Metaphone, short namesString similarity
CollectionsCircular buffers, double-ended queues, sorted lists, tries, multi-value dictionaries, equatable immutable collectionsCollections
SequencesFiltering nulls, distinctness checks, async loops, cached sequences, dictionary helpersSequences
Files and streamsValid file names, recursive copy and delete, reading streams, restricted streamsFiles and streams
ProcessesFinding executables in PATH, parent and child processesProcesses
TimingDebounce and throttle actionsDebounce and throttle
Dates, numbers and rangesStart and end of periods, ranges, random valuesDates, numbers and ranges
ReflectionPrivate members, attributes, assembly information, enums, expressionsReflection
ValidationData annotations for absolute URIs and collection itemsValidation
DiagnosticsCapture the activities started by a piece of codeActivity listener
Other helpersDeterministic GUIDs, optional values, lorem ipsum, handles, certificatesOther helpers

Namespaces

Most helpers are in the Meziantou.Framework namespace. The others are in:

NamespaceContains
Meziantou.Framework.CollectionsThe collections
Meziantou.Framework.DataAnnotationsThe validation attributes
Meziantou.Framework.DiagnosticsScopedActivityListener
Meziantou.Framework.TextUTF-8 helpers

Most helpers are extension methods: once the namespace is imported, they appear on the types they extend, such as string, IEnumerable<T>, Stream or Process.

Next steps