我写了一个小的F#库,同时包含了一些数学函数,如下所示:
namespace MyLib
type Math() =
member this.add(a,b) =
a+b
现在,我试图从C#中调用它,如:
using System;
using MyLib;
class Test {
static void main(string[] args) {
Double sum = MyLib.add(1.2, 3.5)
Console.WriteLine(sum.ToString());
}
}
这段代码给了我一个错误,当我查看函数的签名时,我发现它接受了两个整数。
我使用Double
的原因是因为在另一个函数中,我正在使用F#exponentiation。如何告诉F#函数它应该接受与Double
s
int
s
答案 0 :(得分:2)
您可以明确添加类型注释:
type Math() =
member this.add(a:float,b:float) =
a+b
(请注意System.Double
在F#中称为float