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