UNA namespaceestá diseñado para proporcionar una forma de mantener un conjunto de nombres separado de otro. Los nombres de clase declarados en un espacio de nombres no entrarán en conflicto con los mismos nombres de clase declarados en otro.
Según la biblioteca de MSDN, un namespace le permite organizar el código en áreas de funcionalidad relacionada al permitirle adjuntar un nombre a una agrupación de elementos del programa.
Declarar un espacio de nombres
Para organizar su código en un espacio de nombres, debe declarar el espacio de nombres como la primera declaración en el archivo. El contenido de todo el archivo pasa a formar parte del espacio de nombres.
namespace [parent-namespaces.]identifier
El siguiente ejemplo ilustra el concepto:
Ejemplo
namespace testing
module testmodule1 =
let testFunction x y =
printfn "Values from Module1: %A %A" x y
module testmodule2 =
let testFunction x y =
printfn "Values from Module2: %A %A" x y
module usermodule =
do
testmodule1.testFunction ( "one", "two", "three" ) 150
testmodule2.testFunction (seq { for i in 1 .. 10 do yield i * i }) 200
Cuando compila y ejecuta el programa, produce el siguiente resultado:
Values from Module1: ("one", "two", "three") 150
Values from Module2: seq [1; 4; 9; 16; ...] 200