F # эквивалент ключевого слова c # 'объекта "

StackOverflow https://stackoverflow.com/questions/2853928

  •  27-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь портировать существующие 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.

Другие советы

@ Томас прав. Вы также можете проверить эти блоги:

Основной синтаксис F # - Типы

Как этот код C # выглядит в F #?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top