希望这很容易.我有一个带有两个文件(Program.fs,Stack.fs)的F#项目(最新的F#CTP).在Stack.fs中,我有一个简单的命名空间和类型定义
Stack.fs
namespace Col
type Stack=
...
Run Code Online (Sandbox Code Playgroud)
现在我尝试通过声明在Program.fs中包含命名空间
open Col
Run Code Online (Sandbox Code Playgroud)
这不起作用,并给我错误"未定义名称空间或模块Col".然而,它是在同一个项目中定义的.我必须遗漏一些明显的东西
我有一个用F#编写的库,由C#和F#使用.此库foo在模块中定义bar名称空间中的类random:
#light
namespace random
module bar
type foo() = ...
Run Code Online (Sandbox Code Playgroud)
现在,当我去消费类型时random.foo.bar,C#intellisense将其视为类型bar,嵌套在类型中random.foo.
问题是:C#将外部可消耗代码定义到模块而不是命名空间中是否有优势?我知道模块是分组函数的好方法,但是类呢?
f# ×2