Bagikan melalui


Freezable.GetAsFrozen Metode

Definisi

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.

Berlaku untuk

Lihat juga