Freezable.Clone Yöntem

Tanım

Freezabledeğiştirilebilir bir kopyasını oluşturur ve nesnenin değerlerinin derin kopyalarını oluşturur. Nesnenin bağımlılık özelliklerini kopyalarken, bu yöntem ifadeleri (artık çözümlenmeyebilir) kopyalar, ancak animasyonları veya geçerli değerlerini kopyalar.

public:
 System::Windows::Freezable ^ Clone();
public System.Windows.Freezable Clone();
member this.Clone : unit -> System.Windows.Freezable
Public Function Clone () As Freezable

Döndürülenler

Geçerli nesnenin değiştirilebilir kopyası. Kopyalanan nesnenin IsFrozen özelliği, false kaynağın IsFrozen özelliği olsa bile olur true.

Açıklamalar

Clone ve CloneCurrentValue yöntemleri, dondurulmuş Freezable nesnelerin değiştirilebilir kopyalarını üretir (yöntemler de dondurulmayan nesneleri klonlarFreezable). Kopya, geçerli nesnenin etkili bir şekilde derin bir kopyasıdır.

Aşağıdaki tabloda ve Clone yöntemleri arasındaki CloneCurrentValue farklar özetlemektedir.

Action Kopyalama yöntemi davranışı CloneCurrentValue yöntemi davranışı
İfadesi olan bir bağımlılık özelliğini kopyalama İfade kopyalanır, ancak artık çözümlenmeyebilir. Daha fazla bilgi için bkz. Dondurulabilir Nesneler Genel Bakış. İfadenin geçerli değeri kopyalanır, ancak ifadenin kendisi kopyalanmaz.
Animasyonlu bağımlılık özelliğini kopyalama Özelliğin temel (animasyonsuz) değeri kopyalanır. Animasyonlar kopyalanmaz. Özelliğin geçerli animasyonlu değeri kopyalanır. Animasyonlar kopyalanmaz.

Kümelenmemiş özelliklerin kopyalanmadığını unutmayın. Ayarlanmamış bir özelliğin dondurulan Freezablevarsayılan değeri varsa, bu özellik değeri diğer değiştirilebilir kopyada dondurulur.

bir Freezable'ı İş Parçacıkları Arasında Taşıma

Bu yöntem, iş parçacıkları arasında bir Freezable taşımak için yararlı olabilir. İlk olarak yöntemini çağırarak değiştirilemez hale getirin FreezableFreeze . Artık başka bir iş parçacığı öğesine erişebilir Freezable ve erişebileceği yerel Clone bir iş parçacığı oluşturabilir.

Devralanlara Notlar

Bu yöntem, kopyayı üretmek için kullanır CloneCore(Freezable) . Türetilmiş bir sınıfta bu yöntemin davranışını değiştirmek için yöntemini geçersiz kılın CloneCore(Freezable) .

Şunlara uygulanır

Ayrıca bkz.