Freezable.CloneCurrentValue Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает модификируемую клон (глубокую копию) текущего Freezable значения.
public:
System::Windows::Freezable ^ CloneCurrentValue();
public System.Windows.Freezable CloneCurrentValue();
member this.CloneCurrentValue : unit -> System.Windows.Freezable
Public Function CloneCurrentValue () As Freezable
Возвращаемое значение
Модификаторный клон текущего объекта. Свойство клонированного объекта IsFrozenfalse даже если это trueсвойство источникаIsFrozen.
Комментарии
Методы Clone создают изменяемые клоны замороженных Freezable объектов (методы также клонируют Freezable объекты, которые не заморожены).CloneCurrentValue Клон фактически является глубокой копией текущего объекта.
В следующей таблице перечислены различия между методами и Clone методамиCloneCurrentValue.
| Действие | Поведение метода Клонирования | Поведение метода CloneCurrentValue |
|---|---|---|
| Копирование свойства зависимостей с выражением | Выражение копируется, но может больше не разрешаться. Для получения дополнительной информации см. Обзор замораживаемых объектов. | Текущее значение выражения копируется, но не само выражение. |
| Копирование анимированного свойства зависимостей | Копируется базовое значение свойства (не анимированное). Анимации не копируются. | Текущее анимированное значение свойства копируется. Анимации не копируются. |
Обратите внимание, что свойства без набора не копируются. Если свойство unset имеет значение по умолчанию, которое является замороженным Freezable, это значение свойства остается замороженным в противном случае модификируемым клоном.
Перемещение свободного потока
Этот метод может быть полезен для перемещения Freezable между потоками. Во-первых, сделайте Freezable неизменяемым с помощью его Freeze метода. Теперь другой поток может получить доступ к Freezable локальному клону, к которому он может получить доступ.
Примечания для тех, кто наследует этот метод
Этот метод использует CloneCurrentValueCore(Freezable) метод для создания клона; Freezable реализующие, переопределяющие CloneCurrentValueCore(Freezable) должны убедиться, что копия не заморожена при создании.