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

Evi*_*eer 14 .net c# clr f# operators

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

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

Dan*_*iel 18

自定义运算符可以在C#中正常使用.这些名称是自动生成的,并且具有以下形式op_<symbol...>(请参阅MSDN上的重载运算符名称).

例如

let (|?) a b = ...
Run Code Online (Sandbox Code Playgroud)

可以作为op_BarQmark.

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