我在数据库中有 4 个表,每个表都有 Id 和 Name,但它们代表不同的东西。对于每个“事物”,我都有一个不同的类,它们都继承自“事物”。我有 4 个功能:
List<thing1> getAllThings1();
List<thing2> getAllThings2();
List<thing3> getAllThings3();
List<thing4> getAllThings4();
每个函数从不同的表中读取并创建所需的列表。
因为我想避免代码重复,所以我想创建一个实用函数来接收表名(作为字符串)和类型(thing1、thing2 ... 等),然后返回List<t>
.
不幸的是,这是不可能的(没有反射): 创建变量类型列表
我目前的解决方案是我有一个返回列表的函数,我在每个“getAllThings#”中调用她,然后使用 ConvertAll 手动将列表中的每个“事物”转换为正确的事物,并将一些转换器传递给他。
我不喜欢这个解决方案,感觉不对,因为我创建了一个列表并创建了一个新列表。非常低效。有更好的方法吗?
谢谢