如果给出两种类型(类型a,类型b),是否有任何“好”的方法可以找到 如果这两个可以比较,总结等等?
我在考虑类型是否实现IConvertible
,可以转换
两个都说十进制并执行“Convert.ToDecimal(a) > Convert.ToDecimal(b)
”?
我正在构建一个表达式求值程序,并希望能够处理任何类型的对象,因此需要知道一个类型是否可以与另一个类型进行比较(它不必在两侧都是相同的类型。例如。double > int
)
答案 0 :(得分:1)
您可以添加到类型取决于编程语言的绑定规则。 特别是隐式转换和重载解析。
从.net 3.5开始,类“Expression”和相关的助手类可以做到这一点。 Solution for overloaded operator constraint in .NET generics