reflection - 在运行时创建匿名记录类型

标签 reflection f#

F# 提供反射功能,除其他功能外,您还可以在运行时生成函数、元组、记录和联合类型的新值。但是,我在该模块中看不到任何与匿名记录有关的内容。

是否可以在运行时在 F# 中创建匿名记录类型的新值?

最佳答案

FSharp.Reflection.FSharpValue.MakeRecord 方法适用于匿名记录和名义记录:

let x = {| a = "b"; c = 42 |}
ley y = FSharp.Reflection.FSharpValue.MakeRecord( x.GetType(), [| "foo"; 5 |] )

> val it : obj = {a = "foo"; c = 5;}

还是我误解了问题?

关于reflection - 在运行时创建匿名记录类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60496452/

相关文章:

c# - 将 TypeOf "List<int>"与 "System.Collections.Generic.List<int>"进行比较

compiler-construction - 从哪里获得 F# ILX2CIL 汇编程序?

f# - 功能组合是否依赖部分应用程序?

c# - 如何按名称查找 bindingSource?

java - 使用 protected 类进行类型转换

reflection - 打印出 Groovy 对象中的变量和值

asp.net - 在 ASP.NET 网站中使用 LoadLibrary 加载非托管 DLL

f# - 对象中的公共(public)可变字段

f# - 为什么在F#中没有隐式转换?

c# - 使用反射来分析参数及其值