f# - 记录属性的 F# nameof
问题描述
我正在尝试使用nameof
F# 5.0 预览版中的新功能。它适用于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 operator not a first-class function的副本。
简短的回答是:
let x = Unchecked.defaultof<MyType>
let name = nameof x.Id
推荐阅读
- ruby-on-rails - 输出错误:#
- python - 使用 GeoPandas 在 Python 中读取 GRASS 矢量数据源
- amazon-web-services - 我可以将aws保留实例与弹性beantalk一起使用吗
- rust - 从一个向量多次使用迭代器作为函数的参数
- asp.net-core - 访问 Actor 服务时未找到 FabricCommon.dll
- google-cloud-bigtable - 将 bigtable 表导出到谷歌云存储时遇到 OutOfMemoryException
- windows - Qt5快速qml测试和opengl渲染的问题
- arrays - 如何循环遍历对象数组,遍历每个对象并将每个对象推入单独的数组中,以便 ngFor 以角度循环
- c# - 如何检查 ReSharper.ReSharper_SilentCleanupCode 是否已完成?
- javascript - 在 javascript 中将 rel=“noopener noreferrer” 添加到 target=“_blank” 的链接