Se ho una classe C# con la conversione implicita di raddoppiare, in questo modo:Esiste comunque l'uso di operatori impliciti in C# da F #?
public class Parameter
{
private double _value;
public Parameter(double value) { _value = value }
public static implicit operator double(Parameter p) { return _value; }
}
F # non piace me cercando di usarlo come se fosse un float
:
let a = Parameter(4.0)
let b = Parameter(2.0)
let c = a * Math.Sin(b) <-- 'expected float, here Parameter'
C'è qualsiasi modo per farlo (suppongo che non ci sia, basato su this question/answer), e se no, quale sarebbe una soluzione decente?
Pensa: Posso aggiungere una proprietà 'Value' e usarla ovunque, non è bella, ma meno brutta che qualsiasi altra cosa possa pensare ... – Benjol
Purtroppo non ... http: //stackoverflow.com/questions/1686895/is-there-an-equivalent-to-creation-ac-sharp-implicito-operator-in-f –