导入的 C# 库中存在冲突的构造函数

Conflicting constructors in imported C# lib

我真的无法比这张截图更好地描述这里发生的事情了:

工具提示说 return 构造函数的类型是 unit,而 "new" 部分说它应该是 Repository。显然构造函数应该 return 是 class 本身的实例,那么为什么它是 return 单元?

可在 https://github.com/Kantis/GitSemVer

获取完整源代码

unit标记构造函数只是工具提示的约定,它不影响实际编译。我想确实是有点weird/inconsistent,与下面显示的详细信息相比。

您的代码没有问题,let 上的波浪线只是因为 CalculateVersion 还没有包含完整的表达式。如果您添加 return 值,它可以正常工作:

let CalculateVersion(path:string) =
    let repo = new LibGit2Sharp.Repository(path)
    42  // return something