Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F# 如何将生成的代码添加到类型提供程序_F#_Type Providers - Fatal编程技术网

F# 如何将生成的代码添加到类型提供程序

F# 如何将生成的代码添加到类型提供程序,f#,type-providers,F#,Type Providers,我有F#函数 它在F#(.fs文件)上生成代码。 我想写一个类型提供程序,它运行generateCode()并按照提供的方式提供生成的函数 例如,我的函数生成: module Calc open Operations let Calculate a b = add a b 我想让类型提供程序提供这样的功能: type MyType = MyTypeProvider<args> sum = MyType.Calculate a b type MyType=MyTypeProvid

我有F#函数

它在F#(.fs文件)上生成代码。 我想写一个类型提供程序,它运行generateCode()并按照提供的方式提供生成的函数

例如,我的函数生成:

module Calc

open Operations
let Calculate a b = add a b
我想让类型提供程序提供这样的功能:

type MyType = MyTypeProvider<args>
sum = MyType.Calculate a b
type MyType=MyTypeProvider
sum=MyType。计算a和b
UPD
主要问题是将生成的代码添加到程序集,然后获取函数名。

不幸的是,创建类型提供程序并不是那么简单。类型提供程序不需要生成源代码,而是需要构建特定接口的实现,然后生成F#quotes(这是一种表示源代码的数据结构,如LINQ表达式树)


有关实现类型提供程序的良好教程,请参阅Michael Newton和后续文章。

不幸的是,创建类型提供程序并不是那么简单。类型提供程序不需要生成源代码,而是需要构建特定接口的实现,然后生成F#quotes(这是一种表示源代码的数据结构,如LINQ表达式树)


有关实现类型提供程序的良好教程,请参阅Michael Newton和后续文章。

我不需要代码生成器,我需要类型提供程序,因为它可以在运行时运行我的函数,并提供生成的函数。我不需要代码生成器,我需要类型提供程序,因为它可以在运行时运行我的函数,并提供生成的函数。
type MyType = MyTypeProvider<args>
sum = MyType.Calculate a b