Freezable.GetCurrentValueAsFrozenCore(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.
Az aktuális példányt a megadott Freezablezárolt klónává teszi. Ha az objektum animált függőségi tulajdonságokkal rendelkezik, a program átmásolja az aktuális animált értékeket.
protected:
virtual void GetCurrentValueAsFrozenCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void GetCurrentValueAsFrozenCore(System.Windows.Freezable sourceFreezable);
abstract member GetCurrentValueAsFrozenCore : System.Windows.Freezable -> unit
override this.GetCurrentValueAsFrozenCore : System.Windows.Freezable -> unit
Protected Overridable Sub GetCurrentValueAsFrozenCore (sourceFreezable As Freezable)
Paraméterek
Megjegyzések
Ezt a metódust a GetCurrentValueAsFrozen 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 fagyasztott másolatának létrehozásához hívja meg GetCurrentValueAsFrozen 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 GetCurrentValueAsFrozenCore(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ó létrehoz egy újat Freezable a CreateInstance() metódus használatával, és mély másolatot készít a nem töredezhető fagyállókról és a benne található minden más írható, helyileg beállított tulajdonságról. Ha az objektum adathoz kötött függőségi tulajdonságokkal rendelkezik, a rendszer átmásolja az adatkötéseket, de előfordulhat, hogy már nem oldja fel őket; 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 ezeknek a tulajdonságoknak az aktuális animált értékét, de az animációk nem.
Ez az alapértelmezett implementáció nem másolja a csak olvasható függőségi tulajdonságokat Freezable egy adott fájlba.
Ha felülbírálja ezt a módszert, meg kell hívnia az alap implementációt.
A másoláskor nem kell Freeze() értékeket megadnia. Az eredmény a visszaadás előtt fagyasztva GetAsFrozen() lesz.