Freezable.CloneCurrentValue Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy modyfikowalny klon (kopię głęboką) Freezable obiektu przy użyciu jego bieżących wartości.
public:
System::Windows::Freezable ^ CloneCurrentValue();
public System.Windows.Freezable CloneCurrentValue ();
member this.CloneCurrentValue : unit -> System.Windows.Freezable
Public Function CloneCurrentValue () As Freezable
Zwraca
Modyfikowalny klon bieżącego obiektu. Właściwość sklonowanego obiektu IsFrozen jest false
nawet wtedy, gdy właściwość źródła IsFrozen to true
.
Uwagi
Metody Clone i CloneCurrentValue tworzą modyfikowalne klony zamrożonych Freezable obiektów (metody również klonują Freezable obiekty, które nie są zamrożone). Klon jest w rzeczywistości głęboką kopią bieżącego obiektu.
W poniższej tabeli przedstawiono podsumowanie różnic między metodami Clone i CloneCurrentValue .
Akcja | Zachowanie metody klonowania | Zachowanie metody CloneCurrentValue |
---|---|---|
Kopiowanie właściwości zależności z wyrażeniem | Wyrażenie jest kopiowane, ale może już nie zostać rozwiązane. Aby uzyskać więcej informacji, zobacz Omówienie obiektów z możliwością zamrażania. | Bieżąca wartość wyrażenia jest kopiowana, ale nie sama wyrażenie. |
Kopiowanie animowanej właściwości zależności | Wartość podstawowa właściwości (nieimowana) jest kopiowana. Animacje nie są kopiowane. | Bieżąca animowana wartość właściwości jest kopiowana. Animacje nie są kopiowane. |
Należy pamiętać, że nie są kopiowane nieskonfigurowane właściwości. Jeśli właściwość nieskonfigurowana ma wartość domyślną, która jest zamrożona Freezable, ta wartość właściwości pozostaje zamrożona w klonie modyfikowalnym.
Przenoszenie zamrażalnego między wątkami
Ta metoda może być przydatna Freezable do przenoszenia między wątkami. Najpierw należy uczynić Freezable go niemodyfikowalnym za pomocą metody Freeze . Teraz inny wątek może uzyskać dostęp do Freezable pliku i utworzyć lokalny klon, do którego może uzyskać dostęp.
Uwagi dotyczące dziedziczenia
Ta metoda używa CloneCurrentValueCore(Freezable) metody do utworzenia klonu; Freezable implementatory, które zastępują CloneCurrentValueCore(Freezable) , muszą upewnić się, że kopia nie jest zamrożona podczas tworzenia.