問題タブ [icloneable]

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 投票する
4 に答える
7233 参照

c# - ICloneableの使い方Tがリストの場合

私は次のものを持っています:

これを複製可能にしたいと思います。ここでの例に従う:なぜICloneable <T>がないのですか?

私は次のことを試しました:

しかし、コンパイラエラーが発生します。エラーメッセージ には、汎用インターフェイスでパラメータTを使用するために List<Instance> 変換可能である必要があることが示さ れています。ICloneable<List<Instance>>ICloneable<T>

ここで何が欠けていますか?

0 投票する
6 に答える
2609 参照

c# - 使い捨てオブジェクトのクローンは、C#でメモリリークを引き起こしますか?

このコードを確認してください:

BitmapICloneableIDisposableC#で。

メモリリークを回避しすぎると、使い捨てオブジェクトの場合、通常はを使用usingします。そうすれば、コードがどれほど間違っていても、オブジェクトはシステムによって自動的に破棄されます。

私のサンプルではusing、​​オブジェクトを破棄したくないので使用できません。後で必要になります(クラス全体がオブジェクトを破棄するためIDisposableです。

私の質問は次のとおりです。imageObjectオブジェクトがあり、それを使用しClone()て新しいオブジェクトのクローンを作成し、古いオブジェクト変数に渡します。これにより、1つの(複製されたオブジェクトまたは元の)オブジェクトがどこにも移動せず、破棄されなくなり、メモリリークが発生しますか?

[編集]

ほとんどの意見はClone追加のオブジェクトを引き起こしているようです、古いものはDispose()

新しいコードは次のとおりです。

そしてそれは適切でなければなりませんリソースを処分します。

0 投票する
1 に答える
3702 参照

c# - 派生クラスで複製可能

から派生したクラスAがあるとします。BA

を与える

警告。

(1) 推奨される方法は何ですか? で使用またはnew宣言するA.Clone()_ virtual_overrideB

(2) にいくつかのメンバーがAあり、適切に複製されてA.Clone()いる場合、それらを複製する簡単な方法はありますか、B.Clone()それとも明示的に複製する必要がB.Clone()ありますか?

0 投票する
1 に答える
1127 参照

c# - ReSharperにICloneableインターフェースを実装させることは可能ですか?

ReSharper 6.1を使用して、クラスにICloneableインターフェイスを実装させる可能性はありますか?

どのように?

0 投票する
3 に答える
21097 参照

vb.net - リスト(クラスの)を複製する

私はいくつかの読書をしましたが、私のVB2010プロジェクトで(クラスの)リストを複製するための最良のアプローチが何であるかについて頭を悩ませているようです。私はそのように関連している3つのクラスを持っています

私が取り組んでいる都市があるとしましょう。ベースとして 1 つの道路とその危険を作成し、次に別の道路を追加しますが、前の道路の危険を出発点として使用し、フィールドを微調整したい場合があります。 .

したがって、クラスをコピーすると、コンテンツではなくポインターがコピーされることがわかります。ハザード クラスで ICloneable インターフェイスを使用しましたが、正しく使用しているとは言えません。Hazards 変数は、Hazard クラスのリストです。そのクラスのクローンを作成するにはどうすればよいですか?

0 投票する
1 に答える
3089 参照

c# - 'インターフェイス メンバー 'System.ICloneable.Clone()' を実装していません

Icloneable インターフェイスでの呼び出しに小さな問題があります

私はそのようなインターフェースを使用したいクラスに伝えました:

クローニング用の関数を配置しました

ただし、何らかの理由で、プログラムは System.ICloneable.clone() を実装していないことを教えてくれます。関数に明示的な名前を付けようとしました...

しかし、ほとんど効果がありません。誰かが私が間違っていることを知っていますか?

編集:フルクラス

0 投票する
2 に答える
2051 参照

c# - カスタム クローン/コピー機能の実装: 抽象かインターフェイスか?

実装することはお勧めできないことを知ったのでICloneable( Deep Copy と Shallow Copy を区別しないため)、抽象として実装するかインターフェイスとして実装するかを決定しようとしています。

私の実装は、バイナリのディープ コピーMemberwiseCloneシャロー コピーなど、ほぼ同じままであると感じているため、そのためには抽象メソッドが理想的であると感じました。ただし、私の理解では、C# は複数の継承を行わないため、別の抽象クラスを使用する必要がある場合は、もう使用できません。

その場合、カスタムICloneable(例: ICustomCloneable) を実装する方が良いと思いますが、実装が多くのクラスで実質的に同じである場合、コードの再利用を十分に活用していないように感じます。

そうは言っても、インターフェイスを使用して、複製可能なクラスでより重要なことのために抽象継承を明確に保つことは有効ですか? または、これを行う別の方法はありますか?

あるいは、アブストラクトが別のアブストラクトを実装することは有効ですか (読む: 臭くありません)? これは、CloneCapable クラスと別の抽象クラスの実装を妨げる単一継承を回避するための私の推測ですが、疑わしいように思えます。例えば: