Если у меня есть класс С# с неявным преобразованием в double, вот так:
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'
Есть ли способ сделать это (я предполагаю, что нет, на основе этого вопроса/ответа), а если нет, то какой достойный обход?