gpt4 book ai didi

c# - F# 动态对象访问

转载 作者:可可西里 更新时间:2023-11-01 07:53:17 28 4
gpt4 key购买 nike

有没有一种方法可以在 F# 中访问类似于 C# 动态的 DLR 对象(例如 DynamicObject 子类实例)成员(属性和方法)?

最佳答案

现在 nuget 上有一个模块使用 dlr 来实现动态运算符。 FSharp.Interop.Dynamic

与现有的许多代码片段相比,它有几个优点。

  • 它使用的性能 Dynamitey对于实现缓存的 dlr 调用,它是一个 PCL 库
  • 处理返回 void 的方法,如果您不丢弃这些方法的结果,您将获得绑定(bind)异常。
  • dlr 会自动处理函数调用委托(delegate)返回的情况,这也将允许您对 FSharpFunc 执行相同的操作
  • 添加一个 !?前缀运算符,用于处理在运行时直接调用您没有类型的动态对象和函数。

    它是开源的,Apache license,你可以看看implementation和基本单元测试example cases .

关于c# - F# 动态对象访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6150087/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com