Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F#类中的静态方法_F#_Static_Function_Class - Fatal编程技术网

F#类中的静态方法

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# 相当于: 但公认的答案表明,类

我试图弄清楚如何在F#中的类中生成静态方法。有人知道怎么做吗?

当然,只需在方法前面加上static关键字。下面是一个例子:

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;
    }
}