1

我正在努力:

let mutable ncon : NCon = null

并得到:

Error   1   The type 'NCon' does not have 'null' as a proper value

以这种方式声明类型的位置

type NCon(settings : ISettings) = ...

我打算将它用作静态属性并稍后在用户完成设置时对其进行初始化,那么我做错了什么?为什么我不能用 null 初始化可变类型?

我必须使用选项吗?所以让它成为 None 或 Some ?

4

1 回答 1

6

您必须像这样向您的 NCon-Type提供AllowNullLiteral :

[<AllowNullLiteral>]
type NCon(settings : ISettings) = ...

这是因为 F# 阻止您使用 Null ...恕我直言,这不是一个坏主意

对于您的其他问题:是的,我宁愿使用一个选项——我也会考虑使用一个参考单元——但这取决于你想用它做什么。

于 2012-10-26T07:10:59.693 回答