用于记录的 F# nameof 属性

F# nameof for record property

我正在尝试使用 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 没有完全实现?

这是 的副本。

简短的回答是:

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