这两个 F# 类型的函数有什么区别:
let defaultInstance1<'a when 'a:(new: unit->'a)> = new 'a()
[<GeneralizableValue>]
let defaultInstance2<'a when 'a:(new: unit->'a)> = new 'a()
最佳答案
let defaultInstance1<'a when 'a:(new: unit->'a)> = new 'a()
[<GeneralizableValue>]
let defaultInstance2<'a when 'a:(new: unit->'a)> = new 'a()
let x1 = defaultInstance1 // value restriction
let x2 = defaultInstance2
关于generics - F# 类型函数和 [<GeneralizableValue>] 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3963568/