2011-01-03 17 views
1

Sagen Sie eine Methode haben:Gibt es einen guten Grund, Metaprogrammierung zu verwenden, um den Rückgabetyp einer Methode zu ändern?

boolean test() { return true; } 

Wäre es immer eine gute Idee sein metaprogramming zu verwenden, um es zu ändern, um einen String zurück:

String test() {return "test"} 

Ich denke metaprogramming für die Verwendung ist verwirrend und sollte vermieden werden, da es die öffentliche Schnittstelle ändert, die der aufrufende Code erwartet. Hat jemand ein Beispiel dafür, wann es eine gute Idee wäre?

Antwort

1

denke ich, wenn Sie dynamisch verschiedene Arten zurückkehr wäre es sinnvoll, nur die Methode Rückkehr als def geben wie:

def test() { 
    if (something) { 
     return true 
    } else { 
     return 'test' 
    } 
} 

So Ihre Frage zu beantworten, nein, ich glaube nicht, dass es jemals sei eine gute Idee. :)

Verwandte Themen