LazyInitializer.EnsureInitialized Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Inicjuje typ docelowy, jeśli jeszcze nie został zainicjowany.
Przeciążenia
EnsureInitialized<T>(T) |
Inicjuje docelowy typ odwołania przy użyciu konstruktora bez parametrów typu, jeśli nie został jeszcze zainicjowany. |
EnsureInitialized<T>(T, Func<T>) |
Inicjuje docelowy typ odwołania przy użyciu określonej funkcji, jeśli nie została jeszcze zainicjowana. |
EnsureInitialized<T>(T, Boolean, Object) |
Inicjuje docelowe odwołanie lub typ wartości za pomocą konstruktora bez parametrów, jeśli nie został jeszcze zainicjowany. |
EnsureInitialized<T>(T, Object, Func<T>) |
Inicjuje docelowy typ odwołania z określoną funkcją, jeśli nie został jeszcze zainicjowany. |
EnsureInitialized<T>(T, Boolean, Object, Func<T>) |
Inicjuje docelowe odwołanie lub typ wartości przy użyciu określonej funkcji, jeśli nie została jeszcze zainicjowana. |
EnsureInitialized<T>(T)
Inicjuje docelowy typ odwołania przy użyciu konstruktora bez parametrów typu, jeśli nie został jeszcze zainicjowany.
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
Parametry typu
- T
Typ odwołania do zainicjowania.
Parametry
- target
- T
Odwołanie do inicjowania, jeśli nie zostało jeszcze zainicjowane. Jeśli jest null
to , jest uważany za nie zainicjowany; w przeciwnym razie jest uważany za zainicjowany.
Zwraca
- T
Zainicjowany obiekt.
Wyjątki
Brak uprawnień dostępu do konstruktora typu T
.
Typ T
nie ma konstruktora bez parametrów.
Uwagi
Tej metody można używać tylko w typach referencyjnych. Aby zapewnić inicjowanie typów wartości, zobacz inne przeciążenia elementu EnsureInitialized
.
Ta metoda może być używana współbieżnie przez wiele wątków w celu zainicjowania target
metody .
W przypadku, gdy wiele wątków uzyskuje dostęp do tej metody współbieżnie, można utworzyć wiele wystąpień T
programu , ale tylko jeden będzie przechowywany w target
i zwracany. W takim wystąpieniu ta metoda nie będzie usuwać obiektów, które nie były przechowywane. Jeśli takie obiekty muszą zostać usunięte, należy użyć przeciążenia, które pobiera valueFactory
i usuwa obiekt, jeśli nie odwołuje się do tego samego przechowywanego obiektu.
Zobacz też
Dotyczy
EnsureInitialized<T>(T, Func<T>)
Inicjuje docelowy typ odwołania przy użyciu określonej funkcji, jeśli nie została jeszcze zainicjowana.
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
Parametry typu
- T
Typ odwołania do zainicjowania.
Parametry
- target
- T
Odwołanie do inicjowania, jeśli jeszcze nie zostało zainicjowane.
- valueFactory
- Func<T>
Funkcja, która jest wywoływana w celu zainicjowania odwołania.
Zwraca
- T
Zainicjowany obiekt.
Wyjątki
Typ T
nie ma konstruktora bez parametrów.
valueFactory
zwrócił wartość null (nic w Visual Basic).
Uwagi
Tej metody można używać tylko w typach referencyjnych i valueFactory
nie może zwracać odwołania o wartości null (Nic w Visual Basic). Aby zapewnić inicjowanie typów wartości lub zezwalanie na typy odwołań o wartości null, zobacz inne przeciążenia elementu EnsureInitialized.
Ta metoda może być używana współbieżnie przez wiele wątków w celu zainicjowania target
metody .
W przypadku, gdy wiele wątków uzyskuje dostęp do tej metody współbieżnie, można utworzyć wiele wystąpień T
klasy , ale tylko jeden będzie przechowywany w programie target
. W takim wystąpieniu ta metoda nie będzie usuwać obiektów, które nie były przechowywane. Jeśli takie obiekty muszą zostać usunięte, należy do obiektu wywołującego, aby określić, czy obiekt nie został użyty, a następnie odpowiednio usunąć obiekt.
Zobacz też
Dotyczy
EnsureInitialized<T>(T, Boolean, Object)
Inicjuje docelowe odwołanie lub typ wartości za pomocą konstruktora bez parametrów, jeśli nie został jeszcze zainicjowany.
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
Parametry typu
- T
Typ odwołania do zainicjowania.
Parametry
- target
- T
Odwołanie lub wartość typu T
do zainicjowania, jeśli jeszcze nie został zainicjowany.
- initialized
- Boolean
Odwołanie do wartości logicznej określającej, czy element docelowy został już zainicjowany.
- syncLock
- Object
Odwołanie do obiektu używanego jako wzajemnie wykluczająca się blokada do inicjowania target
elementu . Jeśli syncLock
parametr ma null
wartość , zostanie utworzone wystąpienie nowego obiektu.
Zwraca
- T
Zainicjowany obiekt.
Wyjątki
Brak uprawnień dostępu do konstruktora typu T
.
Typ T
nie ma konstruktora bez parametrów.
Uwagi
Jeśli initialized
określono wartość true, nie nastąpi dalsza inicjalizacja.
Zobacz też
Dotyczy
EnsureInitialized<T>(T, Object, Func<T>)
Inicjuje docelowy typ odwołania z określoną funkcją, jeśli nie został jeszcze zainicjowany.
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
Parametry typu
- T
Typ odwołania do zainicjowania.
Parametry
- target
- T
Odwołanie do inicjowania, jeśli nie zostało jeszcze zainicjowane. Jeśli jest null
to , jest uważany za nie zainicjowany; w przeciwnym razie jest uważany za zainicjowany.
- syncLock
- Object
Odwołanie do obiektu używanego jako wzajemnie wykluczająca się blokada do inicjowania target
elementu . Jeśli syncLock
parametr ma null
wartość , zostanie utworzone wystąpienie nowego obiektu.
- valueFactory
- Func<T>
Metoda wywoływana w celu zainicjowania target
metody .
Zwraca
- T
Zainicjowany obiekt.
Dotyczy
EnsureInitialized<T>(T, Boolean, Object, Func<T>)
Inicjuje docelowe odwołanie lub typ wartości przy użyciu określonej funkcji, jeśli nie została jeszcze zainicjowana.
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
Parametry typu
- T
Typ odwołania do zainicjowania.
Parametry
- target
- T
Odwołanie lub wartość typu T
do zainicjowania, jeśli jeszcze nie został zainicjowany.
- initialized
- Boolean
Odwołanie do wartości logicznej określającej, czy element docelowy został już zainicjowany.
- syncLock
- Object
Odwołanie do obiektu używanego jako wzajemnie wykluczająca się blokada do inicjowania target
elementu . Jeśli syncLock
parametr ma null
wartość , zostanie utworzone wystąpienie nowego obiektu.
- valueFactory
- Func<T>
Funkcja, która jest wywoływana w celu zainicjowania odwołania lub wartości.
Zwraca
- T
Zainicjowany obiekt.
Wyjątki
Brak uprawnień dostępu do konstruktora typu T
.
Typ T
nie ma konstruktora bez parametrów.
Uwagi
Jeśli initialized
określono wartość true, nie nastąpi dalsza inicjalizacja.