问题标签 [namespaces]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
57441 浏览

c++ - C 中的命名空间

有没有办法(ab)使用C预处理器来模拟C中的命名空间?

我在想一些事情:

这将被翻译成:

0 投票
11 回答
76409 浏览

c++ - C++ 命名空间和包含

为什么我们在 C++ 程序中同时需要using namespace和指令?include

例如,

#include <iostream>为什么仅仅拥有或仅仅拥有using namespace std并摆脱另一个是不够的?

(我在想一个与 Java 的类比,从哪里import java.net.*导入所有内容java.net,你不需要做任何其他事情。)

0 投票
8 回答
25978 浏览

c# - c#解决方案中的命名空间和文件夹结构:磁盘上的文件夹应该如何组织?

首先,让我们同意命名空间应该与文件夹结构相匹配,并且每个语言工件都应该在自己的文件中。

(请参阅解决方案中的文件夹是否应与命名空间匹配?)。

下一个问题是如何在磁盘上实际组织文件夹。
假设我在 ABC 命名空间中有 ClassC,在 ABCD 命名空间中有 ClassD。
我们还假设每个命名空间都内置在自己的程序集(项目)中,并且命名空间根据公认的最佳实践从右到左具有依赖关系(ABCD 可以依赖于 ABC,而 ABC 可以依赖于 AB,而 AB 又可以依赖于 A)。我很欣赏每个命名空间不必位于单独的程序集中,但在一般情况下,我们将在单独的程序集中有一些命名空间,我的示例说明了这一点。

我可以看到(至少)两种创建文件夹树的方法——我称之为“嵌套文件夹”和“平面文件夹”:

1 - 嵌套文件夹:

A
--A.csproj --B ----ABcsproj
---- C ------ABCcsproj ------classC.cs ------D -------- ABCDcsproj --------classD.cs






或者

2 – 平面文件夹:

A
--A.csproj
AB
--ABcsproj
ABC
--ABCcsproj
--classC.cs
ABCD
--ABCDcsproj
--classD.cs

你会看到我已经做了一些假设:

  • 每个项目文件都有一个基于命名空间的完全限定名称 (FQN)。
  • 每个类文件使用一个非 FQN

嵌套文件夹看起来更自然(我们都喜欢层次结构),但在大型解决方案中可能更难导航:

当您在 VS 中查看解决方案时,它会显示项目的平面列表,而不是嵌套视图。这看起来更像是“平面文件夹”,因此组织磁盘上的文件夹以匹配 VS 中的视图可能会有好处。

如果您查看磁盘上的每个文件夹,您将看到该项目的文件夹 artefacts 以及命名空间的子文件夹:以 C 为例:

C
--bin --D --obj
--Properties --ABCcsproj --classC.cs



根据 D 的真实名称,D 是名称空间文件夹而不是 C 名称空间中的组织文件夹可能并不明显。

我知道我们从 .NET(8 或 9 年前)和 Java 的第一天起就有文件夹和命名空间,但是,就个人而言,我们似乎还没有就大型项目的最佳实践组织达成共识解决方案。我真的很想知道你们的想法。

谢谢
迈克尔

0 投票
1 回答
18603 浏览

c# - 如何以编程方式在 XPathExpression 实例中使用 XPath 函数?

我当前的程序需要以编程方式创建一个 XPathExpression 实例以应用于 XmlDocument。xpath 需要使用一些 XPath 函数,例如“ends-with”。但是,我找不到在 XPath 中使用“ends-with”的方法。一世

它抛出如下异常

未处理的异常:System.Xml.XPath.XPathException:需要命名空间管理器或 XsltC ontext。此查询具有前缀、变量或用户定义的函数。
在 MS.Internal.Xml.XPath.CompiledXpathExpr.get_QueryTree() 在 System.Xml.XPath.XPathNavigator.Evaluate(XPathExpression expr, XPathNodeIt erator context)
在 System.Xml.XPath.XPathNavigator.Evaluate(XPathExpression expr)

代码是这样的:

我尝试在编译表达式时更改代码以插入 XmlNamespaceManager,如下所示

XPathExpression.Compile 调用失败:

未处理的异常:System.Xml.XPath.XPathException:由于未知函数,此查询需要 XsltContext。在 MS.Internal.Xml.XPath.FunctionQuery.SetXsltContext(XsltContext context) 在 MS.Internal.Xml 的 MS.Internal.Xml.XPath.CompiledXpathExpr.UndefinedXsltContext.ResolveFuncti on(String prefix, String name, XPathResultType[] ArgTypes)。 XPath.CompiledXpathExpr.SetContext(XmlNamespaceManager nsManager) 在 System.Xml.XPath.XPathExpression.Compile(String xpath, IXmlNamespaceResolver nsResolver)

有人知道在 XPathExpression.Compile 中使用现成的 XPath 函数的技巧吗?谢谢

0 投票
2 回答
236 浏览

.net - 如何从给定的命名空间中获取所有方法?

我想要命名空间中的所有 Method-ClassName

就像我有 system.windows.Forms

在视觉工作室中,我们安装 system.windows.Forms。它会建议所有相关方法、类、枚举的框

我需要获取相同的,我怎么能在 C# 中做到这一点

0 投票
1 回答
233 浏览

namespaces - MS Robotics Studio:“合同与命名空间的合同不同”

我正在尝试使用 MS Robotics Studio 和 VS 2008 构建 DSS 服务,但是在构建时,我从 dssproxy.exe 收到错误消息:

并且构建失败,因为 dssproxy 返回代码 10。有谁知道这条消息的含义?

合同标识符在 Types 类文件中声明,并在属性声明中使用,就像 Add New Project > Dss Service 向导构建它们一样。我的理解是标识符只是一个唯一的字符串。这是想告诉我它必须以某种方式匹配我的命名空间吗?

如果我再次构建,错误就会消失,但如果我在构建之前强制重建或清理,它就会回来。

谢谢,安迪

0 投票
3 回答
13296 浏览

c# - C#:如何从 XML 元素中删除命名空间信息

如何从 C# 中的每个 XML 元素中删除“xmlns:...”命名空间信息?

0 投票
39 回答
3928724 浏览

python - if __name__ == "__main__": 做什么?

给定以下代码,它的作用是if __name__ == "__main__":什么?

0 投票
4 回答
645 浏览

namespaces - 在 VxWorks 中多次实例化程序时如何解决命名冲突

我需要在 VxWorks 中运行 C 程序的多个实例(VxWorks 有一个全局命名空间)。问题是 C 程序定义了在全局命名空间中冲突的全局变量(旨在供该程序的特定实例使用)。为了完成这项工作,我想对程序进行最小的更改。欢迎所有想法!

问候

顺便说一句……现在不是提及全局变量不是最佳实践的好时机!

0 投票
3 回答
4079 浏览

xml - 命名空间 URI 中的尾部斜杠有什么意义?

我一直在研究 SOAP 和 WSDL 以准备实现 Web 服务。我遇到的一件令我困惑的事情是,我看到的一些 URI 使用了斜杠,例如:

而我研究过的其他示例则省略了这个斜杠。我对此真的有几个问题:

  • 尾部斜线的意义是什么?
  • URI http://www.w3.org/some-namespace 是否与 http://www.w3.org/some-namespace/ 相同?
  • 如果它们不相同,我如何决定何时需要一种形式与另一种形式?
  • 我已经阅读了 w3c 给出的关于 URI 的指导方针,这些指导方针似乎表明只有当 URI 字符串的区分大小写比较被认为相等时,该 URI 才应该被认为是相等的。这种解释正确吗?