当从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 我没有足够的代表,以创建一个新的标签,也许有人可以,如果你觉得合适
谢谢你,非常完美。大! – Rickard 2010-01-03 07:32:27