Freezable.Clone Yöntem

Tanım

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

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

Freezable

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

Açıklamalar

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

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

Eylem 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 . Freezable Objects Overview. İ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 donmuş olarak kalır.

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

Bu yöntem, bir Freezable iş parçacığını iş parçacıkları arasında taşımak için yararlı olabilir. İlk olarak yöntemini çağırarak değiştirilemez hale getirin Freezable Freeze . Artık başka bir iş parçacığı öğesine Freezable erişebilir 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.