Freezable.CloneCurrentValue Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria um clone modificável (cópia profunda) do uso de Freezable seus valores atuais.
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 propriedade do IsFrozen objeto clonado é false mesmo se a propriedade da IsFrozen origem for true.
Comentários
Os Clone métodos e os CloneCurrentValue métodos produzem clones modificáveis de objetos congelados Freezable (os métodos também clonam Freezable objetos que não estão congelados). O clone é efetivamente uma cópia profunda do objeto atual.
A tabela a seguir resume as diferenças entre os métodos e Clone os CloneCurrentValue métodos.
| Ação | Comportamento do método clone | Comportamento do método CloneCurrentValue |
|---|---|---|
| Copiando uma propriedade de dependência que tem uma expressão | A expressão é copiada, mas pode não ser mais resolvida. Para obter mais informações, consulte Visão Geral dos Objetos Freezable. | O valor atual da expressão é copiado, mas não a expressão em si. |
| Copiando uma propriedade de dependência animada | O valor base da propriedade (não animado) é copiado. As animações não são copiadas. | O valor animado atual da propriedade é copiado. As animações não são copiadas. |
Observe que as propriedades não definidos não são copiadas. Se uma propriedade não configurada tiver um valor padrão congelado Freezable, esse valor de propriedade permanecerá congelado no clone modificável de outra forma.
Mover um freezable entre threads
Esse método pode ser útil para mover um Freezable entre threads. Primeiro, torne o Freezable inmodificável usando seu Freeze método. Agora, outro thread pode acessar e Freezable fazer um clone local que ele possa acessar.
Notas aos Herdeiros
Esse método usa o CloneCurrentValueCore(Freezable) método para produzir o clone; Freezable os implementadores que substituem CloneCurrentValueCore(Freezable) devem garantir que a cópia não esteja congelada na criação.