Lazy<T>.IsValueCreated Ö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.
Bu Lazy<T> örnek için bir değer oluşturulup oluşturulmadığını belirten bir değer alır.
public:
property bool IsValueCreated { bool get(); };
public bool IsValueCreated { get; }
member this.IsValueCreated : bool
Public ReadOnly Property IsValueCreated As Boolean
Özellik Değeri
true
bu Lazy<T> örnek için bir değer oluşturulduysa; değilse, false
.
Açıklamalar
Bir Lazy<T> örnek için gecikmeli başlatma gerçekleştiğinde, bir değerin oluşturulmasına veya özel durumun oluşturulmasına neden olabilir. Bir özel durum oluşturulursa, örneğin sonraki davranışı özel durum önbelleğinin Lazy<T> etkin olup olmamasına bağlıdır.
Lazy<T> Örnek bir başlatma işlevi belirtmeyen bir oluşturucu kullanılarak oluşturulduysa, özel durum önbelleğe alma etkin değildir. sonraki başlatma Lazy<T> girişimi başarılı olabilir ve başarılı bir başlatmadan IsValueCreated sonra özelliği döndürür true
.
Lazy<T> Örnek bir başlatma işleviyle oluşturulduysa (oluşturucunun valueFactory
Lazy<T> parametresi tarafından belirtilir), özel durum önbelleğe alma iş parçacığı güvenlik modu tarafından denetlenır.
Mod veya LazyThreadSafetyMode.Noneise LazyThreadSafetyMode.ExecutionAndPublication örneği başlatmak Lazy<T> için ikinci bir şans yoktur. Bir özel durum oluşursa ve başlatma işlevinde işlenmemişse, bu özel durum önbelleğe alınır ve özelliğin Lazy<T>.Value sonraki erişimlerinde yeniden oluşturulur. Özel durum oluşturulursa hiçbir değer oluşturulmaz, bu nedenle bu gibi durumlarda IsValueCreated döndürür
false
.Mod ise LazyThreadSafetyMode.PublicationOnly, başlatma işlevini (veya parametresiz oluşturucuyu) çalıştırmayı başaran ilk iş parçacığı, örneğin değerini Lazy<T> oluşturur. Başlatma işlevi bir iş parçacığında özel durum oluşturursa, diğer iş parçacıkları yine de örneği başlatmayı Lazy<T> deneyebilir. Değer oluşturulana IsValueCreated kadar özelliği döndürür
false
.