I am going to insert this post ahead of the next ORM post because it plays a role in how I use ORM tools. And because my friend Mike Kelly blogged about it and it's add-ins recently here.
Lutz Roeder graciously created a program call Reflector which he gives away free of charge. He actively supports and maintains it as well. More importantly he had the forethought to make it extensible via a documented plug-in/add-in interface and the community has responded with a slew of add-ins for the product.
So what is Reflector? According to it's author it is:
Reflector is the class browser, explorer, analyzer and documentation viewer for .NET. Reflector allows to easily view, navigate, search, decompile and analyze .NET assemblies in C#, Visual Basic and IL.
And that does about sum it up, but does not do it justice. If you hail from pre .NET VB then think of it as Object Explorer on steroids. In short it is a tool that lets you spelunk into the bowels of the CLR as well as any other CLS based assembly.
You can decompile the code of any call in either C# or VB.NET and I believe some of the add-ins allow you to decompile to other languages as well.
It's small, fast, you can run it from a USB Key, (provided the .NET Framework is on the system) and it is fantastically stable and fast.
Run to your browser and add this to your toolkit. It truly is a "no brainer" addition.
Cheers,
Robert Porter