ich ein Problem in meinem Code haben: Ich habe einige Klassen, die eine Schnittstelle wie folgt implementiert:ein Objekt zu füllen, ohne die reale Art des Objekts zu wissen
public interface MyInterface{
puclic void myMethod{...}
}
public class Class1 implements MyInterface{
private int choice1;
private String choice2;
(Override of the other method define in interface)
}
public class Class2 implements MyInterface{
private String choice1;
private int choice2;
(Override of the other method define in interface)
}
in meinem Modell Diese Klassen sind, würde Ich mag um die Ansicht zu bitten, jeden der Parameter in diesen Klassen einzeln auszuwählen und die Auswahl der Ansichten eins zu eins im Modell zu speichern, aber ich muss meinen Controller verwenden, um die Eingabe zu verifizieren. Das Problem ist, dass ich in der Steuerung den Typ des Objekts nicht kenne, so kann ich nicht die spezifische Methode abrufen oder setzen. Außerdem kann ich es nicht in die Schnittstelle schreiben, weil ich verschiedene Parameter in Class1 und Class2 habe. Also ich weiß nicht, wie Sie die Auswahl im Modell speichern können.
Sie können reflection verwenden, um die Namen der Felder sowie ihre Klassentypen zu erhalten. – ControlAltDel
"Das Problem ist, dass in der Steuerung ich nicht den Typ des Objekts kenne, so kann ich nicht die spezifische Methode abrufen oder setzen." Warum sollte der Controller nicht eine "areYouValid" -Methode aufrufen? Weil jede Eingabe wissen sollte, was ihre gültigen Werte sind. – Fildor