LazyInitializer.EnsureInitialized Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje cílový typ, pokud ještě nebyl inicializován.
Přetížení
| Name | Description |
|---|---|
| EnsureInitialized<T>(T) |
Inicializuje cílový typ odkazu pomocí konstruktoru bez parametrů typu, pokud ještě nebyl inicializován. |
| EnsureInitialized<T>(T, Func<T>) |
Inicializuje cílový typ odkazu pomocí zadané funkce, pokud ještě nebyl inicializován. |
| EnsureInitialized<T>(T, Boolean, Object) |
Inicializuje cílový odkaz nebo typ hodnoty pomocí konstruktoru bez parametrů, pokud ještě nebyl inicializován. |
| EnsureInitialized<T>(T, Object, Func<T>) |
Inicializuje cílový typ odkazu se zadanou funkcí, pokud ještě nebyl inicializován. |
| EnsureInitialized<T>(T, Boolean, Object, Func<T>) |
Inicializuje cílový odkaz nebo typ hodnoty pomocí zadané funkce, pokud ještě nebyl inicializován. |
EnsureInitialized<T>(T)
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
Inicializuje cílový typ odkazu pomocí konstruktoru bez parametrů typu, pokud ještě nebyl inicializován.
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 odkazu, který se má inicializovat.
Parametry
- target
- T
Odkaz na inicializaci, pokud ještě nebyl inicializován. Pokud ano null, považuje se za inicializovaný, jinak se považuje za inicializovaný.
Návraty
Inicializovaný objekt.
Výjimky
Chybí oprávnění pro přístup ke konstruktoru typu T .
Typ T nemá konstruktor bez parametrů.
Poznámky
Tuto metodu lze použít pouze u referenčních typů. Chcete-li zajistit inicializaci hodnotových typů, viz další přetížení EnsureInitialized.
Tuto metodu lze použít souběžně více vláken k inicializaci target.
V případě, že více vláken přistupuje k této metodě souběžně, může být vytvořeno více instancí T , ale pouze jeden bude uložen do target a vrácen. V takovém výskytu tato metoda nezlikviduje objekty, které nebyly uloženy. Pokud tyto objekty musí být odstraněny, použijte přetížení, které vezme valueFactory a odstraní objekt, pokud neodkazuje na stejný uložený objekt.
Viz také
Platí pro
EnsureInitialized<T>(T, Func<T>)
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
Inicializuje cílový typ odkazu pomocí zadané funkce, pokud ještě nebyl inicializován.
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 odkazu, který se má inicializovat.
Parametry
- target
- T
Odkaz na inicializaci, pokud ještě nebyl inicializován.
- valueFactory
- Func<T>
Funkce, která je volána k inicializaci odkazu.
Návraty
Inicializovaný objekt.
Výjimky
Typ T nemá konstruktor bez parametrů.
valueFactory vrátil hodnotu null (nic v Visual Basic).
Poznámky
Tuto metodu lze použít pouze u referenčních typů a valueFactory nemusí vracet nulový odkaz (nothing v Visual Basic). Chcete-li zajistit inicializaci typů hodnot nebo povolit odkazové typy null, podívejte se na další přetížení EnsureInitialized.
Tuto metodu lze použít souběžně více vláken k inicializaci target.
V případě, že více vláken přistupuje k této metodě souběžně, může být vytvořeno více instancí T , ale pouze jeden bude uložen do target. V takovém výskytu tato metoda nezlikviduje objekty, které nebyly uloženy. Pokud musí být tyto objekty odstraněny, je na volajícím, aby určil, zda objekt nebyl použit, a poté odpovídajícím způsobem odstraňte objekt.
Viz také
Platí pro
EnsureInitialized<T>(T, Boolean, Object)
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
Inicializuje cílový odkaz nebo typ hodnoty pomocí konstruktoru bez parametrů, pokud ještě nebyl inicializován.
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 odkazu, který se má inicializovat.
Parametry
- target
- T
Odkaz nebo hodnota typu T , která se má inicializovat, pokud ještě nebyla inicializována.
- initialized
- Boolean
Odkaz na logickou hodnotu, která určuje, zda již byl cíl inicializován.
- syncLock
- Object
Odkaz na objekt použitý jako vzájemně se vylučují zámek pro inicializaci target. Pokud syncLock ano null, vytvoří se instance nového objektu.
Návraty
Inicializovaný objekt.
Výjimky
Chybí oprávnění pro přístup ke konstruktoru typu T .
Typ T nemá konstruktor bez parametrů.
Poznámky
Pokud initialized je zadána jako pravda, nedojde k žádné další inicializaci.
Viz také
Platí pro
EnsureInitialized<T>(T, Object, Func<T>)
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
Inicializuje cílový typ odkazu se zadanou funkcí, pokud ještě nebyl inicializován.
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 odkazu, který se má inicializovat.
Parametry
- target
- T
Odkaz na inicializaci, pokud ještě nebyl inicializován. Pokud ano null, považuje se za inicializovaný, jinak se považuje za inicializovaný.
- syncLock
- Object
Odkaz na objekt použitý jako vzájemně se vylučují zámek pro inicializaci target. Pokud syncLock ano null, vytvoří se instance nového objektu.
- valueFactory
- Func<T>
Metoda vyvolání inicializace target.
Návraty
Inicializovaný objekt.
Platí pro
EnsureInitialized<T>(T, Boolean, Object, Func<T>)
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
- Zdroj:
- LazyInitializer.cs
Inicializuje cílový odkaz nebo typ hodnoty pomocí zadané funkce, pokud ještě nebyl inicializován.
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 odkazu, který se má inicializovat.
Parametry
- target
- T
Odkaz nebo hodnota typu T , která se má inicializovat, pokud ještě nebyla inicializována.
- initialized
- Boolean
Odkaz na logickou hodnotu, která určuje, zda již byl cíl inicializován.
- syncLock
- Object
Odkaz na objekt použitý jako vzájemně se vylučují zámek pro inicializaci target. Pokud syncLock ano null, vytvoří se instance nového objektu.
- valueFactory
- Func<T>
Funkce, která je volána k inicializaci odkazu nebo hodnoty.
Návraty
Inicializovaný objekt.
Výjimky
Chybí oprávnění pro přístup ke konstruktoru typu T .
Typ T nemá konstruktor bez parametrů.
Poznámky
Pokud initialized je zadána jako pravda, nedojde k žádné další inicializaci.