Freezable.GetAsFrozenCore(Freezable) Метод

Определение

Делает экземпляр замороженным клоном указанных Freezable значений свойств (не анимированных).

protected:
 virtual void GetAsFrozenCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void GetAsFrozenCore(System.Windows.Freezable sourceFreezable);
abstract member GetAsFrozenCore : System.Windows.Freezable -> unit
override this.GetAsFrozenCore : System.Windows.Freezable -> unit
Protected Overridable Sub GetAsFrozenCore (sourceFreezable As Freezable)

Параметры

sourceFreezable
Freezable

Экземпляр для копирования.

Комментарии

Этот метод вызывается методом GetAsFrozen и не должен вызываться непосредственно из кода, за исключением вызова базовой реализации при переопределении этого метода. Чтобы создать замороженную копию текущего объекта, вызовите GetAsFrozen вместо вызова этого метода напрямую.

Примечания для тех, кто наследует этот метод

Если вы наследуете от Freezable вас, возможно, потребуется переопределить этот метод. Ниже приведены причины переопределения:

  • Производный класс содержит данные, которые не предоставляются с помощью свойств зависимостей.

  • Производный класс должен выполнять дополнительные операции инициализации, которые невозможно выполнить путем простого переопределения CreateInstanceCore(). Например, это применимо, если производный класс реализует ISupportInitialize.

Классы, которые хранят все свои данные в свойствах зависимостей, и не нужно выполнять дополнительную работу инициализации, не нужно переопределять GetAsFrozenCore(Freezable).

Важно, чтобы все реализации вызывали базовую реализацию этого метода. Реализации должны выполнять только работу, которая не выполняется реализацией по умолчанию. Реализация по умолчанию делает глубокие копии любых незавершенных освобожденных и неглубоких копий всех остальных записываемых, локально заданных свойств, которые он содержит. Если объект имеет свойства зависимости, привязанные к данным, выражения копируются, но могут больше не разрешаться; Дополнительные сведения о клонирование объектов, привязанных к данным, см. в обзоре freezable Objects. Если объект имеет анимированные свойства зависимостей, копируются базовые (не анимированные) значения этих свойств. Анимации не копируются.

Обратите внимание, что свойства без набора не копируются, а также не являются свойствами только для чтения.

Если этот метод переопределяется, необходимо вызвать базовую реализацию.

Значения не требуются Freeze() , так как они копируются. Результат заморожен GetAsFrozen() до возврата.

Применяется к

См. также раздел