Freezable.CloneCore(Freezable) 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 wordt het exemplaar een kloon (diepe kopie) van de opgegeven Freezable met behulp van basiseigenschapswaarden (niet-geanimeerde waarden).
protected:
virtual void CloneCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void CloneCore(System.Windows.Freezable sourceFreezable);
abstract member CloneCore : System.Windows.Freezable -> unit
override this.CloneCore : System.Windows.Freezable -> unit
Protected Overridable Sub CloneCore (sourceFreezable As Freezable)
Parameters
- sourceFreezable
- Freezable
Het object dat moet worden gekloond.
Opmerkingen
Deze methode wordt aangeroepen door de Clone methode en mag niet rechtstreeks vanuit uw code worden aangeroepen, behalve bij het aanroepen van de basis-implementatie tijdens het overschrijven van deze methode. Als u een wijzigbare kopie van het huidige object wilt maken, roept Clone u deze methode aan in plaats van deze methode rechtstreeks aan te roepen.
Notities voor overnemers
Als u afgeleid bent van Freezable, moet u deze methode mogelijk overschrijven. Redenen om te overschrijven zijn onder andere:
Uw afgeleide klasse bevat gegevens die niet beschikbaar zijn via afhankelijkheidseigenschappen.
Uw afgeleide klasse moet extra initialisatiewerkzaamheden uitvoeren die niet kunnen worden uitgevoerd door simpelweg te overschrijven CreateInstanceCore(). Dit is bijvoorbeeld van toepassing als uw afgeleide klasse implementeert ISupportInitialize.
Klassen die al hun gegevens opslaan in afhankelijkheidseigenschappen en die geen extra initialisatiewerkzaamheden hoeven uit te voeren, hoeven niet te worden overschreven CloneCore(Freezable).
Het is essentieel dat alle implementaties de basisuitvoering van deze methode aanroepen. Implementaties mogen alleen werk uitvoeren dat niet wordt uitgevoerd door de standaard implementatie. De standaard implementatie maakt diepe kopieën van alle schrijfbare, lokaal ingestelde eigenschappen, inclusief interne expressies.
Als het object gegevensgebonden afhankelijkheidseigenschappen heeft, worden de expressies gekopieerd, maar worden deze mogelijk niet meer omgezet. Zie Overzicht van Freezable Objects voor meer informatie over het klonen van gegevensgebonden objecten. Als het object geanimeerde afhankelijkheidseigenschappen heeft, wordt de basiswaarde (niet-geanimeerde) van deze eigenschappen gekopieerd. Animaties worden niet gekopieerd.
Houd er rekening mee dat niet-insteleigenschappen niet worden gekopieerd en ook geen alleen-lezeneigenschappen zijn. Als een dergelijke eigenschap een standaardwaarde heeft die is geblokkeerd, blijft die eigenschapswaarde geblokkeerd Freezablein de anders wijzigbare kloon.
De volgende lijst bevat een overzicht van het verwachte gedrag voor deze methode:
De geproduceerde kopie bevat kopieën van alle Freezable subobjecten.
Niet-instel- en alleen-lezeneigenschappen worden niet gekopieerd.
Expressies worden gekopieerd.
Geen van deze subobjecten wordt geblokkeerd bij het maken.
De kopie zelf is niet geblokkeerd.
Animaties worden niet gekopieerd.
Alleen basiswaarden voor eigenschappen worden gekopieerd, niet de huidige geanimeerde waarden.