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