A .NET Snippet Compiler
Lately, I found myself experimenting with Python. I like some of the ideas behind the language, especially the way it handles lists. But the only real use I could come up with is scripting. For that, I now use 'normal' cmd-style batch processing primarily, and looking into Powershell has been on my list for a while. IronPython integrates with the .NET framework, which should enable me to start writing concise, powerful scripts in no-time.
But hey, wait a minute. I'm trying to harness the power of .NET in things like file handling, XML, etc. So why not use VB.NET or C# directly? Can't I write scripts in those languages?
No - not easily, that is. You need Visual Studio to make an executable file for you. And sometimes that's just not what I want. The reason I use scripts for certain tasks is that you're supposed to be able to change things quickly.
I remembered that the .NET Framework allows you to compile code snippets - basically strings containing code. After some searching and fiddling I came up with CodeRunner, a class that compiles and executes code snippets via the command line. It enables you to write a small class along the lines of:
using System;
using System.IO;
public class Program
{
public static void Main()
{
DirectoryInfo dirInfo = new DirectoryInfo(".");
Console.WriteLine("Directory of " + dirInfo.FullName);
foreach (FileInfo f in dirInfo.GetFiles())
{
Console.WriteLine(string.Format("{0,-30} {1,10}", f.Name, f.Length));
}
Console.WriteLine("END");
}
}
You could write the same code in VB.NET, of course. The snippet requires a public class called Program containing a static method Main() - that's all.