Freezable.GetAsFrozen 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 salinan beku dari Freezable, menggunakan nilai properti dasar (non-animasi). Karena salinan dibekukan, sub-objek beku apa pun disalin oleh referensi.
public:
System::Windows::Freezable ^ GetAsFrozen();
public System.Windows.Freezable GetAsFrozen();
member this.GetAsFrozen : unit -> System.Windows.Freezable
Public Function GetAsFrozen () As Freezable
Mengembalikan
Salinan beku dari Freezable. Properti salinan IsFrozen diatur ke true.
Pengecualian
tidak Freezable dapat dibekukan karena berisi ekspresi atau properti animasi.
Keterangan
Anda harus memeriksa CanFreeze properti sebelum memanggil metode ini untuk memverifikasi bahwa Freezable dapat dibekukan. Menggunakan metode ini mirip dengan membuat salinan menggunakan Clone dan kemudian membekukannya dengan Freeze metode .
Metode GetAsFrozen dan GetCurrentValueAsFrozen dapat meningkatkan performa penyalinan karena tidak mengkloning Freezable sub-objek yang sudah dibekukan; mereka hanya menyalinnya dengan referensi.
Tabel berikut ini meringkas perbedaan antara GetAsFrozen metode dan GetCurrentValueAsFrozen .
| Action | Perilaku metode GetAsFrozen | Perilaku metode GetCurrentValueAsFrozen |
|---|---|---|
| Menyalin properti dependensi yang memiliki ekspresi | Metode melemparkan InvalidOperationException karena tidak dapat Freeze properti . | 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, juga bukan properti baca-saja.
Untuk membuat salinan Freezable yang tidak dibekukan, gunakan metode .Clone
Catatan Bagi Inheritor
Metode ini menggunakan metode virtual GetAsFrozenCore(Freezable) untuk menghasilkan kloning.