2010-01-02 35 views
4

当从IronPython与F#库进行交互时,Python函数对象在传递给接受函数的F#接口时似乎不会自动转换为标准F#FastFunc函数对象作为参数之一。在F#中将System.Func <>转换为FastFunc <>

另一方面,如果接口是其中之一,那么Python函数对象将被很好地转换为System.Func> <>。 也就是说,这是不是从蟒蛇容易调用:

let myFunc (f: float->float) = 
    f(3.5) 

,而下面的工作完美:

let myFunc2 (f: System.Func<float, float>) = 
    f.Invoke(3.5) 

所以我的问题是,如果我想能够很容易地养活我的F#-functions Python函数对象,有什么方法可以将一个System.Func对象转换为一个FastFunc对象(为了能够将一个精简的接口转换为IronPython/C#等,但能够使用提供的函数作为常规的F#函数更深入的lib)?

感谢, 里卡德

PS 我没有足够的代表,以创建一个新的标签,也许有人可以,如果你觉得合适

回答

相关问题