Condividi tramite


Freezable.Clone Metodo

Definizione

Crea un clone modificabile dell'oggetto Freezable, eseguendo copie complete dei valori dell'oggetto. Durante la copia delle proprietà di dipendenza di questo oggetto, questo metodo copia le espressioni (che potrebbero non essere più risolte), ma non le animazioni né i relativi valori correnti.

public:
 System::Windows::Freezable ^ Clone();
public System.Windows.Freezable Clone ();
member this.Clone : unit -> System.Windows.Freezable
Public Function Clone () As Freezable

Restituisce

Freezable

Clone modificabile dell'oggetto corrente. La proprietà IsFrozen dell'oggetto duplicato restituisce il valore false anche se il valore della proprietà IsFrozen dell'oggetto di origine è true.

Commenti

I Clone metodi e CloneCurrentValue producono cloni modificabili di oggetti bloccati (i metodi clonano Freezable anche oggetti non bloccatiFreezable). Il clone è effettivamente una copia approfondita dell'oggetto corrente.

Nella tabella seguente vengono riepilogate le differenze tra i Clone metodi e CloneCurrentValue .

Azione Comportamento del metodo clone Comportamento del metodo CloneCurrentValue
Copia di una proprietà di dipendenza con un'espressione L'espressione viene copiata, ma potrebbe non essere più risolta. Per altre informazioni, vedere Cenni preliminari sugli oggetti Freezable. Il valore corrente dell'espressione viene copiato, ma non l'espressione stessa.
Copia di una proprietà di dipendenza animata Il valore di base della proprietà (non animato) viene copiato. Le animazioni non vengono copiate. Il valore animato corrente della proprietà viene copiato. Le animazioni non vengono copiate.

Si noti che le proprietà unset non vengono copiate. Se una proprietà unset ha un valore predefinito che è un valore bloccato Freezable, tale valore di proprietà rimane bloccato nel clone modificabile in caso contrario.

Spostare un file freezable tra thread

Questo metodo può essere utile per lo spostamento di un Freezable thread tra i thread. Prima di tutto, rendere non modificabile chiamando il Freezable Freeze relativo metodo. Ora un altro thread può accedere a Freezable e rendere disponibile un elemento locale Clone a cui può accedere.

Note per gli eredi

Questo metodo usa CloneCore(Freezable) per produrre il clone. Per modificare il comportamento di questo metodo in una classe derivata, eseguire l'override del CloneCore(Freezable) metodo.

Si applica a

Vedi anche