My last post reguarding “Deadlocks and other issues with Invoke / BeginInvoke” was something of a rant on the subject of WinForms and multi-threading. I thought I’d post on the useage of the solution that was presented originally on the stackoverflow article. The following defines the interface portion of the class: public class EventHandlerForControl<TEventArgs> where [...]

 

Let’s face it, using the System.Diagnostics.Process to run a process and capture the output is not as easy as it should be. People often get it wrong without realizing it. Adding to the complexities can be reading both the standard output as well as the standard error stream. To put this to bed once and [...]

 

For many years (more than I care to remember) I have continually written code to provide command-line behavior over and over again. On occasion I would get fancy in one project or another and build something sorta-generic; however, every time it came to creating the next command-line tool I started from scratch. Finally I said [...]

 

A brief how-to on providing user settings in your application. First, if you want to provide defaults, you want to add the following to the application’s configuration: Notice there are two levels of the <add> tag, one is ‘global’ settings, the other is segregated off in a named section. Reading this information is along the [...]

 

I’ve just finalized version 1.0.723.126 and it is now available from google code. The majority of the update involves the introduction of a TortoiseSVN comment dialog. The dialog currently has only defect tracking implementation for Jira, but it allows you see a list of defects, check off the related ones, optionally resolve/assign the issue… All [...]

 

Last night I published a new version (1.0.401.118) of the source out to the google code repository. A few small fixes/enhancements to some of the existing shared code but for the most part this is adding the additional library: CSharpTest.Net.Library. The library includes several things I’ve been using a for a while on a project [...]

 

Not that I personally feel strongly about this, but some like to have a help file to browse. I am much more partial to C# and test-cases as documentation; however, this was really quick effort thanks to Dave Sexton’s work on DocProject. It greatly simplified the entire help-building process into something easy and repeatable thanks [...]

 

QuickLog is an EXTREMELY basic implementation of a logging API. Easy to extend by implementation of an event but sufficient to use by itself for some needs. It’s own API can be used directly or all calls to System.Trace.Write(…) will also be directed to the current output log file. The log does not roll until [...]

 

FileList is a simple file enumeration class that can be used to easily find sets of files. Provide it a list of directory and/or file names and simply let it figure it out. It will raise an event for custom filtering or has some simple attribute-level filtering built-in. FileList files = new FileList(@”C:\Temp\*”); files.Add(@”C:\boot.ini”); files.Add(@”C:\*.bat”); [...]

 

The shared XmlConfiguration utility contains a templated base class used to implement a basic System.Configuration.ConfigurationSection. The class simply uses an XmlSerializer for the type argument specified and deserializes while validating against an XSD file. It’s extremely easy to use as all you need is an xml serializable class to represent your configuration section. To declare [...]