【发布时间】:2011-06-26 00:46:59
【问题描述】:
我在理解 F# 中的模块和命名空间之间的确切区别以及使用其中一个或另一个时遇到了问题。 好吧,它们都是为了封装代码并定义层次结构以使我们的项目井井有条。
模块有很多特性:它们可以包含各种值、类型,这些元素也可以定义为public、protected 或internal。
但是,当使用模块时呢?
我还了解到,模块最终被映射为 MSIL(中间语言)中的类。所以一个模块是一个类,是一个类型...... 我的疑虑有所改善....
当使用模块时??? 它们有用吗?
D. Syme 还认为模块是可扩展的,所以我认为从这个角度来看它们就像命名空间。
我无法理解使用它们的原因。
谢谢
【问题讨论】:
标签: .net f# namespaces module