This project is read-only.

Project Description

A library of useful extensions to the .NET library.


Each component should adhere to the following principals:
  • Flexible - allow you to easily complete the majority of tasks but provide enough hooks to handle the rest
  • Reusable - represent a distinct function, behavior, or process that depend on other components as needed
  • Testable - utilize standard testing facilities
  • Understandable - use snippets, samples and self documentation
  • Usable - easily integrated with existing or new applications, configured programmatically or through the designer
  • Valuable - provide an improved service or satisfy a deficiency in the base framework


This project has only recently begun, inspired by a desire to cleanup the various libraries and classes that I have developed over the years. I will be fully integrating those as this progresses.
  • DotNetLib
  • DotNetLib.Collections.ObjectModel
    • Dictionary(TKey, TValue) - Base class for custom Dictionary types, similar in concept to System.Collections.ObjectModel.Collection(T)
  • DotNetLib.Compact
    • Video - a class to programmatically turn on of off the display of a Smart Device
  • DotNetLib.Data
    • DataRowExtensions - extensions and utility functions for dealing with data rows
    • DataTableExtensions - extensions and utility functions for dealing with data tables
    • IDataReaderExtensions - extensions and utility functions for dealing with data readers
    • IDbCommandExtensions - extensions and utility functions for dealing with data commands
    • IDbConnectionExtensions - extensions and utility functions for dealing with data connections
  • DotNetLib.Drawing
    • ImageExtensions - extension class for an Image to provide resizing, gray scale, byte array conversions, and alpha blending
  • DotNetLib.IO
    • FileInfoExtensions - extensions and utility functions for dealing with files
    • IniFile - INI file reader/writer
  • DotNetLib.Security
    • HashExtensions - extensions and utility functions for dealing with hashes
    • PronounceablePasswordGenerator - generator that produces pronounceable, easy to remember and easy to type passwords
  • DotNetLib.ServiceProcess
    • TaskServiceBase - simple base class for windows services that run a task at a certain frequency
  • DotNetLib.Text
    • StringBuilderExtensions - extensions and utility functions for dealing with string builders
  • DotNetLib.Windows
    • HotKeyHandler - a class to manage system-level hot-keys
    • Shell - a class that wraps some Windows shell function (like moving a file to Recycle Bin, adding a file to the Recent Docs menu...)
    • SingleProgramInstance - a class to manage applications that must be single instanced
  • DotNetLib.Windows.Forms
    • CommandLink - Vista styled CommandLink that uses native support if available, fails back to custom painting for legacy OS support
    • LinkLabel - automatically choose a more Vista appropriate LinkColor and provides a convenience property for auto launching a file/program/uri.
    • ListView - enables Vista styling as appropriate
    • MessageBoxHelper - utility functions for automatically handling RTL for message boxes
    • ProgressDialog - a common dialog like form for showing progress for a long running task
    • TextBox - enables cue banner functionality as appropriate
    • TreeView - enables Vista styling as appropriate
    • VisualStylesProvider - enables Vista styling as appropriate without having to change the types of the controls on your form
    • Wizard - Vista styled Wizard that is custom implemented, planned refactoring to utilize built in wizard support on Vista

Please use the issue tracker and discussion features of this project to communicate your ideas or frustrations.

Last edited Oct 9, 2010 at 5:51 AM by joshucar, version 11