gpt4 book ai didi

c# - .Net 对结构类型的泛型约束

转载 作者:太空宇宙 更新时间:2023-11-03 17:13:47 25 4
gpt4 key购买 nike

我正在尝试创建一个泛型类,其实现取决于类型是 Int32Int64doublefloat ,或十进制

class Calculator<T> where T: int, double, float, decimal

这是不对的,但我在语法上遇到了问题

最佳答案

I am trying to create a generic class whose implementation depends on the type being an Int32, Int64, double, float, or decimal.

那么它就不是通用的。通用类型是一种对所有可能的类型参数都以相同方式工作的类型,例如通用队列或通用字典。

“计算器”类是为此类功能提供的最常见场景;我们一直收到此功能请求。我们假设将其用于尚未公布且不存在的假设 future 版本的 C#。正确执行此功能需要 CLR 的假设 future 版本的大量支持,该版本也尚未公布且不存在。随着这些事情的进行,场景的优先级并不是特别高,所以如果没有实现,请不要失望。

可以通过多种方式显示此类功能。例如,我们可以说您可以将静态方法放在接口(interface)中。数学运算符是静态方法,因此您可以将类型参数约束为实现静态接口(interface) IAddable 或类似东西的类型。

请记住,Eric 对不存在且可能永远不存在的未发布产品的 future 所做的任何思考仅供您娱乐。

关于c# - .Net 对结构类型的泛型约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7690877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com