Freezable.CloneCurrentValue Método

Definición

Crea un clon modificable (copia en profundidad) de Freezable con sus valores actuales.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

Devoluciones

Clon modificable del objeto actual.A modifiable clone of the current object. La propiedad IsFrozen del objeto clonado es false aunque la propiedad IsFrozen del origen sea true..The cloned object's IsFrozen property is false even if the source's IsFrozen property is true.

Comentarios

Los métodos Clone y CloneCurrentValue producen clones modificables de objetos de Freezable inmovilizados (los métodos también clonan Freezable objetos que no están inmovilizados).The Clone and CloneCurrentValue methods produce modifiable clones of frozen Freezable objects (the methods also clone Freezable objects that are not frozen). El clon es realmente una copia en profundidad del objeto actual.The clone is effectively a deep copy of the current object.

En la tabla siguiente se resumen las diferencias entre los métodos Clone y CloneCurrentValue.The following table summarizes the differences between the Clone and CloneCurrentValue methods.

AcciónAction Comportamiento del método CloneClone method behavior Comportamiento del método CloneCurrentValueCloneCurrentValue method behavior
Copiar una propiedad de dependencia que tiene una expresiónCopying a dependency property that has an expression La expresión se copia, pero es posible que ya no se resuelva.The expression is copied, but might no longer resolve. Para obtener más información, consulte Información general sobre objetos Freezable.For more information, see Freezable Objects Overview. Se copia el valor actual de la expresión, pero no la propia expresión.The current value of the expression is copied, but not the expression itself.
Copiar una propiedad de dependencia animadaCopying an animated dependency property Se copia el valor base (no animado) de la propiedad.The property's base (non-animated) value is copied. Las animaciones no se copian.Animations are not copied. Se copia el valor animado actual de la propiedad.The property's current animated value is copied. Las animaciones no se copian.Animations are not copied.

Tenga en cuenta que no se copian las propiedades no establecidas.Note that unset properties are not copied. Si una propiedad unset tiene un valor predeterminado que es un Freezableinmovilizado, ese valor de propiedad permanece inmovilizado en el clon modificable de otro modo.If an unset property has a default value that is a frozen Freezable, that property value remains frozen in the otherwise modifiable clone.

Movimiento de un Freezable entre subprocesosMove a Freezable Between Threads

Este método puede ser útil para mover un Freezable entre subprocesos.This method can be useful for moving a Freezable between threads. En primer lugar, haga que el Freezable sea no modificable mediante su método Freeze.First, make the Freezable unmodifiable by using its Freeze method. Ahora otro subproceso puede tener acceso al Freezable y hacer un clon local al que pueda tener acceso.Now another thread can access the Freezable and make a local clone that it can access.

Notas a los desarrolladores de herederos

Este método usa el método CloneCurrentValueCore(Freezable) para generar el clon; Freezable implementadores que invalidan CloneCurrentValueCore(Freezable) deben asegurarse de que la copia no está inmovilizada durante la creación.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.

Se aplica a

Consulte también: