F # Статические методы в классе

Я пытаюсь выяснить, как создавать статические методы в классе в F #. Кто-нибудь знает, как это сделать?

Ответы

Ответ 1

Конечно, просто префикс метода со статическим ключевым словом. Вот пример:

type Example = class
  static member Add a b = a + b
end
Example.Add 1 2

val it : int = 3

Ответ 2

Не забывайте онлайн-документы!

Методы

имеет эту информацию и

Справочник по языку F #

является хорошей отправной точкой для поиска информации о синтаксисе языка.

Ответ 3

Если вы хотите иметь статические методы в статическом классе, используйте модуль

Посмотрите эту ссылку, в частности раздел "Модули":

http://fsharpforfunandprofit.com/posts/organizing-functions/

Здесь модуль, содержащий две функции:

module MathStuff = 

    let add x y  = x + y
    let subtract x y  = x - y

За кулисами F # компилятор создает статический класс со статическими методами. Таким образом, С# эквивалент:

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