c# - F# 错误类型 'X' 与类型 'X' 不兼容

标签 c# f#

首先,我很抱歉。这篇文章可能有点太模糊了。我有一个问题,我无法在一个小示例代码部分重现。这是我所做的:

F# 应用程序使用从 XML 架构 (xsd.exe) 生成的 C# DOM。

DOM 的实例是在 C# 中创建的,并通过函数调用返回给 F# 应用程序。

实例(此处命名类型为“X”)存储在如下 f# 记录中:

type Something = { Dom : X option }

在代码的后面我有这样的东西:

match myRecord.Dom with
| Some(dom) -> CSharpCode.Save( dom, filepath )  // error: Type 'X' not compatible with type 'X'

基本上,我从 C# 获取 Dom 实例并将其传回。在上面的最后一行中,我收到标题中提到的错误消息:Type 'X' is not compatible with type 'X'。

我不知道我应该寻找什么,因为在我尝试重现这个的简单示例程序中,我从未遇到过这个错误。有什么想法吗?

最佳答案

看着这个troubleshooting page ,短语“与类型不兼容”似乎是在数值的上下文中使用的,而不是一般的类型匹配。

另一个猜测是您的代码示例具有 CSharpCode.Save( dom, filepath ),但在 F# 函数中参数是空格分隔的而不是逗号分隔的,所以我希望 CSharpCode.Save dom 文件路径。您的示例不会构建一个 dom, filepath 的元组并尝试将其传递给 .Save 吗?

关于c# - F# 错误类型 'X' 与类型 'X' 不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17107877/

相关文章:

c# - Ajax 请求后 .NET 后端的奇怪响应

c# - HttpPostedFileBase.SaveAs 工作但没有文件上传也没有异常

f# - 如何访问嵌套的可区分联合值?

f# - 从列表映射到另一种类型 - 有没有更好的方法来做到这一点?

f# - 如何在 F# 文档中包含命名参数

c# - 在 WPF 中向 ObservableCollection 添加数据

c# - Winforms - 在另一个线程中调用方法

c# - 使用 Android 作为客户端、C# 作为服务器的 TCP/IP 通信

f# - 递归记录定义中的匿名通用参数

F# 记录结构比较排序