F#类中的静态方法
我试图弄清楚如何在F#中的类中生成静态方法。有人知道怎么做吗?当然,只需在方法前面加上static关键字。下面是一个例子:F#类中的静态方法,f#,static,function,class,F#,Static,Function,Class,我试图弄清楚如何在F#中的类中生成静态方法。有人知道怎么做吗?当然,只需在方法前面加上static关键字。下面是一个例子: type Example = class static member Add a b = a + b end Example.Add 1 2 val it : int = 3 如果您希望在静态类中有静态方法,那么使用模块 查看此链接,特别是模块部分: 这是一个包含两个功能的模块: 在幕后,F# 编译器使用静态方法创建静态类。所以C# 相当于: 但公认的答案表明,类
type Example = class
static member Add a b = a + b
end
Example.Add 1 2
val it : int = 3
如果您希望在静态类中有静态方法,那么使用模块 查看此链接,特别是模块部分: 这是一个包含两个功能的模块: 在幕后,F# 编译器使用静态方法创建静态类。所以C# 相当于:
但公认的答案表明,类中的静态成员是可能的。这个实现细节似乎与这个问题不太相关。既然可以使用模块,为什么还要使用类型?我更喜欢这个答案它可能不是“正确”的答案,但它是一个有用的答案。如果你能用简单的语法更新你的答案就太好了(因此,不需要使用“结束”关键字)别忘了在线文档!有这些信息,这是查找语言语法信息的良好起点。
module MathStuff =
let add x y = x + y
let subtract x y = x - y
static class MathStuff
{
static public int add(int x, int y)
{
return x + y;
}
static public int subtract(int x, int y)
{
return x - y;
}
}