Freezable.CloneCore(Freezable) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
A példányt a megadott Freezable klónként (mélymásolatként) hozza létre alap (nem animált) tulajdonságértékek használatával.
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)
Paraméterek
- sourceFreezable
- Freezable
A klónozni kívánt objektum.
Megjegyzések
Ezt a metódust a Clone metódus hívja meg, és nem hívhatja meg közvetlenül a kódból, kivéve, ha az alap implementációt hívja meg a metódus felülírása során. Az aktuális objektum módosítható másolatának létrehozásához hívja meg Clone a metódus közvetlen meghívása helyett.
Megjegyzések az öröklőkhöz
Ha származik, Freezableelőfordulhat, hogy felül kell bírálnia ezt a módszert. A felülbírálás okai közé tartoznak a következők:
A származtatott osztály olyan adatokkal rendelkezik, amelyek nem a függőségi tulajdonságokon keresztül vannak közzétéve.
A származtatott osztálynak további inicializálási munkát kell végeznie, amelyeket nem lehet egyszerűen felülírni CreateInstanceCore(). Ez például akkor érvényes, ha a származtatott osztály implementál ISupportInitialize.
Azokat az osztályokat, amelyek az összes adatot függőségi tulajdonságokban tárolják, és amelyeknek nem kell további inicializálási munkát végezniük, nem kell felülbírálniuk CloneCore(Freezable).
Alapvető fontosságú, hogy minden implementáció ennek a módszernek az alap implementációját hívja meg. A implementációknak csak olyan munkát kell elvégeznie, amelyet az alapértelmezett implementáció nem hajt végre. Az alapértelmezett implementáció részletes másolatokat készít az összes írható, helyileg beállított tulajdonságról, beleértve a belső kifejezéseket is.
Ha az objektum adathoz kötött függőségi tulajdonságokkal rendelkezik, a program kimásolja a kifejezéseket, de előfordulhat, hogy a továbbiakban nem oldja fel a problémát. Az adatkötött objektumok klónozásával kapcsolatos további információkért tekintse meg a Fagyasztható objektumok áttekintése című témakört. Ha az objektum animált függőségi tulajdonságokkal rendelkezik, a program átmásolja a tulajdonságok alapértékét (nem animált). Az animációk nem lesznek másolva.
Vegye figyelembe, hogy a rendszer nem másolja a nem halmaztulajdonságokat, és nem írásvédett tulajdonságokat. Ha egy ilyen tulajdonság alapértelmezett értéke zárolva Freezablevan, akkor a tulajdonság értéke az egyébként módosítható klónban marad fagyasztva.
Az alábbi lista összefoglalja a metódus várt viselkedését:
A létrehozott másolat az összes Freezable alobjektum másolatát tartalmazza.
A rendszer nem másolja a nem halmazolt és írásvédett tulajdonságokat.
A program kimásolja a kifejezéseket.
Ezen alobjektumok egyike sem fagyott meg a létrehozáskor.
Maga a másolat nem fagyasztva.
Az animációk nem lesznek másolva.
A program csak a tulajdonságalapértékeket másolja, az aktuális animált értékeket nem.