“类型推断导致类型变量x逃避其范围”是什么。错误的意思是这种情况?我 am 试图通过属性使其“转义”。为了成功获取'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逃脱其范围。考虑添加显式类型参数声明或将代码调整为通用性较低。
答案 0 :(得分:3)
相应的C#代码给出了更具描述性的错误CS0416:“属性参数不能使用类型参数”。我认为这是一个基本的.NET限制,而不是F#限制,因此找到解决方法可能并不容易。