【发布时间】:2010-12-11 19:53:34
【问题描述】:
我正在使用 WPF 扩展工具包 (http://wpftoolkit.codeplex.com/)。
它有一个不错的 NumericUpDown 控件,我想使用它,但在内部它使用双精度 - 这意味着它使用 double.MinValue 和 double.MaxValue。
我想使用相同的控件,但我需要一个通用版本 - 对于整数,它需要使用 int.MaxValue/MinValue,对于浮点数 float.MaxValue/MinValue 等(我想你明白了: ))
所以我想将 NumericUpDown 复制到 GNumericUpDown,其中 T 当然是 Type.. 但这不起作用,因为泛型类型没有 MinValue / MaxValue。 通常我会使用“where”子句来指定基本类型,但这不起作用,因为没有定义“MinValue”和“MaxValue”的通用接口。
有没有办法用泛型解决这个问题,还是我真的需要复制/粘贴/搜索和替换每种类型的原始 NumericUpDown ?
【问题讨论】:
-
您更关心的是如何使用泛型类型进行算术运算...参见Marc Gravell's work with Expression Trees for that。
标签: c# generics floating-point int double