Module 如何促使模块按照自上而下的自然顺序进行初始化?

Module 如何促使模块按照自上而下的自然顺序进行初始化?,module,f#,Module,F#,F#中的模块初始化规则出人意料地奇怪和纠结。如何保证在应用程序启动之前完成所有模块的绑定?正如您所说,初始化规则非常复杂。(模块由静态初始化器初始化,其规则在规范中给出。) 在模块的任何部分被外部引用之前,我不知道有什么方法可以对模块中的每个绑定进行严格的自上而下的评估。我怀疑有人存在 因此,如果模块可以构造成不需要初始化,通常是最好的。如果您确实需要(顺序敏感)初始化,那么使用类类型通常会更好

F#中的模块初始化规则出人意料地奇怪和纠结。如何保证在应用程序启动之前完成所有模块的绑定?

正如您所说,初始化规则非常复杂。(模块由静态初始化器初始化,其规则在规范中给出。)

在模块的任何部分被外部引用之前,我不知道有什么方法可以对模块中的每个绑定进行严格的自上而下的评估。我怀疑有人存在

因此,如果模块可以构造成不需要初始化,通常是最好的。如果您确实需要(顺序敏感)初始化,那么使用类类型通常会更好