【发布时间】:2013-02-03 13:42:26
【问题描述】:
我已经为这个问题苦苦挣扎了一段时间,似乎找不到任何解决方案。让我为你简化一下。
我有一个我想调用的通用函数,但我想调用它的类型参数仅作为一个实例。示例
let foo_a<'a> () = typeof<'a>
let foo_b (t : System.Type) = foo_a<t>() // of course this does not work
我希望以下陈述属实
foo_a<int>() = foo_b(typeof<int>)
在 C# 中,我会反映 foo_a 的 MethodInfo 并执行 MakeGenericMethod(t),但在 F# 中如何执行此操作?
只是为了清除,翻转依赖并让 foo_a 调用 foo_b 代替,对我来说不是一个选择。
【问题讨论】:
-
反射在 F# 中的工作方式与在 C# 中的工作方式相同。你试过用那个吗?
-
您能添加您的解决方案吗?