首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从C#调用F# - Mono.Debugger.Soft.VMDisconnectedException

从C#调用F# - Mono.Debugger.Soft.VMDisconnectedException
EN

Stack Overflow用户
提问于 2014-09-10 09:21:28
回答 2查看 1.1K关注 0票数 0

任何从c#代码调用f#函数的想法。

我有一个像这样的c#函数

代码语言:javascript
复制
public class VehicleDetailsBridge
{

    public void SaveVehicle(long id)
    {
         var db = "test call";
     }
}

然后在f#中我有:

代码语言:javascript
复制
type Persistence as this =
    member x.SaveToDatabase(LatestVid)
    let b = VehicleDetailsBridge()
    b.SaveVehicle(LatestVid)

我在我的C#项目中引用了F#类库。

然而,当我运行这段代码时,我在Xamarin中得到了以下异常:

Mono.Debugger.Soft.VMDisconnectedExecption

EN

回答 2

Stack Overflow用户

发布于 2014-09-10 10:21:17

代码语言:javascript
复制
type Persistence() =                         // need braces here, and not 'as this'
    member x.SaveToDatabase(latestVid) =
        let b = VehicleDetailsBridge()       // indent the method body
        b.SaveVehicle(latestVid)

我的完整F#程序如下:

代码语言:javascript
复制
open FsCsInterop

type Persistence() =                         // need braces here, and not 'as this'
    member x.SaveToDatabase(latestVid) =
        let b = VehicleDetailsBridge()       // indent the method body
        b.SaveVehicle(latestVid)
        printfn "Saved %d" latestVid

[<EntryPoint>]
let main argv = 
    let p = Persistence()
    p.SaveToDatabase(2L)
    0

// Prints "Saved 2"
票数 2
EN

Stack Overflow用户

发布于 2014-09-10 09:31:13

试试这个:

代码语言:javascript
复制
let b = VehicleDetailsBridge() // create instance of class
b.SaveVehicle(LatestVid)

VehicleDetailsBridge是一个类,所以您需要将它作为一个类打开。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25761731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档