我正在使用.Net测试一下redis,我已经阅读了本教程 http://www.d80.co.uk/post/2011/05/12/Redis-Tutorial-with-ServiceStackRedis.aspx 并且遵循使用c#并且工作完美,现在当我尝试将其转换为f#我有一个奇怪的行为时,首先我创建一个简单的f#类(使用类型既不工作也不是预期的)...基本的class就是这样的:
//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#class这个工作,所以我确定问题是f#类...如何解决这个问题而不依赖我的f#代码中的c#代码
谢谢!!!
答案 0 :(得分:2)
根据你的教程,看起来你希望你的F#Video类充满getter和setter属性,而不是像现在一样只有getter的构造函数(而且它是一个类,你可以通过运行来验证它它通过FSI)。
你可以使用一个充满可变字段的记录类型来实现这一点(它被编译成一个充满公共getter和setter的类类型):
type Video = {
mutable Id : int
mutable Title : string
mutable Image : byte[]
mutable Url : string
}