请大家讨论:如何根据从数据库读取的值决定调用类的哪一个方法?
想实现一个这样的功能,请大家讨论该如何实现:
根据从数据库读取的结果,决定调用类中的哪一个方法.
原来的需求是这样的:在数据库的表中,其中的某列的值是根据其他列的值经过比较复杂的计算得出来的,而且可能有多个不同的方法来计算,这些方法已事先做到某个类中,并且其名称,返回值类型,参数等信息均已保存在数据库中.希望能做到让用户自已选择所用的方法.
举例说明如下:
有数据库表Table1如下:
列1 列2 列3 列4
5 8 2 X
3 7 9 X
6 3 1 X
...
其中列4的值是我们要求的结果.根据其他列的值通过一定计算得出的.而这种计算的方法有3种,用户可以根据需要选择.
方法一:列4 = 列3 + 列2 * 列1
方法二:如果列1的值大于5,列4=列2+列3.否则列4=列2-列3
方法三:如果列1*列2是偶数,则列4=列1,否则列4=列2
现在这三个计算方法都已做为类的方法写到类的代码中,数据库中也保存了每个方法的返回值,参数,参数与列的对应表,但使用哪个方法是由用户决定的.
我原来考虑用委托来实现,但各个方法的返回值与参数类型均不相同,比较难实现.请大家讨论有什么比较好的办法.