LazyInitializer Sınıf
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.
Yavaş başlatma yordamları sağlar.
public ref class LazyInitializer abstract sealed
public static class LazyInitializer
type LazyInitializer = class
Public Class LazyInitializer
- Devralma
-
LazyInitializer
Örnekler
Aşağıdaki örnek, başlatmanın zaten olup olmadığını ve karşılıklı dışlama kilidi olarak kullanılacak bir nesneyi izlemek üzere Boole değeri kullanarak bir değeri lazily başlatmak için EnsureInitialized'ın nasıl kullanılacağını gösterir.
Dim _data As ExpensiveData = Nothing
Dim _dataInitialized As Boolean = False
Dim _dataLock As Object = Nothing
' ...
Dim name = LazyInitializer.EnsureInitialized(_data, _dataInitialized, _dataLock)
ExpensiveData _data = null;
bool _dataInitialized = false;
object _dataLock = new object();
// ...
ExpensiveData dataToUse = LazyInitializer.EnsureInitialized(ref _data, ref _dataInitialized, ref _dataLock);
Açıklamalar
Bu yordamlar, erişim sağlandıkça hedeflerin başlatıldığından emin olmak için başvuruları kullanmak yerine ayrılmış, gecikmeli başlatma örneği ayırma gereğini ortadan kaldırır.
Yöntemler
| Name | Description |
|---|---|
| EnsureInitialized<T>(T, Boolean, Object, Func<T>) |
Henüz başlatılmamışsa belirtilen bir işlevi kullanarak bir hedef başvuru veya değer türü başlatır. |
| EnsureInitialized<T>(T, Boolean, Object) |
Henüz başlatılmamışsa, parametresiz oluşturucuyla bir hedef başvuruyu veya değer türünü başlatır. |
| EnsureInitialized<T>(T, Func<T>) |
Henüz başlatılmamışsa belirtilen bir işlevi kullanarak hedef başvuru türünü başlatır. |
| EnsureInitialized<T>(T, Object, Func<T>) |
Henüz başlatılmamışsa, belirtilen bir işlevle hedef başvuru türünü başlatır. |
| EnsureInitialized<T>(T) |
Henüz başlatılmamışsa türün parametresiz oluşturucuyla bir hedef başvuru türü başlatır. |
Şunlara uygulanır
İş Parçacığı Güvenliği
yöntemleri LazyInitializer iş parçacığı açısından güvenlidir ve aynı anda birden çok iş parçacığından çağrılabilir.