【发布时间】:2019-11-18 21:29:56
【问题描述】:
让我们考虑以下代码:
type RulesStore() =
...
static member LoadAsync : Async<RulesStore> =
async {
let! r = Startup.States.GetAsStringAsync("rules") |> Async.AwaitTask
return
if String.IsNullOrEmpty r then
new RulesStore()
else
JsonConvert.DeserializeObject<RulesStore>(r);
}
这是对象内部的静态方法,用于从存储的 json 或新的干净 json 获取该对象的实例。
我是否相信如果我更换:
静态成员 LoadAsync : Async =
与
让 LoadAsync : Async =
LoadAsync 将被评估一次,随后的加载将返回相同的结果?如果我错了,这是为什么呢?
【问题讨论】:
标签: f#