2010-01-02 67 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 我沒有足夠的代表,以創建一個新的標籤,也許有人可以,如果你覺得合適

回答

相關問題