我正在为C#开发人员编写一个库.该库是用F#编写的.C#开发人员希望++在其中一个对象上使用operator.我怎样才能做到这一点 ?
我在网上查了一下,发现++后增量算子在F#中是不可能的.
即使F#没有++运算符,您仍然可以定义支持它的F#类型:
type A(n:int) =
member x.N = n
static member op_Increment (a:A) = A(a.N + 1)
Run Code Online (Sandbox Code Playgroud)
诀窍是你必须使用op_Increment方法的名称,因为这是C#用于++运算符的.不幸的是,F#不理解运算符,所以如果你编写member (++) ...,编译器将调用该方法op_PlusPlus.
| 归档时间: |
|
| 查看次数: |
129 次 |
| 最近记录: |