Przeciążone operatory inline w F #: (| + |)

Próbuję zdefiniować przeciążony operator, np.|+|, jak poniżej:

let inline ( |+| ) (m1 : #IMeasurable) (m2 : #IMeasurable) = m1.Measure + m2.Measure

Problem polega na tym, że nie mogę zrobić czegoś takiego:

let three = m1 |+| m2 |+| m3

Ponieważ operator|+| nie jest zdefiniowany dla sprawy(m1 : int) (m2 : #IMeasurable). Czy istnieje sposób na przeciążenie tego operatora lub użycie ograniczeń typu statycznego, aby umożliwić powyższe wyrażenie? Czy istnieje sposób modyfikacjiIMeasurable (które mogę edytować), aby było to możliwe? Coś jeszcze, co pozwoliłoby powyższemu wyrażeniu działać?

Dziękuję Ci.

questionAnswers(2)

yourAnswerToTheQuestion