【问题标题】:Providing a Discriminated Union from an F# Type Provider从 F# 类型提供程序提供有区别的联合
【发布时间】:2014-03-01 02:42:01
【问题描述】:

我已经掌握了类型提供程序的基础知识,例如创建类型

let thisAssembly = Assembly.GetExecutingAssembly()
let t = ProvidedTypeDefinition(
           thisAssembly,namespaceName,
           xType.Attribute(xname "name").Value,
           baseType = Some typeof<obj>)

但我需要能够定义记录类型和 DU 类型,有什么方法可以使用类型提供程序来做到这一点?

【问题讨论】:

    标签: f# type-providers f#-3.0


    【解决方案1】:

    不幸的是,不能在类型提供程序中定义任何 F# 特定类型,如可区分联合、记录或模块,只能定义类和命名空间,这有点遗憾

    【讨论】:

    • 这是 CLR 限制吗?我的意思是类在函数式语言中是如此的限制。例如,记录将是 SQL 查询的更自然结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    • 1970-01-01
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多