Czy mimo to należy używać niejawnych operatorów C # z F #?
Jeśli mam klasę C # z niejawną konwersją na podwójną, tak:
public class Parameter
{
private double _value;
public Parameter(double value) { _value = value }
public static implicit operator double(Parameter p) { return _value; }
}
F # nie podoba mi się, że próbuję go używać, jakby to byłofloat
:
let a = Parameter(4.0)
let b = Parameter(2.0)
let c = a * Math.Sin(b) <-- 'expected float, here Parameter'
Czy jest jakiś sposób, aby to zrobić (domyślam się, że nie ma, na podstawieto pytanie / odpowiedź), a jeśli nie, jakie byłoby godne obejście?