Freezable.GetAsFrozenCore(Freezable) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří instanci jako zmrazený klon zadaného Freezable pomocí základních (neoměněných) hodnot vlastností.
protected:
virtual void GetAsFrozenCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void GetAsFrozenCore (System.Windows.Freezable sourceFreezable);
abstract member GetAsFrozenCore : System.Windows.Freezable -> unit
override this.GetAsFrozenCore : System.Windows.Freezable -> unit
Protected Overridable Sub GetAsFrozenCore (sourceFreezable As Freezable)
Parametry
- sourceFreezable
- Freezable
Instance, která se má zkopírovat.
Poznámky
Tato metoda je volána metodou GetAsFrozen a neměla by být volána přímo z kódu, s výjimkou volání základní implementace při přepsání této metody. Chcete-li vytvořit zmrazenou kopii aktuálního objektu, zavolejte GetAsFrozen místo volání této metody přímo.
Poznámky pro dědice
Pokud odvozujete z Freezable , možná budete muset přepsat tuto metodu. Mezi důvody, které je potřeba přepsat, patří:
Odvozená třída obsahuje data, která nejsou vystavena prostřednictvím vlastností závislostí.
Odvozená třída musí provádět další inicializační práci, kterou nelze provést jednoduše přepsáním CreateInstanceCore(). To platí například v případě, že vaše odvozená třída implementuje ISupportInitialize.
Třídy, které ukládají všechna svá data ve vlastnostech závislostí a které nemusí provádět další inicializační práce, nemusí přepisovat GetAsFrozenCore(Freezable).
Je nezbytné, aby všechny implementace volaly základní implementaci této metody. Implementace by měly provádět pouze práci, která není provedena výchozí implementací. Výchozí implementace vytváří hluboké kopie všech nemrznutelných a mělké kopie všech ostatních zapisovatelných místně nastavených vlastností, které obsahuje. Pokud má objekt vlastnosti závislostí vázané na data, výrazy jsou zkopírovány, ale nemusí již přeložit; Další informace o klonování objektů vázaných na data najdete v tématu Přehled zmrazených objektů. Pokud má objekt animované vlastnosti závislostí, zkopírují se základní (ne animované) hodnoty těchto vlastností. Animace se nekopírují.
Všimněte si, že nenasazené vlastnosti se nekopírují ani nejsou vlastnosti jen pro čtení.
Pokud tuto metodu přepíšete, musíte volat základní implementaci.
Při kopírování hodnot není potřeba Freeze() . Výsledek se před vrácením GetAsFrozen() zamrazí.