Frage

Ich versuche, in dem Hafen ein vorhandenen c # zu f # und ich würde auf der Portierung diese c # line stecken bin immer:

public object myInnerOject
War es hilfreich?

Lösung

In C # object ist nur ein Typ Name System.Object bezieht. In F #, können Sie entweder diesen vollständig .NET-Namen oder einen Typ alias obj.

Nun, in Bezug auf eine Felddeklaration - es gibt verschiedene Möglichkeiten, zu schreiben, dass je nach Kontext. Außerdem ist es eine gute Praxis, alle Felder in F # zu initialisieren, so dass es sinnvoll wäre, größeren Kontext des Codes zu sehen.

Sie können jedoch diese schreiben:

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

Dies schafft ein privates Feld myInnerObj vom Typ System.Object zu null initialisiert, die wandelbar kann später zugeordnet werden kann (myInnerObj <- new Random(), zum Beispiel). Ich verwenden Beispiel mit eigenem Feld, weil die öffentlichen Felder im Allgemeinen in .NET abgeraten.

Andere Tipps

@Tomas ist richtig. Sie können auch diese Blogs überprüfen:

Die grundlegende Syntax von F # - Typen

Was bedeutet die C # -Code aus wie in F #?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top