【问题标题】:F# nameof for record property记录属性的 F# nameof
【发布时间】:2021-01-09 21:14:28
【问题描述】:

我正在尝试使用 F# 5.0 预览版中的新 nameof 功能。它适用于values,但不适用于记录属性,例如:

type MyType { Id: int }
let name = nameof MyType.Id

这会导致错误FS0728 Field 'Id' is not static

我试过了:

let name = nameof<MyType.Id>
let name = nameof(MyType.Id)
let name = nameof Id

也没有修复错误。是否有我应该这样做的特殊方法或者nameof 没有完全实现?

【问题讨论】:

    标签: f# nameof


    【解决方案1】:

    这是F# nameof operator not a first-class function 的副本。

    简短的回答是:

    let x = Unchecked.defaultof<MyType>
    let name = nameof x.Id
    

    【讨论】:

      猜你喜欢
      • 2017-10-06
      • 2019-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-10
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多