Compartilhar via


Freezable.GetAsFrozenCore(Freezable) Método

Definição

Torna a instância um clone congelado do Freezable especificado usando valores de propriedade base (não animados).

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 durante a substituição desse 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 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 devem executar apenas o trabalho que não é executado 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 a Visão geral de Objetos Do 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 não desajustadas 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 de valores, Freeze() pois eles são copiados. O resultado é congelado GetAsFrozen() antes de ser retornado.

Aplica-se a

Confira também