Когда можно использовать CanFreeze? - PullRequest
2 голосов
/ 21 июля 2010

Необходимо ли всегда проверять CanFreeze перед замораживанием объекта.

Если я посмотрю на PresentationOptions:Freeze для использования в разметке, то это не сделано.Поэтому я не думаю, что CanFreeze должен быть вызван до создания объекта everey.

Но когда можно использовать CanFreeze?

1 Ответ

2 голосов
/ 21 июля 2010

вам не нужно вызывать CanFreeze, но если вы этого не сделаете, и ваш объект не замораживается, выдается InvalidOperationException (см. "замечания" раздел Freeze ()).Так что CanFreeze - это опция, позволяющая вам вызывать Freeze () без риска исключения.

В некоторых случаях вызов Freeze () может привести к исключению.Прямая цитата из ссылки Freeze():

Вы не можете заморозить объект Freezable, если для него выполняется одно из следующих условий:

  • Itимеет анимированные или привязанные к данным свойства.

  • У него есть свойства, которые задаются динамическим ресурсом.Для получения дополнительной информации о динамических ресурсах см. Обзор ресурсов.

  • Содержит замораживаемые подобъекты, которые не могут быть заморожены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...