DBには4つのテーブルがあり、それぞれにIdとNameがありますが、それらは異なるものを表しています。「もの」ごとに異なるクラスがあり、それらはすべて「もの」から継承します。私は4つの機能を持っています:
List<thing1> getAllThings1();
List<thing2> getAllThings2();
List<thing3> getAllThings3();
List<thing4> getAllThings4();
各関数は異なるテーブルから読み取り、必要なリストを作成します。
コードの重複を避けたいので、テーブル名(文字列として)とタイプ(thing1、thing2 ...など)を受け取り、を返すユーティリティ関数を作成したいと思いましたList<t>
。
残念ながら、これは不可能です(反映なしで): 変数タイプのリストを作成します
私の現在の解決策は、リストを返す関数を持っていることです。各「getAllThings#」で彼女を呼び出し、ConvertAllを使用してコンバーターを渡すことにより、リスト内の各「もの」を手動で適切なものに変換します。
私はこの解決策が好きではありません。リストを作成して新しいリストを作成するので、それは間違っていると感じます。非常に非効率的です。それを行うためのより良い方法はありますか?
ありがとう