Freezable.CloneCore(Freezable) Metode

Definisi

Menjadikan instans sebagai kloning (salinan mendalam) dari yang ditentukan Freezable menggunakan nilai properti dasar (non-animasi).

protected:
 virtual void CloneCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void CloneCore(System.Windows.Freezable sourceFreezable);
abstract member CloneCore : System.Windows.Freezable -> unit
override this.CloneCore : System.Windows.Freezable -> unit
Protected Overridable Sub CloneCore (sourceFreezable As Freezable)

Parameter

sourceFreezable
Freezable

Objek untuk dikloning.

Keterangan

Metode ini dipanggil oleh Clone metode dan tidak boleh dipanggil langsung dari kode Anda, kecuali ketika memanggil implementasi dasar saat mengambil alih metode ini. Untuk membuat salinan objek saat ini yang dapat dimodifikasi, panggil Clone alih-alih memanggil metode ini secara langsung.

Catatan Bagi Inheritor

Jika Anda berasal dari Freezable, Anda mungkin perlu mengambil alih metode ini. Alasan untuk mengambil alih termasuk yang berikut ini:

  • Kelas turunan Anda memiliki data yang tidak diekspos melalui properti dependensi.

  • Kelas turunan Anda harus melakukan pekerjaan inisialisasi tambahan yang tidak dapat dicapai hanya dengan mengesampingkan CreateInstanceCore(). Misalnya, ini berlaku jika kelas turunan Anda mengimplementasikan ISupportInitialize.

Kelas yang menyimpan semua data mereka dalam properti dependensi dan yang tidak perlu melakukan pekerjaan inisialisasi tambahan tidak perlu mengambil alih CloneCore(Freezable).

Sangat penting bahwa semua implementasi memanggil implementasi dasar metode ini. Implementasi hanya boleh melakukan pekerjaan yang tidak dilakukan oleh implementasi default. Implementasi default membuat salinan mendalam dari semua properti yang dapat ditulis dan diatur secara lokal, termasuk ekspresi internal.

Jika objek memiliki properti dependensi terikat data, ekspresi disalin tetapi mungkin tidak lagi diselesaikan. Untuk informasi selengkapnya tentang mengkloning objek terikat data, lihat Gambaran Umum Objek yang Dapat Dibekukan. Jika objek memiliki properti dependensi animasi, nilai dasar (non-animasi) properti tersebut disalin. Animasi tidak disalin.

Perhatikan bahwa properti yang tidak diatur tidak disalin, juga bukan properti baca-saja. Jika properti seperti itu memiliki nilai default yang merupakan nilai properti yang dibekukan Freezable, nilai properti tersebut tetap dibekukan dalam klon yang dapat dimodifikasi.

Daftar berikut ini meringkas perilaku yang diharapkan untuk metode ini:

  • Salinan yang dihasilkan berisi salinan semua Freezable sub-objek.

  • Properti tidak diatur dan baca-saja tidak disalin.

  • Ekspresi disalin.

  • Tidak satu pun dari sub-objek ini dibekukan pada pembuatan.

  • Salinan itu sendiri tidak dibekukan.

  • Animasi tidak disalin.

  • Hanya nilai dasar properti yang disalin, bukan nilai animasi saat ini.

Berlaku untuk

Lihat juga