Freezable.Clone 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 objektu Freezable, vytváření hlubokých kopií hodnot objektu. Při kopírování vlastností závislostí objektu tato metoda kopíruje výrazy (které se už nemusí překládat), ale ne animace nebo jejich aktuální hodnoty.
public:
System::Windows::Freezable ^ Clone();
public System.Windows.Freezable Clone();
member this.Clone : unit -> System.Windows.Freezable
Public Function Clone () As Freezable
Návraty
Upravitelný klon aktuálního objektu. Vlastnost klonovaného objektu IsFrozen je false i v případě, že je IsFrozenvlastnost zdroje true .
Poznámky
A CloneCloneCurrentValue metody vytvářejí modifikovatelné klony ukotvených Freezable objektů (metody také klonují Freezable objekty, které nejsou zmrazeny). Klon je v podstatě hlubokou kopií aktuálního objektu.
Následující tabulka shrnuje rozdíly mezi metodami Clone a CloneCurrentValue metodami.
Všimněte si, že vlastnosti bez sady nejsou zkopírovány. Pokud vlastnost unset má výchozí hodnotu, která je zmrazena Freezable, tato hodnota vlastnosti zůstane ukotvena v jinak upravitelné klonu.
Přesunutí ukotvení mezi vlákny
Tato metoda může být užitečná pro přesun Freezable mezi vlákny. Nejprve proveďte Freezable nemodifikovatelné voláním metody Freeze . Teď má další vlákno přístup k podprocesu Freezable a nastavit ho jako místní Clone , ke kterému má přístup.
Poznámky pro dědice
Tato metoda používá CloneCore(Freezable) k vytvoření klonu. Chcete-li změnit chování této metody v odvozené třídě, přepište metodu CloneCore(Freezable) .