问题标签 [name-collision]

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 投票
13 回答
55187 浏览

c - 如果两个库提供同名函数产生冲突怎么办?

如果我有两个提供同名函数的库,我该怎么办?

0 投票
4 回答
1770 浏览

javascript - javascript函数名冲突

我有两个 JavaScript 文件,其中包含同名 $() 的 jQuery 函数。

如何区分两个同名函数?

0 投票
3 回答
10879 浏览

r - 由于搜索路径上的名称冲突,如何在 R 中取消屏蔽函数

当我加载包debug以调试带有zoo对象的脚本时,我遇到了麻烦:函数indexfromzoodebug包掩盖了。我怎样才能解开面具index?一般来说,如何处理这些名称冲突问题?我们只是不使用debug带有“动物园”的包吗?

0 投票
3 回答
8307 浏览

java - 如何在不同的包中导入两个同名的类?

我想导入这两个类,都命名为Query- 一个是JDO类,另一个是JPA类,以便在同一类中的不同方法中使用。

有没有办法在文件顶部同时全局导入它们?

0 投票
1 回答
250 浏览

javascript - 如何运行相同的javascript函数

经过广泛的研究,我找不到适合我(相当)低技能的 javascript 的答案。如果你们中的任何一个人能提供帮助,那将是一个很大的解脱。

我试图在同一页面上运行此脚本两次,但我认为问题是不能调用 onYouTubePlayerReady 函数两次,而不会被最后一次覆盖。此外,如果我更改其名称,则不会执行实际功能。

这是代码。我希望它在同一页面中播放多达 4 个没有声音和自动播放的 youtube 视频。你知道怎么可能吗?

谢谢你的时间

0 投票
2 回答
1236 浏览

java - Java 覆盖冲突 - 相同的名称具有不同的返回类型

我尝试创建一个扩展File类(java.io.File)的类并实现TreeNode接口,如下所示:

并尝试实现TreeNode方法,但发生了冲突。

public String getParent(){}on File类在返回类型上与public TreeNode getParent()on TreeNode接口有冲突。

我们该如何解决呢?(例如为什么不能使用 Object 类作为返回类型!)

最后我决定在我的课堂上使用一个文件对象。

0 投票
1 回答
1037 浏览

c# - 在 VBA 中早期绑定 C# COM 库

虽然这是一个很长的问题,但编码和测试部分应该很容易重现。

我已经创建了两个单独Class LibrariesC#,我认为我遇到了由我以前的项目和试验中的现有注册表项引起的名称冲突问题。

这是我的两门课:

我已经向 COM 公开了 .Net 组件,如下所示:
为了从 Excel 访问程序集,我已将ADODB 引用添加到程序集,勾选使程序集 COM 可见注册 com interop。此外,我添加了对每个*.tlb文件的引用(两个项目的 2 个文件),因此我可以使用早期绑定访问它们并使用 VBA Intellisense

我在另一台机器上遵循了相同的过程,我可以使用Connectionas 类使用早期绑定。

我在想有一些旧的注册表项我没有在我的原始机器上删除,它们不允许我Connection用作 VBE 中的类名。我已经手动扫描了我的注册表并删除了我能想到的与我的项目相关的所有内容。

我还完全删除了该项目并使用第 3 方软件扫描注册表以查找缺失dll的 s,但这并没有帮助:/

