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

标签 .net interop f# naming-conventions keyword

正如标题所说,我正在尝试使用在名称中包含“base”的 namespace 中声明的类。
考虑如下情况:

open Foo.base.Bar

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

最佳答案

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

open Foo.``base``.Bar

这比在 C# 中更灵活 - 名称几乎可以包含任何内容,因此您可以例如定义名称中带有空格的成员:
let ``some name!`` = 42

关于.net - 从 F# 访问名称中包含 .base 的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2754970/

相关文章:

c# - 如果发生对静态记录器的调用,如何进行单元测试

c# - '反序列化操作的回复消息正文时出错......' - 对于我调用的每个方法

c# - .Net 与 Borland C++ 的互操作性问题

c# - Windows Search sql - 无法访问 System.Search.QueryFocusedSummary

list - 将元组列表乘以 F# 中的元组

c# - 无法将使用 NLog 的库发布到 NuGet

c# - 跟踪Web应用程序中单例进程的进程

c# - Word 互操作 : Event to catch close of Word

f# - map 中的一组键

f# - F# 语言规范中的哪个保留关键字应在 vNext 中实现?