2009-06-13 11 views

Respuesta

27

Claro, solo prefijo el método con la palabra clave estática. Aquí hay un ejemplo:

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

val it : int = 3 
+0

frescos gracias! (rellenando caracteres) – RCIX

+0

Sería genial si puede actualizar su respuesta con sintaxis ligera (así que no es necesario usar la palabra clave "end") – knocte

6

¡No olvide los documentos en línea!

Methods

tiene esta información, y

F# Language Reference

es un buen punto de partida general para encontrar información sobre la sintaxis del lenguaje.

+0

Ypu, SOP para mí es buscar primero en los documentos para ver si puedo encontrar un ayuda allí primero ¡Evitó al menos una pregunta! – RCIX

6

Si quería tener métodos estáticos en una clase estática, a continuación, utilizar el Módulo

Salida este enlace, en particular la sección Módulos:

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

Aquí es un módulo que contiene dos funciones:

module MathStuff = 

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

Detrás de escena, el compilador F # crea una clase estática con métodos estáticos. Por lo que el equivalente C# sería:

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

Pero la respuesta aceptada muestra que los miembros estáticos en las clases son posibles. Este detalle de implementación no parece muy relevante para la pregunta. –

+0

¿Por qué usar tipos cuando puede usar módulos? Prefiero esta respuesta – knocte

+1

Puede que no sea la respuesta "correcta", pero es útil. –

Cuestiones relacionadas