在C#中使用自定义F#运算符?

时间:2014-04-08 15:34:42

标签: c# .net f# operators clr

我偶然发现可以在F#中定义自定义运算符这一事实。另外,我相信可以在C#中重用F#代码。

是否可以在F#中创建自定义运算符,在C#中引用项目然后在C#中重用运算符?例如,假设我要将.?运算符定义为F#中的某些内容,然后我可以在C#项目中以某种方式重用它吗?

1 个答案:

答案 0 :(得分:17)

自定义运算符可以在C#中正常使用。这些名称是自动生成的,格式为op_<symbol...>(请参阅MSDN上的Overloaded Operator Names)。

例如

let (|?) a b = ...

将以op_BarQmark提供。

但是,正如Mau在评论中指出的那样,你只能将它从C#用作方法,而不是运算符