Freezable.Clone 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.
Membuat klon yang dapat dimodifikasi dari Freezable, membuat salinan mendalam dari nilai objek. Saat menyalin properti dependensi objek, metode ini menyalin ekspresi (yang mungkin tidak lagi diselesaikan) tetapi bukan animasi atau nilainya saat ini.
public:
System::Windows::Freezable ^ Clone();
public System.Windows.Freezable Clone();
member this.Clone : unit -> System.Windows.Freezable
Public Function Clone () As Freezable
Mengembalikan
Klon yang dapat dimodifikasi dari objek saat ini. Properti objek IsFrozen kloning bahkan false jika properti sumber IsFrozen adalah true.
Keterangan
Metode Clone dan CloneCurrentValue menghasilkan klon objek beku Freezable yang dapat dimodifikasi (metode juga mengkloning Freezable objek yang tidak dibekukan). Kloning secara efektif merupakan salinan mendalam dari objek saat ini.
Tabel berikut ini meringkas perbedaan antara Clone metode dan CloneCurrentValue .
| Action | Perilaku metode kloning | Perilaku metode CloneCurrentValue |
|---|---|---|
| Menyalin properti dependensi yang memiliki ekspresi | Ekspresi disalin, tetapi mungkin tidak lagi diselesaikan. Untuk informasi selengkapnya, lihat Gambaran Umum Objek Freezable. | Nilai ekspresi saat ini disalin, tetapi bukan ekspresi itu sendiri. |
| Menyalin properti dependensi animasi | Nilai dasar properti (non-animasi) disalin. Animasi tidak disalin. | Nilai animasi properti saat ini disalin. Animasi tidak disalin. |
Perhatikan bahwa properti yang tidak diatur tidak disalin. Jika properti yang tidak diatur memiliki nilai default yang merupakan nilai yang dibekukan Freezable, nilai properti tersebut tetap dibekukan dalam klon yang dapat dimodifikasi.
Memindahkan Freezable Di Antara Utas
Metode ini dapat berguna untuk memindahkan Freezable antar utas. Pertama, buat yang Freezable tidak dapat dimodifikasi dengan memanggil metodenya Freeze . Sekarang utas lain dapat mengakses Freezable dan membuat lokal Clone yang dapat diaksesnya.
Catatan Bagi Inheritor
Metode ini menggunakan CloneCore(Freezable) untuk menghasilkan kloning. Untuk memodifikasi perilaku metode ini dalam kelas turunan CloneCore(Freezable) , ambil alih metode .