从F#访问名称中包含.base的名称空间

时间:2010-05-02 21:02:50

标签: .net interop f# naming-conventions keyword

正如标题所说,我正在尝试使用在名称空间中声明的类,其名称中包含“base”。 想想以下情况:

open Foo.base.Bar

在C#中,我只是在base之前使用@,但是F#似乎忽略了这一点,并认为@是用于列表连接的中缀运算符。 由于命名空间属于我无法修改的第三方库,有没有办法可以从F#访问它?

1 个答案:

答案 0 :(得分:6)

在F#中,你可以通过在两对符号之间包含特殊名称来实现类似的功能。以下应该可以解决问题:

open Foo.``base``.Bar

这比C#更灵活 - 名称几乎可以包含任何内容,因此您可以在名称中定义具有空格的成员:

let ``some name!`` = 42