問題タブ [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.
javascript - JavaScript オブジェクトを正しく複製するにはどうすればよいですか?
私はオブジェクトを持っていますx
。y
への変更が変更されy
ないように、オブジェクトとしてコピーしたいと思いますx
。組み込みの JavaScript オブジェクトから派生したオブジェクトをコピーすると、余分な不要なプロパティが作成されることに気付きました。独自のリテラル構成オブジェクトの 1 つをコピーしているので、これは問題ではありません。
JavaScript オブジェクトを正しく複製するにはどうすればよいですか?
.net - オブジェクトの現在の状態のため、操作は無効です
「オブジェクトの現在の状態のため、操作は有効ではありません」という例外が、.net の .Clone() 操作でスローされます。
フレームワーク2.0を使用しています。
理由が何であるかについてのアイデア。
前もって感謝します。
ラビ
c# - C# で Moq を使用してクローン メソッドを単体テストする
クローニングメソッドを持ついくつかの基本的なクラスがあります:
ValueD を追加したかどうかを示す単体テストが必要ですが、それを Clone メソッドに追加するのを忘れています。私の最初の試みは、Moq とその VerifyGet メソッドを使用して、各プロパティがアクセスされていることを確認することでした。
これは、VerifyGet メソッドが Property アクセサーの戻り値の型を知る必要があるため機能しません。実行時にそれを挿入する方法がわかりません (「オブジェクト」を使用しようとした私の不自由な試みがクラッシュし、やけど)。
Moq を使用するのが良いアイデアかどうかさえわかりません。それは私の最初のアイデアでした。
更新: クローニング メソッドをテストするための迅速かつ簡単な一般的な方法がないため、各クラスの型固有のテストを作成することにしました。これにより、プロパティがいつ追加されたかを知るという問題が残ります。これをクローンユニットテストに追加することにしました:
プロパティを追加すると、テストは失敗します。署名の一致が失敗した場合、残りのテストを修正するのに十分な責任があるかどうかは、依然として私にかかっています。
c# - Web サービスを複製する最も簡単な方法は何ですか?
私は、.NET (c#) を使用して Oracle Web サービスに接続するプロジェクトに取り組んでいます。唯一のことは、オフィスの場所からクライアントを構築することですが、顧客は Web サービス (会社のポリシーなど) へのリモート アクセスを提供しません。したがって、私たちの解決策は、顧客をオンサイトで訪問し、その Web サービスを「複製」して、代理 Web サービスを使用してクライアントを開発できるようにすることでした。
この Web サービスを複製する最良の方法は何ですか?
クローンはサンプル データを出力する必要がありますが、正確なメソッド呼び出しと型を使用します。クローンを実行するための推奨言語は c# です。
git - git リポジトリのクローンを作成するときにエイリアスを自動的に保持するにはどうすればよいですか?
私のgitリポジトリの設定ファイルには、便利なエイリアスがたくさん設定されています。ときどきこのリポジトリのクローンを (ラップトップなどに) 作成しますが、クローンには設定したエイリアスが含まれていません。ただし、クローンを操作するときにこれらのエイリアスを手動で再設定しなくても利用できるようにしたいと考えています。誰かがこれに対する良い解決策を見つけましたか?
java - Clone を Java で実装する代わりの方法はありますか?
私の Java プロジェクトには、さまざまなタイプのトレーダーのベクトルがあります。これらの異なるタイプのトレーダーは、Trader クラスのサブクラスです。現在、Trader を引数として取り、それをベクトルに 50 回程度格納するメソッドがあります。同じオブジェクトを 50 回保存すると、同じオブジェクトの参照が50 回保存されるだけなので、問題が発生しています。オブジェクトのコピーを50 個保存する必要があります。Cloneの実装について調査しましたが、 Trader の型を定義するプログラマーがクラスを複製可能にすることについて心配する必要はありません。また、このページで指摘されているように、クローンを実装すると、あらゆる種類の問題が発生します。コピー コンストラクターも動作しないと思います。なぜなら、Trader クラスで定義した場合、コピーしている Trader の型がわからず、汎用の Trader を作成するだけだからです。私に何ができる?
編集:特定のオブジェクトの正確なコピーを作成したくありません。私が実際にやろうとしているのは、特定の数のトレーダーをベクターに追加することです。問題は、ユーザーが追加したいトレーダーのタイプを引数で指定する必要があることです。これが私がやろうとしていることの例です:(私の構文は完全に想像上のものですが)
Javaでこのようなことを達成するにはどうすればよいですか?
c# - c#でHashTableに異なるクローンオブジェクトを追加する方法は?
キーとオブジェクトを、そのオブジェクトのクローンを作成し、キーと共に hastable に格納する必要があるクラス インスタンスに渡します。どうすればできますか?
c# - キャッシュされたオブジェクトの効率的な複製
データ オブジェクトの比較を実行して、オブジェクトの 1 つのバージョンが別のバージョンと異なるかどうかを判断するアプリケーションがあります。私たちのアプリケーションは、これらのオブジェクトの大規模なキャッシュも行いますが、これらの比較を行う際にパフォーマンスの問題が発生しました。
ワークフローは次のとおりです。
- データ項目 1 は、メモリ内の現在の項目です。このアイテムは最初にキャッシュから取得され、ディープ クローンが作成されました (辞書などのすべてのサブ オブジェクト)。次に、データ項目 1 が編集され、そのプロパティが変更されます。
- 次に、このオブジェクトをキャッシュに保存された元のバージョンと比較します。データ項目 1 が複製され、そのプロパティが変更されたため、これらのオブジェクトは異なるはずです。
ここにはいくつかの問題があります。
主な問題は、ディープ クローン メソッドが非常にコストがかかることです。浅いクローンに対してプロファイリングしたところ、10 倍遅くなりました。それはがらくたです。ディープクローンを作成する方法は次のとおりです。
最初は以下を使用してクローンを作成していました。
これはパフォーマンスが向上しましたが、浅い複製を行うため、辞書など、このオブジェクトのプロパティであったすべての複雑なオブジェクトは複製されませんでした。オブジェクトには、キャッシュ内にあったオブジェクトと同じ参照が含まれているため、比較するとプロパティは同じになります。
では、オブジェクト グラフ全体のクローン作成をカバーする C# オブジェクトのディープ クローン作成を効率的に行う方法はありますか?
java - ジェネリックスによるクローニング
昔々、クラスがありました:
オブジェクトには次のものがあります。
そして、クローン可能なインターフェースは次のとおりです。
これをどのように複製すればよいですか?