Die .Net-CLR als Makro-Baukasten
Zudem lassen sich damit problemlos Applikationen mit einer eigenen Plugin-Schnittstelle entwickeln, für die dann die Anwender Ihrer Software eigene Makros oder Module erstellen können, ohne auf eine IDE oder den Original-Sourcecode Ihrer Anwendung angewiesen zu sein.
Doch zunächst beschäftigen wir uns mit den Grundlagen des eingebauten Compilers: Wir erstellen ein universelles Programm namens css, das auf der Kommandozeile normalen C# Code direkt ausführt. Der Ablauf soll dabei genau so einfach sein wie bei den üblichen Macros für den Windows-Skripting Host: Man ruft das Tool auf und übergibt ihm lediglich den Pfad zu einer Datei. Nur enthält diese dann kein VB-Script oder JavaScript mehr, sondern völlig normalen C#-Code.
Diese Datei wird dann geladen, kompiliert und in eine Assembly überführt. Gelingt dies, werden die C#-Anweisungen direkt ausgeführt. Tritt ein Fehler auf, wird dieser mit entsprechenden Hinweisen angezeigt. Im Prinzip macht unser css also nichts weiter, als den Compiler und Linker mit dem übergebenen C#-Sourcecode aufzurufen und das Ergebnis auszuführen.