Du musst nicht einen String oder eine Zahl übergeben. Du kannst auch komplexe Objekte wie eine Map oder eine Liste übergeben. Im Grunde also kannst Du so viele Werte übergeben wie Du möchtest. Callsub2 (oder Callsubdelayed2) and übergebe eine Map mit allen Werten
Brauchst Du dieses CallSub wirklich dynamisch das es die Sub erst finden muß zum ausführen?
Normal spricht man eine Sub mit Klassenname.SubName an. Die Sub in einer Klasse muß Public sein.