每次我创建一个新项目时,删除所有以前注册的 GUID 并应用新的(以防万一

使用不同的命名空间和类名 () 创建了新项目using ADODB;我还不能像这样使用早期绑定,Test.Connection因此我假设我有一个名称冲突问题。我怀疑是名称类Connection导致了它,尽管我不是 100% 确定。

Test.TestClassVBA 中的命名空间:

TestClass我可以使用早期绑定以两种方式声明和使用该类型的实例:

现在进入 VBE 对象资源管理器F2TestClass与其他库和使用 COM 的一般想法相比,它已正确显示。

TestClass 对象资源管理器

但是,当我想使用该Test.Connection库时,我无法按照相同的模式使用早期绑定,TestClass因为生成的*.tlb文件会自动更改(重命名ProgId's. 所以,我必须像这样绑定它

并且Object Explorer使用_(下划线)而不是.(点)显示名称,这很容易解释为什么会发生这种情况 - 继续阅读:)

无法使用早期绑定

就目前而言,我确信更改名称以避免冲突的不是 VBE 环境。它是 VS 的*.tlb生成器。

我去了程序集文件夹并*.tlbNotepad++. 我可以清楚地看到*.tlbforTest.Connection库已经包含带有_s 的名称,不像Test.TestClasswhich 有.s

我试图手动编辑该*.tlb文件,但由于它是一个混合二进制文件,它会产生一些效果,但也会导致 Excel 以一些奇怪的方式停止响应,所以我必须避免这种方法。

我想我已经很好地解释了问题是什么以及它来自哪里。现在我的问题是:
在 C# 代码中是否有任何属性可以用来告诉*.tlb生成器不要覆盖我ProdId的 s?
有没有其他操作*.tlb文件的方法?
这个问题是一个问题吗?name collision在不更改Connection类名的情况下是否可以避免?

对于这么长的问题,我很抱歉,但我已经挖了将近一个星期了,我仍然无法解决这个问题。

ctrl注意:在使用 IntelliSense +的VBA(或 VBE 对象资源管理器)中space,似乎既没有Connection使用也Recordset没有使用。由于它们尚未在 VBE 环境中保留,因此我认为这与我的库本身有关。

作为此处提出此问题的参考,请参阅VBA 等效于 C# using 或 VB.NET 导入创建别名
非常感谢您的宝贵时间!

0 投票
2 回答
25125 浏览

ms-access - Access VBA:SQL 查询导致 UPDATE 语法错误

我有一个包含链接表的数据库——员工、课程和 Training_Record。每个工作人员都有一个数字主键,每个课程和 Training_Record 表中的每个条目也是如此。员工和课程的 Training_Record 参考记录中的 Staff_ID 和 Course_ID。

添加工作人员或课程时,Training_Record(字段:Staff_ID、Course_ID、Date_Taken、Notes)插入了工作人员、课程记录 - 因此添加工作人员 1 将插入记录 (1,1,,,), (1,2 ,,,) 等,添加课程 8 将插入记录 (1,8,,,), (2,8,,,) 等等。这行得通。

然后我有一个表格来记录培训。用户选择课程,输入日期并从列表框中选择工作人员。我有一个触发 VBA 代码的保存按钮。日期和课程从框中拉出,我在列表框周围循环,将选定的员工连接成一个字符串。这一切正常,并显示一个消息框,验证这一点。然后,应该运行更新 SQL 查询,更新 Training_Record。

我遇到的问题是 SQL 更新。我有一个可以在 SQL 查询编辑器中使用的更新查询,尽管它使用写入变量:

这将更新 Training_Record 以显示员工 1、2、3、4 和 5 于 2012 年 12 月 12 日参加了课程 4。但是,在 VBA 中这不起作用。这是我在 VBA 中的 SQL 查询:

代码生成的错误是“运行时错误'3144':UPDATE 语句中的语法错误”。并且调试器突出显示查询后的 DoCmd.RunSQL 语句。整个 VBA 代码:

TL;DR 我无法在 VBA 中运行 SQL UPDATE 查询

我有一种感觉,这是某个地方的语法错误,但我找不到在哪里。任何想法/建议将不胜感激,谢谢。

0 投票
1 回答
7000 浏览

vba - 如何将 ActiveX 控件复制到另一个工作表以防止控件的名称更改

我正在使用下面的代码从一张纸上复制命令按钮并将其粘贴到另一张纸上:

当我粘贴它时,它被重命名为HasACustomNameto CommandButton1

我可以以保留名称的方式复制/粘贴它或在粘贴后更改名称吗?

0 投票
2 回答
463 浏览

variables - 如何访问 Go 中变量隐藏的命名空间?

我最近在 Go 中编写了以下代码:

但后来我意识到现在命名空间“tasks”被变量“tasks”隐藏了。

所以我想知道,一旦命名空间被变量隐藏,有没有办法仍然可以访问它?如果没有,是否有任何其他常用技术来处理这种情况。由于 Go 使用的所有奇怪的短命名空间(“url”、“bytes”、“strings”等),它似乎为自己保留了所有潜在的变量名。有什么建议吗?