Freezable.CloneCurrentValue 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ří upravitelný klon (hloubkovou kopii) Freezable pomocí aktuálních hodnot.
public:
System::Windows::Freezable ^ CloneCurrentValue();
public System.Windows.Freezable CloneCurrentValue ();
member this.CloneCurrentValue : unit -> System.Windows.Freezable
Public Function CloneCurrentValue () As Freezable
Návraty
Upravitelný klon aktuálního objektu. Vlastnost klonovaného objektu IsFrozen je false
i v případě, že je true
vlastnost zdroje IsFrozen .
Poznámky
CloneCurrentValue A Clone metody vytvářejí modifikovatelné klony zmrazených Freezable objektů (metody také klonují Freezable objekty, které nejsou zmrazené). Klon je v podstatě hlubokou kopií aktuálního objektu.
Následující tabulka shrnuje rozdíly mezi metodami Clone a CloneCurrentValue metodami.
Akce | Chování metody klonování | Chování metody CloneCurrentValue |
---|---|---|
Kopírování vlastnosti závislosti s výrazem | Výraz se zkopíruje, ale pravděpodobně se už nevyřeší. Další informace naleznete v tématu Zamrznutelné objekty Přehled. | Aktuální hodnota výrazu se zkopíruje, ale ne samotný výraz. |
Kopírování animované vlastnosti závislosti | Zkopíruje se základní (ne animovaný) hodnota vlastnosti. Animace se nekopírují. | Aktuální animovaná hodnota vlastnosti se zkopíruje. Animace se nekopírují. |
Všimněte si, že nekopírované vlastnosti nejsou zkopírovány. Pokud má vlastnost unset výchozí hodnotu, která je zmrazená Freezable, tato hodnota vlastnosti zůstane ukotvena v jinak upravitelné klonu.
Přesunutí zamrznutí mezi vlákny
Tato metoda může být užitečná pro přesun Freezable mezi vlákny. Nejprve proveďte Freezable nemodifikovatelné pomocí jeho Freeze metody. Teď má další vlákno přístup k Freezable místnímu klonu, ke kterému má přístup.
Poznámky pro dědice
Tato metoda používá metodu CloneCurrentValueCore(Freezable) k vytvoření klonu; Freezable implementátory, kteří přepíší CloneCurrentValueCore(Freezable) , musí zajistit, aby kopie nebyla při vytváření zmrazená.