Die .Net-CLR als Makro-Baukasten

Kompliziert: Array aus Strings als erstes Array-Element

Beim zweiten Parameter handelt es sich um ein Array aus Objekten, das die Parameter für die aufzurufende Methode enthält. Dabei muss die Array-Größe der Anzahl der Parameter der Zielmethode entsprechen, und die einzelnen Objekte im Array müssen auch zum Typ der Parameter der Zielmethode kompatibel sein.

Nun erwartet die Zielmethode ein Array aus Strings als Parameter. Für das Verständnis ist es nun wichtig, dass das Array selbst ja auch ein Objekt ist: Die Zielmethode Main erwartet also genau einen Parameter.

Das bedeutet, dass das Array aus Objekten für den Aufruf von Invoke() genau ein Element groß sein muss, und dieses eine Element muss vom Typ Array aus Strings sein. Nun ist es ganz praktisch, wenn man den C#-Skripten später Parameter von der Kommandozeile aus übergeben kann. Man ruft css dann also mit mehreren Parametern auf: Der erste ist weiterhin das auszuführende C#-Programm, die folgenden Parameter sind die Parameter, die an dieses Programm übergeben werden.