gpt4 book ai didi

f# - 在 F# 中是否不可能重载后增量运算符

转载 作者:行者123 更新时间:2023-12-05 01:33:42 25 4
gpt4 key购买 nike

我正在为 C# 开发人员编写一个库。该库是用 F# 编写的。 C# 开发人员希望在其中一个对象上使用 ++ 运算符。我怎样才能做到这一点 ?

上网查了一下,发现++后自增运算符在F#中是没有的。

最佳答案

即使 F# 没有 ++ 运算符,您仍然可以定义支持它的 F# 类型:

type A(n:int) = 
member x.N = n
static member op_Increment (a:A) = A(a.N + 1)

诀窍是您必须为方法使用 op_Increment 名称,因为这是 C# 用于 ++ 运算符的名称。不幸的是,F# 不理解运算符,因此如果您编写 member (++) ...,编译器将改为调用方法 op_PlusPlus

关于f# - 在 F# 中是否不可能重载后增量运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24561569/

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