Freezable.Clone Methode

Definitie

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.

Van toepassing op

Zie ook