Introduction
editMeziantou.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
| Topic | Helpers | Page |
|---|---|---|
| Strings | Ordinal comparisons, prefixes and suffixes, diacritics, line splitting, Markdown escaping | Strings |
| Formatting and cultures | Invariant formatting, temporary cultures, ordinals, country flags | Formatting and cultures |
| String similarity | Levenshtein and Hamming distances, Soundex, Metaphone, short names | String similarity |
| Collections | Circular buffers, double-ended queues, sorted lists, tries, multi-value dictionaries, equatable immutable collections | Collections |
| Sequences | Filtering nulls, distinctness checks, async loops, cached sequences, dictionary helpers | Sequences |
| Files and streams | Valid file names, recursive copy and delete, reading streams, restricted streams | Files and streams |
| Processes | Finding executables in PATH, parent and child processes | Processes |
| Timing | Debounce and throttle actions | Debounce and throttle |
| Dates, numbers and ranges | Start and end of periods, ranges, random values | Dates, numbers and ranges |
| Reflection | Private members, attributes, assembly information, enums, expressions | Reflection |
| Validation | Data annotations for absolute URIs and collection items | Validation |
| Diagnostics | Capture the activities started by a piece of code | Activity listener |
| Other helpers | Deterministic GUIDs, optional values, lorem ipsum, handles, certificates | Other helpers |
Namespaces
Most helpers are in the Meziantou.Framework namespace. The others are in:
| Namespace | Contains |
|---|---|
| Meziantou.Framework.Collections | The collections |
| Meziantou.Framework.DataAnnotations | The validation attributes |
| Meziantou.Framework.Diagnostics | ScopedActivityListener |
| Meziantou.Framework.Text | UTF-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
- Getting started: install the package and use a few helpers.