Question

Je suis en train de porter une c # existant à f # et je ne rester coincé sur le portage de cette c # ligne:

public object myInnerOject
Était-ce utile?

La solution

En C # object est juste un nom de type référence à System.Object. En F #, vous pouvez utiliser ce nom complet .NET ou un obj alias de type.

Maintenant, en ce qui concerne une déclaration sur le terrain - il y a différentes façons d'écrire que, selon le contexte. En outre, il est une bonne pratique pour initialiser tous les champs de F #, il serait utile de voir le contexte plus large de votre code.

Cependant, vous pouvez écrire ceci:

type A() = 
  let mutable (myInnerObj:obj) = null

Cela crée un champ privé myInnerObj de type System.Object initialisé à null, qui est mutable peut être attribué plus tard (myInnerObj <- new Random(), par exemple). Je exemple avec le champ privé, car les champs publics sont généralement déconseillés dans .NET.

Autres conseils

@Tomas est juste. Vous pouvez également consulter ces blogs:

La syntaxe de base de F # - types

Que ce regard de code C # comme dans F #?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top