Ich würde gerne eine Art "Funktionsaufruftabelle" implementieren, damit ich Functions über ein Dictionary und einen Schlüssel indirekt aufrufen kann. In C# gibt es dafür Delegaten und die Invoke()-Methode.
In X# habe ich es leider noch nicht geschafft, da ich noch kein Pendant zur Invoke()-Methode gefunden habe.
Hier ist mein kleines Beispiel:
Code: Select all
Delegate funDel() As String
FUNCTION f1 As string
return "Bewölkt"
FUNCTION f2 As string
return "Sonne"
FUNCTION f3 As string
return "Regen"
FUNCTION Start() AS VOID STRICT
Local funDic AS Dictionary<int, delegate>
Local f1del As funDel
Local f2del As funDel
Local f3del As funDel
f1Del := funDel{f1}
f2Del := funDel{f2}
f3Del := funDel{f3}
funDic := Dictionary<int, delegate>{}
funDic:Add(1, f1del)
funDic:Add(2, f2del)
funDic:Add(3, f3del)
Local z as int
Local rnd As Random
rnd := Random{}
z := 1
Local vorhersage as Delegate
vorhersage := funDic[z]
Local wetter as string
wetter := vorhersage
Console.WriteLine("Die Wettervorhersage für heute: {0}", vorhersage)
Console.ReadKey()
In der Doku bzw. dem Helpfile habe ich dazu nichts gefunden.
Danke schon einmal im Voraus für einen Tipp und viele Grüße,
Peter