正如标题所说,我正在尝试使用在名称空间中声明的类,其名称中包含“base”。 想想以下情况:
open Foo.base.Bar
在C#中,我只是在base之前使用@,但是F#似乎忽略了这一点,并认为@是用于列表连接的中缀运算符。 由于命名空间属于我无法修改的第三方库,有没有办法可以从F#访问它?
答案 0 :(得分:6)
在F#中,你可以通过在两对符号之间包含特殊名称来实现类似的功能。以下应该可以解决问题:
open Foo.``base``.Bar
这比C#更灵活 - 名称几乎可以包含任何内容,因此您可以在名称中定义具有空格的成员:
let ``some name!`` = 42