LazyInitializer.EnsureInitialized Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Inicializál egy céltípust, ha még nincs inicializálva.
Túlterhelések
| Name | Description |
|---|---|
| EnsureInitialized<T>(T) |
Inicializál egy célhivatkozás-típust a típus paraméter nélküli konstruktorával, ha még nem inicializálták. |
| EnsureInitialized<T>(T, Func<T>) |
Inicializál egy célhivatkozástípust egy megadott függvény használatával, ha még nem inicializálta. |
| EnsureInitialized<T>(T, Boolean, Object) |
Inicializál egy célhivatkozást vagy értéktípust a paraméter nélküli konstruktorával, ha még nincs inicializálva. |
| EnsureInitialized<T>(T, Object, Func<T>) |
Inicializál egy célhivatkozástípust egy megadott függvénnyel, ha még nincs inicializálva. |
| EnsureInitialized<T>(T, Boolean, Object, Func<T>) |
Egy célhivatkozást vagy értéktípust inicializál egy megadott függvény használatával, ha még nem inicializálta. |
EnsureInitialized<T>(T)
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
Inicializál egy célhivatkozás-típust a típus paraméter nélküli konstruktorával, ha még nem inicializálták.
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ípusparaméterek
- T
Az inicializálandó hivatkozás típusa.
Paraméterek
- target
- T
Inicializálásra vonatkozó hivatkozás, ha még nem inicializálódott. Ha igen null, akkor a rendszer nem inicializáltnak tekinti, ellenkező esetben inicializáltnak tekinti.
Válaszok
Az inicializált objektum.
Kivételek
A konstruktorhoz T való hozzáféréshez szükséges engedélyek hiányoznak.
A típus T nem rendelkezik paraméter nélküli konstruktorsal.
Megjegyzések
Ez a módszer csak referenciatípusok esetén használható. Az értéktípusok inicializálásának biztosításához tekintse meg EnsureInitializeda .
Ezt a metódust egyszerre több szál is használhatja az inicializáláshoz target.
Abban az esetben, ha egyszerre több szál is hozzáfér ehhez a metódushoz, több példány T is létrehozható, de csak egy lesz tárolva target és visszaadva. Ilyen esetben ez a módszer nem fogja megsemmisíteni a nem tárolt objektumokat. Ha ezeket az objektumokat el kell dobni, használjon túlterhelést, amely az objektumot elveszi valueFactory , és megsemmisíti, ha nem ugyanarra a tárolt objektumra hivatkozik.
Lásd még
A következőre érvényes:
EnsureInitialized<T>(T, Func<T>)
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
Inicializál egy célhivatkozástípust egy megadott függvény használatával, ha még nem inicializálta.
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ípusparaméterek
- T
Az inicializálandó hivatkozás típusa.
Paraméterek
- target
- T
Az inicializálásra vonatkozó hivatkozás, ha még nem inicializálódott.
- valueFactory
- Func<T>
A hivatkozás inicializálásához hívott függvény.
Válaszok
Az inicializált objektum.
Kivételek
A típus T nem rendelkezik paraméter nélküli konstruktorsal.
valueFactory null értéket adott vissza (a Visual Basic semmi).
Megjegyzések
Ez a módszer csak hivatkozástípusokhoz használható, és valueFactory nem adhat vissza null hivatkozást (Visual Basic semmi). Az értéktípusok inicializálásának biztosításához vagy a null referenciatípusok engedélyezéséhez tekintse meg az EnsureInitialized egyéb túlterheléseit.
Ezt a metódust egyszerre több szál is használhatja az inicializáláshoz target.
Ha egyszerre több szál is hozzáfér ehhez a metódushoz, több példány T is létrehozható, de csak egy lesz tárolva target. Ilyen esetben ez a módszer nem fogja megsemmisíteni a nem tárolt objektumokat. Ha ilyen objektumokat kell megsemmisíteni, a hívó feladata annak megállapítása, hogy nem használták-e az objektumot, majd a megfelelő módon kell-e megsemmisíteni az objektumot.
Lásd még
A következőre érvényes:
EnsureInitialized<T>(T, Boolean, Object)
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
Inicializál egy célhivatkozást vagy értéktípust a paraméter nélküli konstruktorával, ha még nincs inicializálva.
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ípusparaméterek
- T
Az inicializálandó hivatkozás típusa.
Paraméterek
- target
- T
Egy inicializálandó hivatkozás vagy érték T , ha még nem inicializálták.
- initialized
- Boolean
Logikai értékre mutató hivatkozás, amely meghatározza, hogy a cél már inicializálva van-e.
- syncLock
- Object
Az inicializálás targetkölcsönösen kizárólagos zárolásaként használt objektumra mutató hivatkozás. Ha syncLock igen null, egy új objektum lesz példányosítva.
Válaszok
Az inicializált objektum.
Kivételek
A konstruktorhoz T való hozzáféréshez szükséges engedélyek hiányoznak.
A típus T nem rendelkezik paraméter nélküli konstruktorsal.
Megjegyzések
Ha initialized igazként van megadva, akkor nem történik további inicializálás.
Lásd még
A következőre érvényes:
EnsureInitialized<T>(T, Object, Func<T>)
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
Inicializál egy célhivatkozástípust egy megadott függvénnyel, ha még nincs inicializálva.
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ípusparaméterek
- T
Az inicializálandó hivatkozás típusa.
Paraméterek
- target
- T
Inicializálásra vonatkozó hivatkozás, ha még nem inicializálódott. Ha igen null, akkor a rendszer nem inicializáltnak tekinti, ellenkező esetben inicializáltnak tekinti.
- syncLock
- Object
Az inicializálás targetkölcsönösen kizárólagos zárolásaként használt objektumra mutató hivatkozás. Ha syncLock igen null, egy új objektum lesz példányosítva.
- valueFactory
- Func<T>
Az inicializáláshoz targetmeghívandó metódus.
Válaszok
Az inicializált objektum.
A következőre érvényes:
EnsureInitialized<T>(T, Boolean, Object, Func<T>)
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
- Forrás:
- LazyInitializer.cs
Egy célhivatkozást vagy értéktípust inicializál egy megadott függvény használatával, ha még nem inicializálta.
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ípusparaméterek
- T
Az inicializálandó hivatkozás típusa.
Paraméterek
- target
- T
Egy inicializálandó hivatkozás vagy érték T , ha még nem inicializálták.
- initialized
- Boolean
Logikai értékre mutató hivatkozás, amely meghatározza, hogy a cél már inicializálva van-e.
- syncLock
- Object
Az inicializálás targetkölcsönösen kizárólagos zárolásaként használt objektumra mutató hivatkozás. Ha syncLock igen null, egy új objektum lesz példányosítva.
- valueFactory
- Func<T>
A hivatkozás vagy érték inicializálására hívott függvény.
Válaszok
Az inicializált objektum.
Kivételek
A konstruktorhoz T való hozzáféréshez szükséges engedélyek hiányoznak.
A típus T nem rendelkezik paraméter nélküli konstruktorsal.
Megjegyzések
Ha initialized igazként van megadva, akkor nem történik további inicializálás.