我有以下C#代码。
namespace MyMath {
public class Arith {
public Arith() {}
public int Add(int x, int y) {
return x + y;
}
}
}
我想到了名为testcs.fs的F#代码来使用此对象。
open MyMath.Arith
let x = Add(10,20)
当我运行以下命令
fsc -r:MyMath.dll testcs.fs
我收到此错误消息。
/Users/smcho/Desktop/cs/namespace/testcs.fs(1,13):错误FS0039: namespace “Arith”为
没有定义的
/Users/smcho/Desktop/cs/namespace/testcs.fs(3,9):错误FS0039:值或构造函数
未定义“添加”
有什么问题吗?我在.NET环境中使用了mono。
最佳答案
尝试
open MyMath
let arith = Arith() // create instance of Arith
let x = arith.Add(10, 20) // call method Add
代码中的类名是类名,不能像 namespace 那样打开它。可能您对打开F#模块的能力感到困惑,因此可以不加限制地使用其功能