在 F# 中的类型中声明泛型变量

Declaring a generic variable in a type in F#

如何声明我想要 'a 类型的东西,但我还没有任何价值。

type MyType<'a> =
    let mutable something:'a = ??
    let setSomething item:'a =
        something <- a

您可以使用 Unchecked.defaultof<'a>。也就是说,对我来说更好的方法是让 something 成为 'a.这样“没有价值”的意图就更明确了。

type MyType<'a> =
    let mutable something:'a option = None
    let setSomething (item:'a) =
        something <- Some a