例如,如果我在 F# 中编写了一个模块
module Lib
type A =
member this.x1 x = ...
let helpa x = ...
let helpb x = ...
type B =
member this.y1 x = ...
let helpc x = ...
typeA with
member this.x2 x = ...
typeB with
member this.y2 x = ...
它在 F# by 中运行良好open Lib
,但是,如果我想在 C# 中使用它(我只对 中的类型和成员函数感兴趣Lib
),每次创建类型时我都必须使用new Lib.A(...)
. 没有办法省略模块名称变得相当烦人。像这样调用静态方法Lib.A.C()
就更麻烦了。
然后我尝试用 替换module
,namespace
每次我引入一些辅助函数时,我都必须用新名称创建一个新模块。有时我可以设法将所有辅助函数重新排列到 1 个模块中,但这会导致代码的可读性降低。
什么是更好的结构呢?
希望我有:Using * = Lib.*
对于 C#。