如何检查两种类型是否可以比较,总结等?

时间:2010-03-25 19:15:02

标签: c# iconvertible

如果给出两种类型(类型a,类型b),是否有任何“好”的方法可以找到 如果这两个可以比较,总结等等?

我在考虑类型是否实现IConvertible,可以转换 两个都说十进制并执行“Convert.ToDecimal(a) > Convert.ToDecimal(b)”?

我正在构建一个表达式求值程序,并希望能够处理任何类型的对象,因此需要知道一个类型是否可以与另一个类型进行比较(它不必在两侧都是相同的类型。例如。double > int

1 个答案:

答案 0 :(得分:1)

您可以添加到类型取决于编程语言的绑定规则。 特别是隐式转换和重载解析。

从.net 3.5开始,类“Expression”和相关的助手类可以做到这一点。 Solution for overloaded operator constraint in .NET generics