LazyInitializer.EnsureInitialized Yöntem
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.
Henüz başlatılmamış bir hedef türü başlatır.
Aşırı Yüklemeler
| EnsureInitialized<T>(T) |
Henüz başlatılmamışsa, türün parametresiz oluşturucuyla bir hedef başvuru türü 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, 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, 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, Boolean, Object, Func<T>) |
Henüz başlatılmamışsa, belirtilen bir işlevi kullanarak hedef başvuru veya değer türünü başlatır. |
EnsureInitialized<T>(T)
- Kaynak:
- LazyInitializer.cs
- Kaynak:
- LazyInitializer.cs
- Kaynak:
- LazyInitializer.cs
Henüz başlatılmamışsa, türün parametresiz oluşturucuyla bir hedef başvuru türü başlatır.
public:
generic <typename T>
where T : class static T EnsureInitialized(T % target);
public static T EnsureInitialized<T> (ref T target) where T : class;
public static T EnsureInitialized<T> (ref T? target) where T : class;
static member EnsureInitialized : 'T -> 'T (requires 'T : null)
Public Shared Function EnsureInitialized(Of T As Class) (ByRef target As T) As T
Tür Parametreleri
- T
Başlatılacak başvurunun türü.
Parametreler
- target
- T
Henüz başlatılmamışsa başlatma başvurusu. ise nullbaşlatılmamış olarak kabul edilir; aksi takdirde başlatıldı olarak kabul edilir.
Döndürülenler
Başlatılan nesne.
Özel durumlar
Türün T oluşturucusunun erişim izinleri eksikti.
Türün T parametresiz oluşturucu yok.
Açıklamalar
Bu yöntem yalnızca başvuru türlerinde kullanılabilir. Değer türlerinin başlatılmasını sağlamak için diğer aşırı yüklemelerine EnsureInitializedbakın.
Bu yöntem, başlatmak targetiçin birden çok iş parçacığı tarafından eşzamanlı olarak kullanılabilir.
Birden çok iş parçacığının bu yönteme eşzamanlı olarak erişmesi durumunda, birden çok örneği T oluşturulabilir, ancak yalnızca biri içinde target depolanır ve döndürülür. Böyle bir durumda, bu yöntem depolanmayan nesneleri atmayacak. Bu tür nesnelerin atılması gerekiyorsa, aynı depolanmış nesneye başvurmazsa nesnesini alan ve atan bir valueFactory aşırı yükleme kullanın.
Ayrıca bkz.
Şunlara uygulanır
EnsureInitialized<T>(T, Func<T>)
- Kaynak:
- LazyInitializer.cs
- Kaynak:
- LazyInitializer.cs
- Kaynak:
- LazyInitializer.cs
Henüz başlatılmamışsa belirtilen bir işlevi kullanarak hedef başvuru türünü başlatır.
public:
generic <typename T>
where T : class static T EnsureInitialized(T % target, Func<T> ^ valueFactory);
public static T EnsureInitialized<T> (ref T target, Func<T> valueFactory) where T : class;
public static T EnsureInitialized<T> (ref T? target, Func<T> valueFactory) where T : class;
static member EnsureInitialized : 'T * Func<'T (requires 'T : null)> -> 'T (requires 'T : null)
Public Shared Function EnsureInitialized(Of T As Class) (ByRef target As T, valueFactory As Func(Of T)) As T
Tür Parametreleri
- T
Başlatılacak başvurunun türü.
Parametreler
- target
- T
Henüz başlatılmamışsa başlatma başvurusu.
- valueFactory
- Func<T>
Başvuruyu başlatmak için çağrılan işlev.
Döndürülenler
Başlatılan nesne.
Özel durumlar
Türün T parametresiz oluşturucu yok.
valueFactory null döndürdü (Visual Basic'te hiçbir şey).
Açıklamalar
Bu yöntem yalnızca başvuru türlerinde kullanılabilir ve valueFactory null başvuru döndürmeyebilir (Visual Basic'te hiçbir şey). Değer türlerinin başlatılmasını sağlamak veya null başvuru türlerine izin vermek için diğer EnsureInitialized aşırı yüklemelerine bakın.
Bu yöntem, başlatmak targetiçin birden çok iş parçacığı tarafından eşzamanlı olarak kullanılabilir.
Birden çok iş parçacığının bu yönteme eşzamanlı olarak erişmesi durumunda, birden çok örneği oluşturulabilir, ancak içinde yalnızca bir tane T depolanır target. Böyle bir durumda, bu yöntem depolanmayan nesneleri atmayacak. Bu tür nesnelerin atılması gerekiyorsa, bir nesnenin kullanılmadığını belirlemek ve sonra nesneyi uygun şekilde atmak çağırana bağlıdır.
Ayrıca bkz.
Şunlara uygulanır
EnsureInitialized<T>(T, Boolean, Object)
- Kaynak:
- LazyInitializer.cs
- Kaynak:
- LazyInitializer.cs
- Kaynak:
- LazyInitializer.cs
Henüz başlatılmamışsa, parametresiz oluşturucuyla bir hedef başvuruyu veya değer türünü başlatır.
public:
generic <typename T>
static T EnsureInitialized(T % target, bool % initialized, System::Object ^ % syncLock);
public static T EnsureInitialized<T> (ref T target, ref bool initialized, ref object syncLock);
public static T EnsureInitialized<T> (ref T target, ref bool initialized, ref object? syncLock);
static member EnsureInitialized : 'T * bool * obj -> 'T
Public Shared Function EnsureInitialized(Of T) (ByRef target As T, ByRef initialized As Boolean, ByRef syncLock As Object) As T
Tür Parametreleri
- T
Başlatılacak başvurunun türü.
Parametreler
- target
- T
Henüz başlatılmamışsa başlatılabilir bir T başvuru veya değer.
- initialized
- Boolean
Hedefin zaten başlatılmış olup olmadığını belirleyen boole değerine başvuru.
- syncLock
- Object
başlatma targetiçin birbirini dışlayan kilit olarak kullanılan bir nesneye başvuru. ise syncLocknull, yeni bir nesne örneği oluşturulur.
Döndürülenler
Başlatılan nesne.
Özel durumlar
Türün T oluşturucusunun erişim izinleri eksikti.
Türün T parametresiz oluşturucu yok.
Açıklamalar
true olarak belirtilirse initialized başka başlatma gerçekleşmez.
Ayrıca bkz.
Şunlara uygulanır
EnsureInitialized<T>(T, Object, Func<T>)
- Kaynak:
- LazyInitializer.cs
- Kaynak:
- LazyInitializer.cs
- Kaynak:
- LazyInitializer.cs
Henüz başlatılmamışsa, belirtilen bir işlevle hedef başvuru türünü başlatır.
public:
generic <typename T>
where T : class static T EnsureInitialized(T % target, System::Object ^ % syncLock, Func<T> ^ valueFactory);
public static T EnsureInitialized<T> (ref T? target, ref object? syncLock, Func<T> valueFactory) where T : class;
public static T EnsureInitialized<T> (ref T target, ref object syncLock, Func<T> valueFactory) where T : class;
static member EnsureInitialized : 'T * obj * Func<'T (requires 'T : null)> -> 'T (requires 'T : null)
Public Shared Function EnsureInitialized(Of T As Class) (ByRef target As T, ByRef syncLock As Object, valueFactory As Func(Of T)) As T
Tür Parametreleri
- T
Başlatılacak başvurunun türü.
Parametreler
- target
- T
Henüz başlatılmamışsa başlatma başvurusu. ise nullbaşlatılmamış olarak kabul edilir; aksi takdirde başlatıldı olarak kabul edilir.
- syncLock
- Object
başlatma targetiçin birbirini dışlayan kilit olarak kullanılan bir nesneye başvuru. ise syncLocknull, yeni bir nesne örneği oluşturulur.
- valueFactory
- Func<T>
başlatmak targetiçin çağrılacak yöntem.
Döndürülenler
Başlatılan nesne.
Şunlara uygulanır
EnsureInitialized<T>(T, Boolean, Object, Func<T>)
- Kaynak:
- LazyInitializer.cs
- Kaynak:
- LazyInitializer.cs
- Kaynak:
- LazyInitializer.cs
Henüz başlatılmamışsa, belirtilen bir işlevi kullanarak hedef başvuru veya değer türünü başlatır.
public:
generic <typename T>
static T EnsureInitialized(T % target, bool % initialized, System::Object ^ % syncLock, Func<T> ^ valueFactory);
public static T EnsureInitialized<T> (ref T target, ref bool initialized, ref object syncLock, Func<T> valueFactory);
public static T EnsureInitialized<T> (ref T target, ref bool initialized, ref object? syncLock, Func<T> valueFactory);
static member EnsureInitialized : 'T * bool * obj * Func<'T> -> 'T
Public Shared Function EnsureInitialized(Of T) (ByRef target As T, ByRef initialized As Boolean, ByRef syncLock As Object, valueFactory As Func(Of T)) As T
Tür Parametreleri
- T
Başlatılacak başvurunun türü.
Parametreler
- target
- T
Henüz başlatılmamışsa başlatılabilir bir T başvuru veya değer.
- initialized
- Boolean
Hedefin zaten başlatılmış olup olmadığını belirleyen boole değerine başvuru.
- syncLock
- Object
başlatma targetiçin birbirini dışlayan kilit olarak kullanılan bir nesneye başvuru. ise syncLocknull, yeni bir nesne örneği oluşturulur.
- valueFactory
- Func<T>
Başvuruyu veya değeri başlatmak için çağrılan işlev.
Döndürülenler
Başlatılan nesne.
Özel durumlar
Türün T oluşturucusunun erişim izinleri eksikti.
Türün T parametresiz oluşturucu yok.
Açıklamalar
true olarak belirtilirse initialized başka başlatma gerçekleşmez.