我正在使用C#实现一个玩具语言的解释器,为了在该语言中进行数学运算,我想要实现以下函数:
public static object Add( object a, object b )
{
// return the sum of a and b
// each might be int, double, or one of many other numeric types
}
我可以想象出一个非常愚蠢和糟糕的实现方式,它会根据a和b的类型(使用is运算符)分支成很多个,并且还需要进行许多强制类型转换,但我的直觉告诉我有更好的方法。
你认为这个函数的良好实现方式是什么?