wie übergeben mehrere Parameter an eine Methode in java Reflexionen
Hallo, ich bin mit Reflexionen etwas zu erreichen.
Ich habe Klassennamen, Methodennamen der Klasse und die Werte der parameter, die übergeben werden muss, um diese Methode in eine Datei(Nehmen Sie eine beliebige Datei. Kein Zwang).
Ich habe zu nennen, dass die Methode mit den Parametern. Diese Methoden nichts zurück.
Es gibt eine riesige Liste von Methoden dieser Klassen und parameter Liste der einzelnen variiert.
E. g: method1(String, String, int, boolean)
method1(String, int, boolean)
und ebenso habe ich verschiedene Permutationen und Kombinationen.
Also, wie kann ich dies erreichen.
Ich habe versucht, hart zu Kodieren Dinge mit verschiedenen switch-Klauseln aber es ist ein echter Aufwand und riskant zu halten.
Können wir dynamisch tun, dieses Ding, wie on-the-fly Lesen Sie den Namen der Methode und deren parameter aus der Datei und nennen Sie es.
Jede kleine code snippets hilfreich sein.
TIA.
Denken Sie daran, mit StackOverflow formatieren, müssen Sie die EINGABETASTE drücken, zweimal.
Kannst du die permutation, Kombination der Parameter der Methode ?
hier sind die verschiedenen Beispiele meiner Methoden:
hier sind die verschiedenen Beispiele meiner Methoden: 1) login(String url,String username,String password) 2) login() 3) selectModel(String modelName) 4) selectControl(Stirng controlLabel, String value) 5) selectControl(String controlLabel, int Anzahl, String value) @J. Rush können Sie mir kleinen code-snippet, das von der gleichen auf der Grundlage der oben beschriebenen Methode Proben. ? TIA
InformationsquelleAutor Mrunal Gosar | 2013-04-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hallo alle ich habe die Lösung gefunden, um die oben genannte Frage. unten ist der Beispiel-code-snippet.
Ich hoffe das hilft anderen auch.
ich bin einfach mit der Tastenkombination Strg+K durch auswählen der Zeilen von code formatieren Sie den code. Das, was die code-Formatierung Warnung aufgefordert werden, formatieren Sie den code. Jedenfalls ab dem nächsten mal Mach ich sicher. Dank
Danke Mann, ich bin irgendwie neu auf Java, und ich kämpfte mit diesem, nur eine Frage. Warum verwenden Sie Integer.Art und nicht .Klasse?
wenn Sie diese Zeile sehen, cls.getDeclaredMethod(methoName, params); hier haben wir zu übergeben, als zweites argument als array von parameter-Typen.. So das ist, warum ich verwenden Sie Integer.Geben
InformationsquelleAutor Mrunal Gosar
Ausgabe:
Hoffe, das hilft.
Ich weiß nicht, ob dies ist ein neues feature in Java, aber ich habe gesehen, dass Sie verwenden können, aufrufen, nun mit Parameter, anstelle von einem array, das könnte Ihr code besser zu Lesen (Das ist der alternative Weg). Wenn Sie eine variable Anzahl von Argumenten, und Sie wissen nicht im Voraus, wie viele es sein werden, die Zuweisung der array ist defeinitly funktioniert und sollte auch backwardcompatible.
InformationsquelleAutor Devolus
Eine einfache Lösung wäre eine
Class
mit dem Argumente übergeben werden:Unter der Annahme, dass Sie aufrufen möchten, eine Klasse
Foo
mit einer Methode namensbar
.Dann wäre es so geschehen.
InformationsquelleAutor Charindu Edirisooriya