Freezable.CloneCurrentValueCore(Freezable) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menjadikan instans sebagai klon yang dapat dimodifikasi (salinan mendalam) dari yang ditentukan Freezable menggunakan nilai properti saat ini.
protected:
virtual void CloneCurrentValueCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void CloneCurrentValueCore(System.Windows.Freezable sourceFreezable);
abstract member CloneCurrentValueCore : System.Windows.Freezable -> unit
override this.CloneCurrentValueCore : System.Windows.Freezable -> unit
Protected Overridable Sub CloneCurrentValueCore (sourceFreezable As Freezable)
Parameter
Keterangan
Metode ini dipanggil oleh CloneCurrentValue 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 CloneCurrentValue 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 CloneCurrentValueCore(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. Jika objek berisi properti dependensi dengan ekspresi (seperti pengikatan data), nilai ekspresi saat ini disalin tetapi bukan ekspresi itu sendiri.
Jika objek memiliki properti dependensi animasi, nilai animasi properti tersebut saat ini disalin, tetapi animasinya tidak.
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.
Jika properti dianimasikan, nilainya saat ini disalin, tetapi animasi itu sendiri tidak.
Tidak satu pun dari sub-objek ini dibekukan pada pembuatan.
Salinan itu sendiri tidak dibekukan.