Freezable.Clone 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 van de Freezable, waardoor diepe kopieën van de waarden van het object worden gemaakt. Bij het kopiëren van de eigenschappen van de afhankelijkheid van het object kopieert deze methode expressies (die mogelijk niet meer worden omgezet) maar niet animaties of hun huidige waarden.
public:
System::Windows::Freezable ^ Clone();
public System.Windows.Freezable Clone();
member this.Clone : unit -> System.Windows.Freezable
Public Function Clone () 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.
| Action | 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 door de methode aan Freeze te roepen. Nu heeft een andere thread toegang tot de Freezable thread en maakt u een lokale Clone thread waartoe deze toegang heeft.
Notities voor overnemers
Deze methode gebruikt CloneCore(Freezable) om de kloon te produceren. Als u het gedrag van deze methode in een afgeleide klasse wilt wijzigen, overschrijft u de CloneCore(Freezable) methode.