2009-08-31 8 views
38

Wie kann ich eine Methode auf der Grundlage der Wert einer Zeichenfolge in Groovy aufrufen? Zum Beispiel stattAufrufname der Methode in einer Zeichenfolge enthalten

switch (val) { 
case "one": 
    Obj.one() 
    break 
case "two": 
    Obj.two() 
    break 
} 

Ich möchte so etwas wie obj.val tun, wo val enthält entweder „ein“ oder „zwei“ statt einer Case-Anweisung.

Antwort

78

Dynamic method invocation sieht wie folgt aus

obj."$val"() 
+5

Der angegebene Link ist tot. Dieser könnte das Thema behandeln: http://www.groovy-lang.org/metaprogramming.html#_dynamic_method_names – chrish

Verwandte Themen