2013-02-26 47 views
4

F#如何處理來自其他.NET語言的重載操作符。其他.NET語言的重載操作符

例如,我正在使用一個庫,其中!=已被重載以返回對象本身的新實例。

例如,

Object newObject = a != b; 

當我使用<>運算符在F#的同一個對象上被返回bool類型的值。這是什麼原因?不應該使用重載操作符?如果不是,我該如何將這些運算符重載擴展到F#?

回答

2

大多數重載運算符(+,*等)都可以從F#調用而不會出現問題。但是,F#的等式和比較運算符不會超載(F#使用結構等式代替),因此您需要手動調用自定義運算符(例如MyType.(<>))。