gpt4 book ai didi

f# - 我可以提供一个类型作为 F# 中类型提供程序的输入吗?

转载 作者:行者123 更新时间:2023-12-03 22:30:29 24 4
gpt4 key购买 nike

这样做有什么我应该注意的陷阱吗?

你知道处理我可能遇到的相同 pb 的现有代码吗?

谢谢

最佳答案

不幸的是,您不能将类型作为静态参数传递给类型提供程序。使用 MyProvider< "first argument", 42 > 传递的静态参数必须是原始类型(如 stringint 和类似的)。我在文档中的任何地方都没有看到列表,但是 Type绝对不支持。

这样做的问题是你可以通过它 typeof<MyType>哪里MyType与使用类型提供程序的文件在同一文件中声明,因此 F# 编译器必须首先编译文件的第一部分,然后调用提供程序,然后继续。这听起来可能,但对于 F# 团队来说,这可能是低优先级的。

将有关类型的信息传递给类型提供程序的最佳方法是给它一个类型名称,然后使用反射查找类型(这仅在类型来自已编译的程序集时才有效):

type MyTest = MyTypeProvider<"System.Int32">

关于f# - 我可以提供一个类型作为 F# 中类型提供程序的输入吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9547225/

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