Freezable.Clone メソッド

定義

Freezable の変更可能な複製を作成し、オブジェクトの値の詳細コピーを作成します。Creates a modifiable clone of the Freezable, making deep copies of the object's values. このメソッドは、オブジェクトの依存関係プロパティをコピーするときに式をコピーしますが (コピーされた式は解決されなくなる場合があります)、アニメーションやその現在の値はコピーしません。When copying the object's dependency properties, this method copies expressions (which might no longer resolve) but not animations or their current values.

public:
 System::Windows::Freezable ^ Clone();
public System.Windows.Freezable Clone ();
member this.Clone : unit -> System.Windows.Freezable
Public Function Clone () As Freezable

戻り値

Freezable

現在のオブジェクトの変更可能な複製。A modifiable clone of the current object. 複製されたオブジェクトの IsFrozen プロパティは、ソースの IsFrozen プロパティが false の場合でも、true です。The cloned object's IsFrozen property is false even if the source's IsFrozen property is true.

注釈

Cloneメソッドと CloneCurrentValue メソッドは、固定されたオブジェクトの変更可能な複製を生成し Freezable ます (メソッドは、 Freezable 固定されていないオブジェクトも複製します)。The Clone and CloneCurrentValue methods produce modifiable clones of frozen Freezable objects (the methods also clone Freezable objects that are not frozen). 複製は、事実上、現在のオブジェクトの詳細コピーです。The clone is effectively a deep copy of the current object.

次の表は、メソッドとメソッドの違いをまとめたもの Clone CloneCurrentValue です。The following table summarizes the differences between the Clone and CloneCurrentValue methods.

アクションAction 複製メソッドの動作Clone method behavior CloneCurrentValue メソッドの動作CloneCurrentValue method behavior
式を持つ依存関係プロパティのコピーCopying a dependency property that has an expression 式はコピーされますが、解決されなくなる可能性があります。The expression is copied, but might no longer resolve. 詳細については、「Freezable オブジェクトの概要」を参照してください。For more information, see Freezable Objects Overview. 式の現在の値はコピーされますが、式自体はコピーされません。The current value of the expression is copied, but not the expression itself.
アニメーション化した依存関係プロパティのコピーCopying an animated dependency property プロパティの基本 (アニメーション化されていない) 値がコピーされます。The property's base (non-animated) value is copied. アニメーションはコピーされません。Animations are not copied. プロパティの現在のアニメーション化された値がコピーされます。The property's current animated value is copied. アニメーションはコピーされません。Animations are not copied.

未設定のプロパティはコピーされないことに注意してください。Note that unset properties are not copied. 設定されていないプロパティの既定値が固定されている場合 Freezable 、そのプロパティ値は変更可能な複製でも固定されたままになります。If an unset property has a default value that is a frozen Freezable, that property value remains frozen in the otherwise modifiable clone.

スレッド間での Freezable の移動Move a Freezable Between Threads

このメソッドは、スレッド間でを移動する場合に便利です FreezableThis method can be useful for moving a Freezable between threads. 最初に、メソッドを呼び出して変更不可能な状態にし Freezable Freeze ます。First, make the Freezable unmodifiable by calling its Freeze method. これで、別のスレッドがにアクセスし、 Freezable アクセスできるようにローカルを作成できるようになりました CloneNow another thread can access the Freezable and make a local Clone that it can access.

注意 (継承者)

このメソッドは CloneCore(Freezable) 、を使用して複製を作成します。This method uses CloneCore(Freezable) to produce the clone. 派生クラスでこのメソッドの動作を変更するには、メソッドをオーバーライドし CloneCore(Freezable) ます。To modify the behavior of this method in a derived class, override the CloneCore(Freezable) method.

適用対象

こちらもご覧ください