I made some updates to my commons library. It is just a set of utility classes that I find useful. At the moment it contains:
- Static Reflection
- Bulk Deleter
- Collection Actions - Find, Select All, Select All Not, etc
- Date Range with operations - For Each Day, For Each Week, For Each Month, etc.
- Disposable Action
- EventArgs <T> - Which should have been in the BCL.
- Property Indexers
- Validation - mostly trivial stuff
- Abortable Thread Pool - slightly modified from the MSDN version.
- Local Data - See below
The thing that I use more than anything, though, is local data handling. I am pretty sure that I blog about this before, but I can't find it now. The idea is to give you a simple hashtable of values that you can rely throughout your code. If you are working in Web context, it is using the Context.Items hash, and if you are working in a non-web context, you use a thread static hashtable.
This allows me to ignore where I am, and put stuff there that I know are private to my current logical thread of excutions.
You can find the bits here