Skip to main content
 首页 » 编程设计

c#之如何为泛型类型实现 == 或 >= 运算符

2024年02月24日20yxwkf

我有一个泛型类型 Foo,它有一个内部泛型类 Boo。 Boo 类是 K 类型的属性值。在 Foo 内部的方法中,我想执行 boo.Value >= value 请注意,第二个操作数的值是 T 类型。编译时出现以下错误:

Operator '>=' cannot be applied to operands of type 'T' and 'T'

谁能告诉我这里有什么问题吗?

请您参考如下方法:

将类型参数限制为 IComparable ,然后您可以使用 CompareTo 方法实现操作。当然,您无法将泛型类用于每种类型,但我认为可以使用 >、<=、... 等运算符进行比较的每种内置类型都实现了此接口(interface)。

最好的问候,
奥利弗·哈纳皮