1

我正在使用 .Net 测试一点 redis,我已经阅读了本教程 http://www.d80.co.uk/post/2011/05/12/Redis-Tutorial-with-ServiceStackRedis.aspx 并使用 c#并且工作完美,现在当我尝试将其转换为 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

当我运行代码时,我的数据库会保存一个空数据,如果我在我的 f# 代码中使用 ac# 类这个工作,所以我确定问题是 f# 类...如何在不依赖 c# 代码的情况下解决这个问题我的 f# 代码

谢谢 !!!

4

1 回答 1

2

根据您的教程,您似乎希望您的 F# Video 类充满 getter 和 setter 属性,而不是像现在这样拥有一个带有 getter 的构造函数(它是一个类,您可以通过 FSI 运行它来验证它)。

您可以使用一个充满可变字段的记录类型来实现这一点(它被编译成一个充满公共 getter 和 setter 的类类型):

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