Freezable.Clone メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Freezable の変更可能な複製を作成し、オブジェクトの値の詳細コピーを作成します。 このメソッドは、オブジェクトの依存関係プロパティをコピーするときに式をコピーしますが (コピーされた式は解決されなくなる場合があります)、アニメーションやその現在の値はコピーしません。
public:
System::Windows::Freezable ^ Clone();
public System.Windows.Freezable Clone ();
member this.Clone : unit -> System.Windows.Freezable
Public Function Clone () As Freezable
戻り値
現在のオブジェクトの変更可能な複製。 複製されたオブジェクトの IsFrozen プロパティは、ソースの IsFrozen プロパティが false
の場合でも、true
です。
注釈
メソッドとCloneCurrentValueメソッドはClone、フリーズFreezableされたオブジェクトの変更可能なクローンを生成します (このメソッドでは、固定されていないオブジェクトも複製Freezableします)。 複製は実質的に現在のオブジェクトのディープ コピーです。
次の表は、メソッドとCloneCurrentValueメソッドの違いをCloneまとめたものです。
操作 | 複製メソッドの動作 | CloneCurrentValue メソッドの動作 |
---|---|---|
式を含む依存関係プロパティのコピー | 式はコピーされますが、解決されない可能性があります。 詳細については、「Freezable オブジェクトの概要」を参照してください。 | 式の現在の値はコピーされますが、式自体はコピーされません。 |
アニメーション化された依存関係プロパティのコピー | プロパティの基本 (アニメーション化されていない) 値がコピーされます。 アニメーションはコピーされません。 | プロパティの現在のアニメーション値がコピーされます。 アニメーションはコピーされません。 |
未設定のプロパティはコピーされないことに注意してください。 設定されていないプロパティに、固定 Freezableされた既定値がある場合、そのプロパティ値は、それ以外の変更可能な複製で固定されたままです。
スレッド間で Freezable を移動する
このメソッドは、スレッド間の移動に Freezable 役立ちます。 まず、メソッドを Freezable 呼び出して変更不可にします Freeze 。 これで、別のスレッドが Freezable アクセスし、アクセスできるローカル Clone を作成できるようになりました。
注意 (継承者)
このメソッドは、複製を生成するために使用 CloneCore(Freezable) します。 派生クラスでこのメソッドの動作を変更するには、メソッドをオーバーライドします CloneCore(Freezable) 。