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.