次の方法で共有


Freezable.Clone メソッド

定義

Freezable の変更可能な複製を作成し、オブジェクトの値の詳細コピーを作成します。 このメソッドは、オブジェクトの依存関係プロパティをコピーするときに式をコピーしますが (コピーされた式は解決されなくなる場合があります)、アニメーションやその現在の値はコピーしません。

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

戻り値

Freezable

現在のオブジェクトの変更可能な複製。 複製されたオブジェクトの IsFrozen プロパティは、ソースの IsFrozen プロパティが false の場合でも、true です。

注釈

メソッドとCloneCurrentValueメソッドはClone、フリーズFreezableされたオブジェクトの変更可能なクローンを生成します (このメソッドでは、固定されていないオブジェクトも複製Freezableします)。 複製は実質的に現在のオブジェクトのディープ コピーです。

次の表は、メソッドとCloneCurrentValueメソッドの違いをCloneまとめたものです。

操作 複製メソッドの動作 CloneCurrentValue メソッドの動作
式を含む依存関係プロパティのコピー 式はコピーされますが、解決されない可能性があります。 詳細については、「Freezable オブジェクトの概要」を参照してください。 式の現在の値はコピーされますが、式自体はコピーされません。
アニメーション化された依存関係プロパティのコピー プロパティの基本 (アニメーション化されていない) 値がコピーされます。 アニメーションはコピーされません。 プロパティの現在のアニメーション値がコピーされます。 アニメーションはコピーされません。

未設定のプロパティはコピーされないことに注意してください。 設定されていないプロパティに、固定 Freezableされた既定値がある場合、そのプロパティ値は、それ以外の変更可能な複製で固定されたままです。

スレッド間で Freezable を移動する

このメソッドは、スレッド間の移動に Freezable 役立ちます。 まず、メソッドを Freezable 呼び出して変更不可にします Freeze 。 これで、別のスレッドが Freezable アクセスし、アクセスできるローカル Clone を作成できるようになりました。

注意 (継承者)

このメソッドは、複製を生成するために使用 CloneCore(Freezable) します。 派生クラスでこのメソッドの動作を変更するには、メソッドをオーバーライドします CloneCore(Freezable)

適用対象

こちらもご覧ください