我尝试着:
let mutable ncon : NCon = null
Run Code Online (Sandbox Code Playgroud)
得到:
Error 1 The type 'NCon' does not have 'null' as a proper value
Run Code Online (Sandbox Code Playgroud)
其中type以这种方式声明
type NCon(settings : ISettings) = ...
Run Code Online (Sandbox Code Playgroud)
我打算将它用作静态属性,稍后当用户完成设置时启动它,那么我做错了什么?为什么我不能用null初始化mutable类型?
我必须使用选项吗?所以要使它成为无或有些?
您必须向NCon-Type 提供AllowNullLiteral,如下所示:
[<AllowNullLiteral>]
type NCon(settings : ISettings) = ...
Run Code Online (Sandbox Code Playgroud)
这是因为F#阻止你使用Null ...这不是一个坏主意恕我直言
对于你的其他问题:是的我宁愿使用一个选项 - 我也会考虑使用ref-cell - 但这取决于你想用它做什么.
| 归档时间: |
|
| 查看次数: |
352 次 |
| 最近记录: |