В C # object
это просто имя типа, относящееся к System.Object
. В F # вы можете использовать это полное имя .NET или псевдоним типа obj
.
Теперь, что касается объявления поля - есть разные способы записать это в зависимости от контекста. Также рекомендуется инициализировать все поля в F #, поэтому было бы полезно увидеть более широкий контекст вашего кода.
Однако вы можете написать это:
type A() =
let mutable (myInnerObj:obj) = null
Это создает приватное поле myInnerObj
типа System.Object
, инициализированное null
, которое может быть изменено позже (например, myInnerObj <- new Random()
). Я использовал пример с приватным полем, потому что публичные поля обычно не рекомендуется в .NET.