我偶然发现可以在F#中定义自定义运算符这一事实。另外,我相信可以在C#中重用F#代码。
是否可以在F#中创建自定义运算符,在C#中引用项目然后在C#中重用运算符?例如,假设我要将.?
运算符定义为F#中的某些内容,然后我可以在C#项目中以某种方式重用它吗?
答案 0 :(得分:17)
自定义运算符可以在C#中正常使用。这些名称是自动生成的,格式为op_<symbol...>
(请参阅MSDN上的Overloaded Operator Names)。
例如
let (|?) a b = ...
将以op_BarQmark
提供。
但是,正如Mau在评论中指出的那样,你只能将它从C#用作方法,而不是运算符。