dire que nous avons une fonction très simpleToString lance NullReferenceException pour valeur unitaire()
let fn a = a.ToString()
Il est le type se déduit que a -> string
Cependant, le passage d'une valeur unitaire à la fonction des résultats dans un NullReferenceException.
En cas de fonctions simples comme ci-dessus, cela pourrait être contourné facilement, mais je suis en fait dans un scénario plus complexe:
let eitherToHttp e =
match e with
| Either.Ok v -> OK (v.ToString())
| Either.Bad reason -> reasonToErrorCode reason
Le type de c'est Either<'a, RejectReason> -> WebPart
(ce WebPart
et Either
sont en réalité est non pertinent ici)
Dans un scénario où le type de e
est Either<unit, RejectReason>
la fonction jette exactement comme dans le scénario simple.
Comment puis-je surmonter cela d'une manière agréable? Faut-il en déduire que les types sont génériques si, en fait, cela ne fonctionne pas pour TOUS les types?
L'unité est représentée par la constante 'null' à l'exécution, donc vous ne pouvez naturellement pas appeler des méthodes. –