从F#类型提供商提供区分联盟

Run*_* FS 7 f# type-providers f#-3.0

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

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

但我需要能够定义记录类型和DU类型有没有办法用类型提供程序做到这一点?

Gus*_*rra 5

不幸的是,不可能在类型提供程序中定义任何F#特定类型,如Discriminated Unions,Records或Modules,只有类和命名空间,这有点不幸