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 プロパティは、ソースのfalse プロパティがIsFrozenされている場合でもtrueされます。
注釈
Cloneメソッドと CloneCurrentValue メソッドは、固定されたFreezable オブジェクトの変更可能な複製を生成します (このメソッドは、固定されていないオブジェクトFreezable複製することもできます)。 複製は、実質的に現在のオブジェクトのディープ コピーです。
次の表は、 Clone メソッドと CloneCurrentValue メソッドの違いをまとめたものです。
| アクション | Clone メソッドの動作 | CloneCurrentValue メソッドの動作 |
|---|---|---|
| 式を含む依存関係プロパティのコピー | 式はコピーされますが、解決されなくなる可能性があります。 詳細については、「Freezable オブジェクトの概要」を参照してください。 | 式の現在の値はコピーされますが、式自体はコピーされません。 |
| アニメーション化された依存関係プロパティのコピー | プロパティの基本 (アニメーション化されていない) 値がコピーされます。 アニメーションはコピーされません。 | プロパティの現在のアニメーション値がコピーされます。 アニメーションはコピーされません。 |
未設定のプロパティはコピーされないことに注意してください。 未設定のプロパティに固定された Freezableの既定値がある場合、そのプロパティ値は、それ以外の変更可能な複製では固定されたままです。
スレッド間で Freezable を移動する
このメソッドは、スレッド間で Freezable を移動する場合に便利です。 まず、Freezable メソッドを呼び出して、Freezeを変更不可にします。 これで、別のスレッドが Freezable にアクセスし、アクセスできるローカル Clone を作成できるようになりました。
注意 (継承者)
このメソッドでは、 CloneCore(Freezable) を使用して複製を生成します。 派生クラスでこのメソッドの動作を変更するには、 CloneCore(Freezable) メソッドをオーバーライドします。