Freezable.CloneCurrentValue Método

Definição

Cria um clone modificável (cópia profunda) do Freezable usando seus valores atuais.Creates a modifiable clone (deep copy) of the Freezable using its current values.

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

Retornos

Um clone modificável do objeto atual.A modifiable clone of the current object. A propriedade IsFrozen do objeto clonado será false, mesmo se a propriedade IsFrozen da origem for true.The cloned object's IsFrozen property is false even if the source's IsFrozen property is true.

Comentários

Os métodos Clone e CloneCurrentValue produzem clones modificáveis de objetos de Freezable congelados (os métodos também clonam Freezable objetos que não estão congelados).The Clone and CloneCurrentValue methods produce modifiable clones of frozen Freezable objects (the methods also clone Freezable objects that are not frozen). O clone é efetivamente uma cópia profunda do objeto atual.The clone is effectively a deep copy of the current object.

A tabela a seguir resume as diferenças entre os métodos Clone e CloneCurrentValue.The following table summarizes the differences between the Clone and CloneCurrentValue methods.

AçãoAction Comportamento do método de clonagemClone method behavior Comportamento do método CloneCurrentValueCloneCurrentValue method behavior
Copiando uma propriedade de dependência que tem uma expressãoCopying a dependency property that has an expression A expressão é copiada, mas não pode mais ser resolvida.The expression is copied, but might no longer resolve. Para obter mais informações, consulte a Visão geral de objetos congeláveis.For more information, see Freezable Objects Overview. O valor atual da expressão é copiado, mas não a própria expressão.The current value of the expression is copied, but not the expression itself.
Copiando uma propriedade de dependência animadaCopying an animated dependency property O valor base (não animado) da propriedade é copiado.The property's base (non-animated) value is copied. As animações não são copiadas.Animations are not copied. O valor animado atual da propriedade é copiado.The property's current animated value is copied. As animações não são copiadas.Animations are not copied.

Observe que as propriedades de desdefinição não são copiadas.Note that unset properties are not copied. Se uma propriedade de desdefinição tiver um valor padrão que seja um Freezablecongelado, esse valor de propriedade permanecerá congelado no clone, caso contrário, modificável.If an unset property has a default value that is a frozen Freezable, that property value remains frozen in the otherwise modifiable clone.

Mover um Freezable entre threadsMove a Freezable Between Threads

Esse método pode ser útil para mover um Freezable entre threads.This method can be useful for moving a Freezable between threads. Primeiro, torne o Freezable não modificável usando seu método Freeze.First, make the Freezable unmodifiable by using its Freeze method. Agora, outro thread pode acessar o Freezable e fazer um clone local que ele possa acessar.Now another thread can access the Freezable and make a local clone that it can access.

Notas aos Herdeiros

Esse método usa o método CloneCurrentValueCore(Freezable) para produzir o clone; Freezable implementadores que substituem CloneCurrentValueCore(Freezable) devem garantir que a cópia não seja congelada na criação.This method uses the CloneCurrentValueCore(Freezable) method to produce the clone; Freezable implementers who override CloneCurrentValueCore(Freezable) must ensure that the copy is not frozen on creation.

Aplica-se a

Veja também