Aracılığıyla paylaş


LazyInitializer.EnsureInitialized Yöntem

Tanım

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

T

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

T

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

T

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

T

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

T

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