问题标签 [name-clash]

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 投票
5 回答
1276 浏览

c# - C# 默认范围解析

我继承了与 BCL 类“Windows.Forms.Button”冲突的 ac# 类“Button”(我无法更改)。通常,我很乐意去:

但是有大量或对此类的引用,这很痛苦,必须重新输入。

有没有办法让编译器(链接器?)默认使用自定义版本的 Button 而不是 BCL 版本?

0 投票
1 回答
796 浏览

java - 方法变量和包名之间的 Java 命名冲突

我有一些由 Axis 框架从 WSDL 文件生成的类。在其中一个类中,有一个生成的方法

方法参数中的变量名 org 与包 org.apache.axis.client 产生命名冲突,因为编译器无法区分包和变量。我意识到我可以通过更改方法中的变量名 org 轻松解决此问题,但我想避免这种情况,因为它会减慢工作流程。除了修改 WSDL 文件或生成的类之外,还有其他方法吗?

编译器错误:

0 投票
2 回答
749 浏览

c++ - 混合 Objective-C 和 C++ 代码

我有一个使用 C++ 库提供的功能的 Objective-C/C++ 应用程序。

其中一个 C++ 类包括一个像这样的枚举:

在 Objective-C/C++ 源文件 (*.mm) 中包含(使用#import -如果重要的话-)带有上述类声明的头文件将导致编译失败,因为预处理器会将“YES”替换为“ (BOOL) 1"(同样地,“(BOOL) 0”为“NO”)。

有没有办法在不重命名枚举值的情况下解决这个问题?

0 投票
1 回答
133 浏览

architecture - 层之间的名称冲突

所以我正在开发一个非常酷(而且非常大)的 n 层应用程序。

基本上我有以下程序集:


Domain.Contracts

服务
Services.Contracts

Presentation.Admin
Presentation.Web
Presentation.Core(在 Admin 和 Web 之间共享)
我可以实现 Presentation.Core.Contracts

我正在努力解决的主要问题是不同层之间的名称冲突。 IE。

Services.Contracts.AccountServicesRequest
域.Contracts.AccountServicesRequest

我对服务名称有同样的问题(在这种情况下,我只是将类用作服务而不是 WCF 等)。IE:

Services.Contracts.IAccountService
域.Contracts.IAccountService

我现在通过在域层 IxxxServiceHandler 中创建所有“服务处理程序”来解决这个问题,这给了我这个:

Services.Contracts.IAccountService
域.Contracts.IAccountServiceHandler

但是,对于在层之间来回传递的对象,我无法解决这个问题。这似乎通过我的解决方案散布在很多地方。我只是想看看是否有人遇到过同样的问题。如果是这样,您是如何解决它们的?

0 投票
3 回答
1578 浏览

c++ - C++/VS2005:在两个不同的 .cpp 文件中定义相同的类名

有点学术问题,但我在编写一些单元测试时遇到了这个问题。

我的单元测试框架 (UnitTest++) 允许您创建结构以用作固定装置。通常这些是为文件中的测试定制的,所以我把它们放在我的单元测试文件的顶部。

但是,我最近发现(至少在 VS2005 中),当您使用相同的名称命名夹具结构时(因此现在存在同名的结构的两个版本),然后其中一个版本会被默默地抛出。这非常令人惊讶,因为我将编译器设置为 /W4(最高警告级别)并且没有出现警告。我想这是名称冲突,为什么要发明命名空间,但我真的需要将每个单元测试装置包装在单独的命名空间中吗?我只是想确保我没有遗漏一些更基本的东西。

有没有更好的方法来解决这个问题 - 这应该发生吗?我不应该看到重复符号错误或其他什么吗?

0 投票
1 回答
1014 浏览

java - 扩展时 Java 泛型名称冲突

我是泛型的新手,如果能解决以下问题,我将不胜感激:

我有这个父类:

然后我有这个子类:

好吧,希望Child.f会覆盖Parent.f,但不幸的是编译器不喜欢这里发生的事情并给了我:

Name clash: The method f(K, V) of type Child<K,V> has the same erasure as f(K, V) of type Parent<K,V> but does not override it

我以前在不同的上下文中看到过这个错误,但我不确定它为什么会出现在这个特定的上下文中。有什么办法可以避免吗?

提前致谢。

0 投票
1 回答
2701 浏览

asp.net-mvc-3 - ASP.NET MVC 3 模型绑定 - ViewBag.Title 与 id="Title" 的输入冲突

ViewBag 动态属性似乎存在问题。可以说我有:

然后在页面上的表格中我有:

其中 Title 是数据库表中字段的名称。

当页面首次打开时,ID 为“Title”的文本框采用 ViewBag.Title 动态属性的值。

我对模型绑定的确切细节有点模糊,但这似乎是一个错误,或者如果不是,如果它是由于绑定过程而自然发生的事情,那么很高兴被警告这。

我发现的解决方法是将 ViewBag 属性重命名为:

(标题更改为 Titulo - 总是很高兴知道另一种语言以避免名称冲突......)

问题就消失了。

然而,问题是:

这种行为是可以预期的吗?这个错误很容易找到(花了一个小时才弄清楚,包括写这个问题),但我怀疑其他错误可能更多,嗯,深奥。

编辑:

改写问题:

Model Binder 会自动绑定它在 ViewBag 中找到的属性吗?即使我已传递给页面的强类型 ViewModel 中存在现有属性?当然 ViewModel 应该优先考虑?

0 投票
1 回答
194 浏览

python - 导入名称中包含“django”一词的包时出现名称冲突?

我有一个有点奇怪的问题。我决定重命名我的包的整个分支

问题是完成此操作后,我收到以下错误:

如果我现在,将名称恢复为

有用!请注意,我在 django 这个词中添加了“x”。

使用 foo.django.bar.somemodule 时似乎存在某种名称冲突,但是给出了什么?它们应该与 django 本身分开。

我的代码中的所有导入都是形式

编辑:澄清倒数第二个导入中有一个“x”

0 投票
2 回答
407 浏览

gcc - 如何构建一个只有几个函数的接口和隐藏的其余对象的 C 库?

假设我有三个 C 目标文件:po、qo、ro,我想用它们创建一个库。第一个对象文件 po 有几个我想导出的函数,这些函数是使用其他两个对象(qo、ro)实现的。现在我想要这样,当与这样的库链接时,应该只看到 po 中的函数,而没有其他函数,因为它们的符号可能与主项目中的其他对象发生冲突。例如,qo 可能具有 po 需要的某些函数 f(),但这可能与在主项目中实现的某些 f() 发生冲突,这些 f() 在其他库中与该库链接。我怎样才能使用 gcc 做到这一点?

0 投票
1 回答
186 浏览

glassfish - 应该如何处理应用服务器中的库冲突?

第三方库通常包含在您要部署到的应用程序服务器中,并与您的应用程序中包含的库进行分类。到目前为止,我已经以最简单和最简单的方式处理了这个问题:删除应用服务器上的库。

在我们的例子中,没关系,没有人依赖应用服务器为他们提供任何库。但是,如果我与许多其他人的应用程序一起运行我的应用程序,这可能又取决于应用程序服务器包含的库,这将不是一个解决方案。

应该如何(干净地)解决?你怎么样?

一个问题的示例可能是:您使用 cxf、hibernate 和 jackson 构建了一个 jax-rs 应用程序,并部署到 glassfish 2.1.1。glassfish 提供 asm 3.1 库,但这会导致使用不兼容的 1.5 版本与 hibernate 发生冲突。同样,该应用程序需要 jackson 1.8.2(由于错误修复),但 glassfish 2.1.1 附带版本 0.9。繁荣。除了简单地删除有问题的库之外,还有什么方法可以解决这个问题?