1

私は .Net を使用して少し redis をテストしてい ます 。これを f# に変換しようとすると、最初に単純な f# クラスを作成します (タイプを使用しても機能しませんでしたが、期待どおりでした)...基本的にクラスは次のようなものですこれ:

//I ve used [<Class>] to
type Video (id : int, title : string , image : string , url : string) =
  member this.Id = id
  member this.Title = title
  member this.Image = image
  member this.Url = url

コードを実行すると、db は空のデータを保存します。f# コード内で ac# クラスを使用すると、これが機能するため、問題は f# クラスであると確信しています...内部の c# コードに依存せずにこれを解決するにはどうすればよいですか私のF#コード

ありがとう !!!

4

1 に答える 1

2

あなたのチュートリアルに基づいて、現在のように getter のみを持つコンストラクターを使用するのではなく、F# Video クラスを getter および setter プロパティでいっぱいにする必要があるようです (これはクラスであり、FSI を介して実行することで確認できます)。 )。

これは、変更可能なフィールドでいっぱいのレコード型を使用して実現できます (パブリックなゲッターとセッターでいっぱいのクラス型にコンパイルされます)。

type Video = { 
    mutable Id : int
    mutable Title : string
    mutable Image : byte[]
    mutable Url : string
}
于 2012-04-04T04:15:56.570 に答える