如果我有一個隱式轉換C#類翻一番,像這樣:是否有使用F#的C#隱式運算符?
public class Parameter
{
private double _value;
public Parameter(double value) { _value = value }
public static implicit operator double(Parameter p) { return _value; }
}
F#不喜歡我嘗試使用它,彷彿它是一個float
:
let a = Parameter(4.0)
let b = Parameter(2.0)
let c = a * Math.Sin(b) <-- 'expected float, here Parameter'
有任何方式來做到這一點(我猜根據this question/answer)沒有,如果不是,什麼是一個體面的解決方法?
想一想:我可以添加一個'Value'屬性,並在任何地方使用它,它不是美麗的,但不那麼醜陋,我可以想到的其他任何東西... ... – Benjol
可悲的是不... .../1686895/is-there-an-equivalent-to-creating-ac-sharp-implicit-operator-in -f –