Freezable.CloneCurrentValue Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee maakt u een wijzigbare kloon (diepe kopie) van het gebruik van de Freezable huidige waarden.
public:
System::Windows::Freezable ^ CloneCurrentValue();
public System.Windows.Freezable CloneCurrentValue();
member this.CloneCurrentValue : unit -> System.Windows.Freezable
Public Function CloneCurrentValue () As Freezable
Retouren
Een wijzigbare kloon van het huidige object. De eigenschap van IsFrozen het gekloonde object is false zelfs als de eigenschap van IsFrozen de bron is true.
Opmerkingen
De Clone en CloneCurrentValue methoden produceren wijzigbare klonen van bevroren Freezable objecten (de methoden klonen Freezable ook objecten die niet zijn geblokkeerd). De kloon is effectief een diepe kopie van het huidige object.
De volgende tabel bevat een overzicht van de verschillen tussen de Clone en CloneCurrentValue methoden.
| Actie | Gedrag van kloonmethode | Gedrag van de cloneCurrentValue-methode |
|---|---|---|
| Een afhankelijkheidseigenschap kopiëren met een expressie | De expressie wordt gekopieerd, maar kan niet meer worden omgezet. Zie Overzicht van Freezable Objects voor meer informatie. | De huidige waarde van de expressie wordt gekopieerd, maar niet de expressie zelf. |
| Een eigenschap voor afhankelijkheid met animatie kopiëren | De basiswaarde van de eigenschap (niet-geanimeerd) wordt gekopieerd. Animaties worden niet gekopieerd. | De huidige waarde voor animatie van de eigenschap wordt gekopieerd. Animaties worden niet gekopieerd. |
Houd er rekening mee dat niet-insteleigenschappen niet worden gekopieerd. Als een niet-insteleigenschap een standaardwaarde heeft die is geblokkeerd, blijft die eigenschapswaarde geblokkeerd Freezablein de anders wijzigbare kloon.
Een freezable verplaatsen tussen threads
Deze methode kan handig zijn voor het verplaatsen van een Freezable tussen threads. Maak eerst de Freezable unmodifiable met behulp van de Freeze methode. Nu heeft een andere thread toegang tot de Freezable thread en maakt u een lokale kloon waartoe deze toegang heeft.
Notities voor overnemers
Deze methode maakt gebruik van de methode om de CloneCurrentValueCore(Freezable) kloon te produceren; Freezable implementeerfuncties die overschrijven CloneCurrentValueCore(Freezable) , moeten ervoor zorgen dat de kopie niet wordt geblokkeerd bij het maken.