Gibt es eine Möglichkeit auf diskriminierten Union Funktionen Mustervergleich, zB: -Muster auf einer diskriminierte Vereinigung passenden
type Test =
| A of string
| B of int
| C of char
let DefaultTest t =
match t with
| A(_) -> A(null)
| B(_) -> B(0)
| C(_) -> C('\u0000')
let a = A |> DefaultTest
Offensichtlich ist dieser Code nicht gültig F # als DefaultTest einen Parameter vom Typ-Test akzeptiert und nicht als " a -> Test. Gibt es eine Möglichkeit, dies zu erreichen ohne Angabe eines Wertes für die diskriminierte Union?
Was ich letztlich bin, ist eine Funktion, die eine Funktion des Typs 'a -> Test eingibt und Test (Standardwert von' a) ausgibt.
Brilliant. Genau das brauche ich! Ich fühle mich jetzt sehr dumm ...! – ljs
Ich fand auch A |> fun f -> Unchecked.defaultof <_> |> f ziemlich lecker zu sein !!! – ljs
Möchten Sie "A Unchecked.defaultof <_>" mehr? – Brian