我偶然發現可以在F#中定義自定義運算符。另外,我相信可以在C#中重用F#代碼。在C#中使用自定義的F#操作符?
是否有可能在F#中創建自定義運算符,在C#中引用該項目,然後在C#中重新使用該運算符?例如,假設我要將F#中的.?
運算符定義爲某些東西,那麼我可以以某種方式在C#項目中重用它嗎?
我偶然發現可以在F#中定義自定義運算符。另外,我相信可以在C#中重用F#代碼。在C#中使用自定義的F#操作符?
是否有可能在F#中創建自定義運算符,在C#中引用該項目,然後在C#中重新使用該運算符?例如,假設我要將F#中的.?
運算符定義爲某些東西,那麼我可以以某種方式在C#項目中重用它嗎?
自定義運算符可以在C#中使用得很好。這些名稱是自動生成的,格式爲op_<symbol...>
(請參閱MSDN上的Overloaded Operator Names)。
例如
let (|?) a b = ...
將可作爲op_BarQmark
。
但是,正如Mau在他的評論中指出的那樣,您只能從C#中作爲方法使用它,而不是運算符。
正如答案所指出的那樣,您可以,但是您將只能從C#將其用作方法,當然不是操作員。 – Mau
恥辱,但它必須做。謝謝;) – EvilBeer