Just published the latest release v1.10.1124.358 of the C# Library hosted on google code. Major new functionality in the form of the new assembly CSharpTest.Net.RpcLibrary. This library wraps PInvoke calls to the Win32 RPC APIs. This allows pure managed C# applications the ability to move byte arrays over the supported rpc protocols. The following is [...]

 

Changes in this release: Added CSharpTest.Net.Generators.exe to integrate with the CmdTool’s VS integration: Provides ResX loose-typed string formatting via simply using “{0}” in a resource string. Provides ResX strong-typed string formatting via resource names like “Name(string x)” Adds exception generation to resources via names like “NameException” Exceptions can be derived from explicit type via comments: [...]

 

So first off this is not new, it’s been around for a long, long while. One issue I have with IDisposable is that for whatever reason .Net did not include a base class for handling the details… I admit you may not always be able to leverage it since you may have a base class, [...]

 

This one is actually something of a triviality, yet it can be very useful at times. Now a word of caution is due here, this object is built on System.Threading.Timer and should not be used to enqueue 12 million work items. Yet if you need to perform a simple task at some time in the [...]

 

Changes in this version: Added CmdTool.exe – the last Visual Studio code generator you’ll ever need :) Code generation made easy, just write a command line tool. No shutting down Visual Studio when you change your code generation tool. Integrates with Visual Studio 2005, 2008, or 2010. Displays console output in Visual Studio’s output window. [...]

 

Changes in this version: Library.Crypto namespace was added with a fairly complete cryptography API (at least what I needed) including: Added Library.Crypto.WhirlpoolManaged a managed implementation of the whirlpool hash function. Added Library.Crypto.Password to wrap up the complexities of using a password for authentication and/or encryption. Library.IO namespace was added to include several new stream derivations [...]

 

This plugin should now be functional on 64-bit installations of TortoiseSVN, use the x64 installation from: https://github.com/csharptest/JiraSVN/archives/master Let me know if you have any difficulties.

May 102010
 

Recently I was killing time on stackoverflow and found this question: What is the best comment in source code you have ever encountered? There are a lot of great quotes in there. If you haven’t seen it already it worth a read when you want to kill some time. I’d also add my own to [...]

 

As promised in the previous post “How to implement a generic Shallow-Clone for an object in C#” this will demonstrate deep-cloning objects that don’t explicitly support the behavior. Before I continue I will again state that I don’t recommend this approach. It will be many times slower than a properly implemented Clone() and can cause [...]

 

Changes in this version: CSBuild initial release – a command-line compilation utility that drives MSBuild to compile designated project files. Added Library.Cloning namespace to support deep-object cloning of any object using either memberwize or serializable copy. Added Library.Collections.ReadOnlyList to provide a read-only collection interface and implementation. Added Library.Collections.OrdinalList to provide a collection of integers stored [...]