我正在尝试将现有的c#移植到f#,并且我会在移植此c#行时遇到困难:
public object myInnerOject
Run Code Online (Sandbox Code Playgroud)
Tom*_*cek 23
在C#object中只是一个引用的类型名称System.Object.在F#中,您可以使用此完整的.NET名称或类型别名obj.
现在,关于字段声明 - 根据上下文有各种方法来编写它.此外,最好初始化F#中的所有字段,因此查看代码的更大上下文会很有用.
但是,您可以这样写:
type A() =
let mutable (myInnerObj:obj) = null
Run Code Online (Sandbox Code Playgroud)
这将创建一个初始化为myInnerObj类型的私有字段,该字段可以在以后分配(例如).我在私有字段中使用了示例,因为在.NET中通常不鼓励使用公共字段.System.ObjectnullmyInnerObj <- new Random()