F#|Fable - Thoth 使用泛型解码汽车
F#|Fable - Thoth Decode Auto with generics
我有一个函数看起来像这样
let decodeData<'a> (encodedData: string) = Decode.Auto.fromString<'a>(encodedData)
如果我这样做 decodeData<String[]>
,那么当代码编译时,在运行时我会得到一个 Javascript 错误 Cannot read properties of null (reading 'generics')
如果我删除泛型,只使用 Decode.Auto.fromString<String[]>(encodedData)
它会按预期工作。
问题是 JS 运行时无法访问来自 F# 的类型反射信息。 Fable 编译器在某些地方通过使用 inline
并在编译时解析类型反射来解决这个问题。
关于添加反射信息的更多讨论 here.
我有一个函数看起来像这样
let decodeData<'a> (encodedData: string) = Decode.Auto.fromString<'a>(encodedData)
如果我这样做 decodeData<String[]>
,那么当代码编译时,在运行时我会得到一个 Javascript 错误 Cannot read properties of null (reading 'generics')
如果我删除泛型,只使用 Decode.Auto.fromString<String[]>(encodedData)
它会按预期工作。
问题是 JS 运行时无法访问来自 F# 的类型反射信息。 Fable 编译器在某些地方通过使用 inline
并在编译时解析类型反射来解决这个问题。
关于添加反射信息的更多讨论 here.