如何将成员函数的参数强制为特定类型
How to force a member function's argument to a specific type
我写了一个小的 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
s 的原因是因为在另一个函数中,我正在使用 F# 求幂。我如何告诉 F# 函数它应该接受 Double
s 而不是 int
s
您可以只显式添加类型注释:
type Math() =
member this.add(a:float,b:float) =
a+b
(注意 System.Double
在 F# 中被称为 float
)
我写了一个小的 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
s 的原因是因为在另一个函数中,我正在使用 F# 求幂。我如何告诉 F# 函数它应该接受 Double
s 而不是 int
s
您可以只显式添加类型注释:
type Math() =
member this.add(a:float,b:float) =
a+b
(注意 System.Double
在 F# 中被称为 float
)