【问题标题】:Can I remove a namespace import from a linqpad query?我可以从 linqpad 查询中删除命名空间导入吗?
【发布时间】:2014-07-30 16:36:40
【问题描述】:

我正在尝试运行 linqpad 查询,但其中一个默认命名空间导入的类型显然隐藏了我尝试引用的类型。 System.Xml 是 linqpad 中的默认导入之一,但我很少使用它。是否可以删除默认命名空间导入,以便我可以使用自己的 Formatting 枚举?

【问题讨论】:

  • 另外,在我的测试中,本地声明的 Formatting 枚举似乎遮蔽了 System.Xml 枚举。 Intellisense 甚至可以使用本地枚举值自动完成。
  • @JesanFafon:我的Formatting 没有在我的查询中声明,而是作为另一个导入的一部分包含在内。事实上,我认为我的原始查询可能有问题,因为当我现在尝试运行它时,它没有得到这种阴影行为,而是无法编译。 'Formatting' is an ambiguous reference between 'System.Xml.Formatting' and 'Newtonsoft.Json.Formatting'

标签: namespaces using linqpad


【解决方案1】:

这不是对您当前问题的直接回答,但您可以告诉 LINQPad 您希望Formatting 表示哪个。在您的查询中,按 F4 键,然后在 Additional Namespace Imports 选项卡下,您可以添加以下内容:

Formatting = Newtonsoft.Json.Formatting

这告诉 LINQPad 为您的脚本声明一个using alias directive。请注意,您不应在行前包含单词using,LINQPad 会为您处理。

【讨论】:

  • 我没有意识到您可以使用命名空间别名来引用特定类型。我认为这些仅适用于名称空间。太甜了。
  • 我知道你能做到的唯一原因是因为我之前在 Visual Studio 中的代码中出现了“模糊引用”错误,当你通过为该类型创建使用别名来告诉它时,Resharper 解决了这个问题我想 - 猜测您也可以将这些语句粘贴到 LINQPad 中并正确猜测。
猜你喜欢
  • 2013-10-24
  • 2021-01-24
  • 1970-01-01
  • 2016-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-14
  • 2020-01-14
相关资源
最近更新 更多