Je suis en train de porter une C# existant à f # et que je suis rester coincé sur le portage de cette C# ligne:F # équivalent du C# « objet » mot-clé
objet public myInnerOject
Je suis en train de porter une C# existant à f # et que je suis rester coincé sur le portage de cette C# ligne:F # équivalent du C# « objet » mot-clé
objet public myInnerOject
En C# object
est juste un nom de type faisant référence à System.Object
. En F #, vous pouvez utiliser ce nom complet .NET ou un alias de type obj
. Maintenant, en ce qui concerne une déclaration de champ - il y a plusieurs façons d'écrire cela en fonction du contexte. En outre, il est recommandé d'initialiser tous les champs dans F #, il serait donc 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). J'ai utilisé un exemple avec un champ privé, car les champs publics sont généralement déconseillés dans .NET.
@Tomas a raison. Vous pouvez également consulter ces blogs:
les deux blog besoin de se connecter pour lire. –
hein? pas de connexion là-bas. – Brian
Doh! Toujours le truc simple! Merci beaucoup; Y - Je suis sur la page avec le reste de la déclaration ... pour une raison quelconque j'ai eu un gel mental et mes textes f # sont prêtés à un copain ... – akaphenom
Bonne réponse - merci! –