问题标签 [clone]
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.
jquery - jQuery克隆问题
我有个问题。
我使用这段代码:
我可以做些什么来设置克隆的 ID,我需要$.getJSON
在 jQuery 中淡入新项目。
我希望得到帮助。:)
c# - 位图克隆问题
考虑以下用于加载、修改和保存位图图像的代码:
它毫无例外地运行。但是考虑一下这个:
它以带有以下消息的 ExternalException 结束:“GDI+ 中发生一般错误”。这里有什么问题?对打开的文件有任何锁定吗?如果是这样,为什么第一个块有效?什么是克隆 System.Drawing.Bitmap 的正确代码,而我们可能需要在内存中编辑主对象或其克隆并且仍然将它们都加载到内存中?
java - 如何制作 ArrayList 的单独副本?
我有一个示例程序,如下所示:
我以为我可以修改里面的项目copiedInvoice
,它不会影响里面的这些项目originalInoice
。但是我错了。
如何制作一个单独的副本/克隆ArrayList
?
谢谢
c# - Cloning a C# Reference Type to a Derived Reference Type
Coming from a C++ background, I am finding cloning of objects in C# a little hard to get used to. To clear up some of my confusion, I am looking for an elegant way to clone an object of a base type to a derived type.
To illustrate:
And with that I want to create an instance of "Derived" whilst doing a memberwise copy of the Base object - preferably without assigning them manually.
Note: Maybe this would be more suited to a value type?
jquery - JQuery 可排序和克隆
两天后我就陷入了困境。在这里,我们有药物和掉落物,我们想要从右框到左克隆物品。如果我使用可拖动,它可以工作,但所有
丢弃的物品在丢弃后无法删除???
如果我同时使用可排序,则无法克隆(可排序不支持克隆)???
我该如何解决这个问题。是错误还是我做错了什么。Gol 是在右侧有“只读”项目,可以拖放到左侧,然后通过排序和删除操作左侧列表。提前 Tnx
clone - 封装聚合/组合
关于封装的维基百科文章指出:
“封装还通过防止用户将组件的内部数据设置为无效或不一致的状态来保护组件的完整性”
我在一个论坛上开始讨论封装,在其中我问你是否应该总是在 setter 和/或 getter 中克隆对象以保留上述封装规则。我认为,如果您想确保主对象内部的对象不会被主对象外部篡改,您应该始终克隆它。
一位讨论者认为,在这个问题上,您应该区分聚合和组合。基本上我认为他的意思是:
- 如果要返回一个作为合成一部分的对象(例如,矩形的点),请克隆它。
- 如果要返回一个属于聚合的对象(例如,作为 UserManager 的一部分的用户),只需在不破坏引用的情况下返回它。
这对我来说也很有意义。但现在我有点困惑。并想听听您对此事的看法。
严格来说,封装总是要求克隆吗?
PS.:我用 PHP 编程,资源管理可能更相关,因为它是一种脚本语言。
actionscript-3 - 键入接口中指定的克隆方法
我正在编写一个需要类来实现 clone() 方法的接口。我对此的天真做法是这样的:
别处:
我原以为这种签名是合法的,因为MyGame.clone()
返回了一个实现 ISolvableGame 的类的实例,在我看来这满足了接口中的约定。但是,像上面这样的代码会产生一个编译错误,指的是MyGame.clone()
具有与接口中指定的签名不同的签名这一事实。
因此,我的问题是,如果实现的方法必须与接口中的签名完全匹配,我该如何制作需要克隆方法的接口?显然,使界面更具体没有任何意义。但是,如果我使实现的方法不那么具体(即,如果我键入MyGame.clone()
为返回ISolvableGame
),该克隆方法的其他用户将不再知道他们得到了什么。
我是否需要两个版本的克隆方法,一个是ISolvableGame
为了满足接口而键入的,另一个是MyGame
为了在类中使用而键入的?还是有更好的方法?
注意:我正在使用 ActionScript3(一种实现 ECMA4 规范的类 Java 语言)。我将其标记为与语言无关,因为假设 AS3 在处理接口的方式上并不是独一无二的。但是如果我上面的示例代码可以在其他语言中工作,那么我的问题可能特定于我的语言。
更新: 我突然想到检查我的语言的核心库是如何处理这个问题的。例如,有一个IEventDispatcher
接口,它定义了一个方法dispatch():Event
- 所以任何调度子类的类Event
都无法实现IEventDispatcher
,这最终与我的问题相似。
核心库通过让此类类继承自一个类来处理这个问题,该类EventDispatcher
的存在是为了实现IEventDispatcher
。因此获得了编译时类型安全,但代价是首先会淡化使用接口的意义,因为人们通常更喜欢接口来避免继承带来的问题。
我在想我的选择是:
- 最终依赖继承,就像核心库所做的那样
- 实现 Frederik 描述的两种方法,具有不同的名称
- 正如 James 所描述的那样牺牲编译时类型安全
回答:最后,我选择让接口指定一个cloneToSolvable
方法 - 即,接口指定一个克隆到接口类型的方法,并且实现类必须具有该方法以及它们的任何更具体类型的克隆方法可能有。在我看来,这似乎是最不令人不快的选择。
jquery - 在 jQuery 中的 clone() 期间丢失了什么?
html:
没有克隆()的脚本,可以正常工作:
带有克隆()的脚本,不起作用:
git - 克隆裸 git 存储库的单个路径
我正在尝试将提交后挂钩添加到裸存储库,这样每当提交时,更改的文件就会自动安装在(硬编码)目录中。
有没有办法从存储库中获取单个文件?
git-clone 似乎不允许指定路径,并且我发现的任何其他命令(git-fetch、git-pull)似乎都需要现有的本地 git 存储库才能工作。
有没有办法做到这一点?
jquery - JQuery克隆方法添加的复选框标签问题
如何为通过 JQuery Clone(false) 方法添加且没有唯一 id 的 Checkbox 指定标签?