NameObjectCollectionBase.ICollection.IsSynchronized Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Nesneye erişimin NameObjectCollectionBase eşitlenip eşitlenmediğini belirten bir değer alır (iş parçacığı güvenli).
property bool System::Collections::ICollection::IsSynchronized { bool get(); };
bool System.Collections.ICollection.IsSynchronized { get; }
member this.System.Collections.ICollection.IsSynchronized : bool
ReadOnly Property IsSynchronized As Boolean Implements ICollection.IsSynchronized
Özellik Değeri
true nesneye NameObjectCollectionBase erişim eşitlenmişse (iş parçacığı güvenli); aksi takdirde, false. Varsayılan değer: false.
Uygulamalar
Açıklamalar
Nesne NameObjectCollectionBase eşitlenmedi. Türetilmiş sınıflar özelliğini kullanarak SyncRoot eşitlenmiş NameObjectCollectionBase bir sürümünü sağlayabilir.
Bir koleksiyonda numaralandırma, iş parçacığı açısından güvenli bir yordam değildir. Bir koleksiyon eşitlendiğinde bile, diğer iş parçacıkları yine de koleksiyonu değiştirebilir ve bu da numaralandırıcının bir özel durum oluşturmasına neden olur. Numaralandırma sırasında iş parçacığı güvenliğini garanti etmek için, tüm numaralandırma sırasında koleksiyonu kilitleyebilir veya diğer iş parçacıkları tarafından yapılan değişikliklerden kaynaklanan özel durumları yakalayabilirsiniz.
Aşağıdaki kod örneği, tüm numaralandırma sırasında özelliğini kullanarak koleksiyonu kilitlemeyi SyncRoot gösterir.
// Create a collection derived from NameObjectCollectionBase
ICollection myCollection = new DerivedCollection();
lock(myCollection.SyncRoot)
{
foreach (object item in myCollection)
{
// Insert your code here.
}
}
' Create a collection derived from NameObjectCollectionBase
Dim myCollection As ICollection = New DerivedCollection()
SyncLock myCollection.SyncRoot
For Each item As Object In myCollection
' Insert your code here.
Next item
End SyncLock
Bu özelliğin değerini almak bir O(1) işlemidir.