Ed Stauff's dotNet Stuff


Here is a collection of .Net stuff that I've built over the years that has been useful in a variety of applications. Most of it hasn't been packaged or polished for general release, but it serves my needs.


This is an assortment of classes that I use almost everywhere.
Microsoft really missed the boat by not providing an Assertions package. You are using assertions in your code, aren't you? If not, shame on you!
Character Encodings
A collection of methods for converting between UNICODE, HTML Entities, and ASCII.
Command Line Parser
I write a lot of small- and medium-size command-line utilities. This package provides support for parsing command line arguments.
Date & Time Utilities
A collection of utilities for manipulating DateTime and TimeSpan, mainly parsing. Supports parsing of dates and times in any common unambiguous format.
This class models a file system path. Features include support for managing relative paths.
An interface for reporting progress on lengthy and/or complex operations, usable in a variety of environments.
A front-end for Microsoft.Win32.RegistryKey that provides type-safe methods for accessing registry values of common types such as int and bool.

Browse Documentation compiled library: Essentials.dll source code: Essentials_sources.zip


A collection of individual source files.
A class for immutable Rational numbers.
source code: Rational.cs

An implementation of IProgressReporter for use in command-line programs.
source code: ConsoleProgressReporter.cs

An implementation of IProgressReporter that sends its output to a RichTextBox.
source code: RichTextBoxErrorReporter.cs


This is a software development tool for building XML-based applications. It eliminates most of the grunt work involved in creating "business classes" that correspond to XML elements. It will also produce HTML documentation for an XML format.
Browse Documentation installer: Setup_XmlCodGen.exe

XML Chameleon

This is an XML editor which can optionally use XmlCodGen input files to customize the editing interface.

installer: Setup_XmlChameleon.exe


This is a software development tool for building database applications. It eliminates most of the grunt work involved in creating the "business classes" that correspond to SQL tables. It generates .Net source code (in C# or VB.Net) and SQL stored procedures to support the standard Insert, Update, Delete, GetItem, and GetList operations. It can also generate UI grid classes based on the Infragistics UltraWinGrid control.

Nice Controls

This is a collection of WinForms controls.

MusicXML Stuff

This file can be used as an input file for XmlCodGen or as a template file for XML Chameleon:


Note that while this file works, it is not complete. Here is the documentation generated by XmlCodGen using this file:

MusicXML Documentation