如果我有一个隐式转换为 double 的 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'
有没有办法做到这一点(我猜没有,基于这个问题/答案),如果没有,什么是体面的解决方法?