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