Статические методы F # в классе - PullRequest
13 голосов
/ 13 июня 2009

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

Ответы [ 2 ]

27 голосов
/ 13 июня 2009

Конечно, просто добавьте к методу static ключевое слово. Вот пример:

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

val it : int = 3
6 голосов
/ 05 октября 2014

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

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

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

Вот модуль, который содержит две функции:

module MathStuff = 

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

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

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;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...