【问题标题】:typeof<'x'> Results in "Type inference caused the type variable x to escape its scope"typeof<'x'> 导致“类型推断导致类型变量 x 超出其范围”
【发布时间】:2019-12-20 03:51:09
【问题描述】:

“类型推断导致类型变量 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 超出其范围。考虑添加显式类型参数声明或将代码调整为不那么通用。

【问题讨论】:

    标签: f#


    【解决方案1】:

    相应的 C# 代码给出了一个稍微更具描述性的错误CS0416:“属性参数不能使用类型参数”。我认为这是一个基本的 .NET 限制,而不是 F# 限制,因此找到解决方法可能并非易事。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-17
      • 2012-12-23
      • 2011-11-15
      • 1970-01-01
      • 2011-04-07
      相关资源
      最近更新 更多