Freezable.GetAsFrozenCore(Freezable) 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.
Torna a instância um clone congelado dos valores de propriedade base (não animados) especificados 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)
Parâmetros
- sourceFreezable
- Freezable
A instância a ser copiada.
Comentários
Esse método é chamado pelo GetAsFrozen método e não deve ser chamado diretamente do código, exceto ao chamar a implementação base ao substituir esse método. Para criar uma cópia congelada do objeto atual, chame GetAsFrozen em vez de chamar esse método diretamente.
Notas aos Herdeiros
Se você derivar de Freezable você talvez precise substituir esse método. Os motivos para substituir incluem o seguinte:
Sua classe derivada tem dados que não são expostos por meio de propriedades de dependência.
Sua classe derivada deve executar um trabalho de inicialização extra que não pode ser realizado simplesmente substituindo CreateInstanceCore(). Por exemplo, isso se aplica se sua classe derivada implementa ISupportInitialize.
Classes que armazenam todos os seus dados em propriedades de dependência e que não precisam executar um trabalho de inicialização extra não precisam substituir GetAsFrozenCore(Freezable).
É essencial que todas as implementações chamem a implementação base desse método. As implementações só devem executar trabalhos que não são executados pela implementação padrão. A implementação padrão faz cópias profundas de quaisquer freezables não descongeladas e cópias rasas de todas as outras propriedades graváveis e definidas localmente que ela contém. Se o objeto tiver propriedades de dependência associadas a dados, as expressões serão copiadas, mas talvez não sejam mais resolvidas; para obter mais informações sobre a clonagem de objetos associados a dados, consulte Visão geral dos objetos freezable. Se o objeto tiver propriedades de dependência animadas, os valores base (não animados) dessas propriedades serão copiados. As animações não são copiadas.
Observe que as propriedades unset não são copiadas nem são propriedades somente leitura.
Se você substituir esse método, deverá chamar a implementação base.
Você não precisa ter valores, Freeze() pois eles são copiados. O resultado é congelado GetAsFrozen() antes de ser retornado.