“类型推断导致类型变量 x 逃逸其作用域”是什么意思?在这种情况下错误意味着什么?我正在尝试通过属性使其“转义”。我应该更改什么才能成功获取 'x
类型变量的 Type 实例?我尝试了 dotnet-sdk 2.2.400 和 3.1.100...
type Z<'x>() =
[<System.ComponentModel.TypeConverter(typeof<'x>)>]
member this.M (a: 'x) = a
错误 FS3187:类型推断导致类型变量 x 逃逸其范围。考虑添加显式类型参数声明或调整代码以使其不那么通用。
最佳答案
相应的 C# 代码给出了稍微更具描述性的错误 CS0416 :“属性参数不能使用类型参数”。我认为这是一个基本的 .NET 限制,而不是 F# 限制,因此找到解决方法可能并不简单。
关于f# - typeof <'x' > 结果为 "Type inference caused the type variable x to escape its scope",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59415931/