LazyInitializer.EnsureInitialized Methode

Definitie

Initialiseert een doeltype als dit nog niet is geïnitialiseerd.

Overloads

Name Description
EnsureInitialized<T>(T)

Initialiseert een doelreferentietype met de parameterloze constructor van het type als deze nog niet is geïnitialiseerd.

EnsureInitialized<T>(T, Func<T>)

Initialiseert een doelreferentietype met behulp van een opgegeven functie als deze nog niet is geïnitialiseerd.

EnsureInitialized<T>(T, Boolean, Object)

Initialiseert een doelreferentie of waardetype met de parameterloze constructor als deze nog niet is geïnitialiseerd.

EnsureInitialized<T>(T, Object, Func<T>)

Initialiseert een doelreferentietype met een opgegeven functie als deze nog niet is geïnitialiseerd.

EnsureInitialized<T>(T, Boolean, Object, Func<T>)

Initialiseert een doelreferentie of waardetype met behulp van een opgegeven functie als deze nog niet is geïnitialiseerd.

EnsureInitialized<T>(T)

Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs

Initialiseert een doelreferentietype met de parameterloze constructor van het type als deze nog niet is geïnitialiseerd.

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

Type parameters

T

Het type verwijzing dat moet worden geïnitialiseerd.

Parameters

target
T

Een verwijzing om te initialiseren als deze nog niet is geïnitialiseerd. Als dit het is null, wordt het beschouwd als niet geïnitialiseerd; anders wordt het beschouwd als geïnitialiseerd.

Retouren

T

Het geïnitialiseerde object.

Uitzonderingen

Machtigingen voor toegang tot de constructor van het type T ontbreken.

Het type T heeft geen constructor zonder parameters.

Opmerkingen

Deze methode kan alleen worden gebruikt voor referentietypen. Zie andere overbelastingen van EnsureInitializedom de initialisatie van waardetypen te garanderen.

Deze methode kan gelijktijdig door meerdere threads worden gebruikt om te initialiseren target.

In het geval dat meerdere threads gelijktijdig toegang hebben tot deze methode, kunnen er meerdere exemplaren van T worden gemaakt, maar er wordt slechts één opgeslagen target in en geretourneerd. In een dergelijk geval wordt met deze methode niet de objecten verwijderd die niet zijn opgeslagen. Als dergelijke objecten moeten worden verwijderd, gebruikt u een overbelasting die valueFactory een en verwijdering van het object gebruikt als het niet verwijst naar hetzelfde opgeslagen object.

Zie ook

Van toepassing op

EnsureInitialized<T>(T, Func<T>)

Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs

Initialiseert een doelreferentietype met behulp van een opgegeven functie als deze nog niet is geïnitialiseerd.

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

Type parameters

T

Het type verwijzing dat moet worden geïnitialiseerd.

Parameters

target
T

De verwijzing om te initialiseren als deze nog niet is geïnitialiseerd.

valueFactory
Func<T>

De functie die wordt aangeroepen om de verwijzing te initialiseren.

Retouren

T

Het geïnitialiseerde object.

Uitzonderingen

Het type T heeft geen constructor zonder parameters.

valueFactory geretourneerd null (niets in Visual Basic).

Opmerkingen

Deze methode kan alleen worden gebruikt voor referentietypen en valueFactory retourneert mogelijk geen null-verwijzing (niets in Visual Basic). Zie andere overbelastingen van EnsureInitialized om te zorgen voor initialisatie van waardetypen of om null-verwijzingstypen toe te staan.

Deze methode kan gelijktijdig door meerdere threads worden gebruikt om te initialiseren target.

In het geval dat meerdere threads gelijktijdig toegang hebben tot deze methode, kunnen er meerdere exemplaren van T worden gemaakt, maar er wordt slechts één opgeslagen in target. In een dergelijk geval wordt met deze methode niet de objecten verwijderd die niet zijn opgeslagen. Als dergelijke objecten moeten worden verwijderd, is het aan de aanroeper om te bepalen of een object niet is gebruikt en vervolgens het object op de juiste wijze te verwijderen.

Zie ook

Van toepassing op

EnsureInitialized<T>(T, Boolean, Object)

Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs

Initialiseert een doelreferentie of waardetype met de parameterloze constructor als deze nog niet is geïnitialiseerd.

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

Type parameters

T

Het type verwijzing dat moet worden geïnitialiseerd.

Parameters

target
T

Een verwijzing of waarde van het type T dat moet worden geïnitialiseerd als deze nog niet is geïnitialiseerd.

initialized
Boolean

Een verwijzing naar een Booleaanse waarde die bepaalt of het doel al is geïnitialiseerd.

syncLock
Object

Een verwijzing naar een object dat wordt gebruikt als de wederzijds exclusieve vergrendeling voor initialisatie target. Als syncLock dat het is null, wordt er een nieuw object geïnstantieerd.

Retouren

T

Het geïnitialiseerde object.

Uitzonderingen

Machtigingen voor toegang tot de constructor van het type T ontbreken.

Het type T heeft geen constructor zonder parameters.

Opmerkingen

Als initialized wordt opgegeven als waar, vindt er geen verdere initialisatie plaats.

Zie ook

Van toepassing op

EnsureInitialized<T>(T, Object, Func<T>)

Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs

Initialiseert een doelreferentietype met een opgegeven functie als deze nog niet is geïnitialiseerd.

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

Type parameters

T

Het type verwijzing dat moet worden geïnitialiseerd.

Parameters

target
T

Een verwijzing om te initialiseren als deze nog niet is geïnitialiseerd. Als dit het is null, wordt het beschouwd als niet geïnitialiseerd; anders wordt het beschouwd als geïnitialiseerd.

syncLock
Object

Een verwijzing naar een object dat wordt gebruikt als de wederzijds exclusieve vergrendeling voor initialisatie target. Als syncLock dat het is null, wordt er een nieuw object geïnstantieerd.

valueFactory
Func<T>

De methode die moet worden aangeroepen om te initialiseren target.

Retouren

T

Het geïnitialiseerde object.

Van toepassing op

EnsureInitialized<T>(T, Boolean, Object, Func<T>)

Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs
Bron:
LazyInitializer.cs

Initialiseert een doelreferentie of waardetype met behulp van een opgegeven functie als deze nog niet is geïnitialiseerd.

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

Type parameters

T

Het type verwijzing dat moet worden geïnitialiseerd.

Parameters

target
T

Een verwijzing of waarde van het type T dat moet worden geïnitialiseerd als deze nog niet is geïnitialiseerd.

initialized
Boolean

Een verwijzing naar een Booleaanse waarde die bepaalt of het doel al is geïnitialiseerd.

syncLock
Object

Een verwijzing naar een object dat wordt gebruikt als de wederzijds exclusieve vergrendeling voor initialisatie target. Als syncLock dat het is null, wordt er een nieuw object geïnstantieerd.

valueFactory
Func<T>

De functie die wordt aangeroepen om de verwijzing of waarde te initialiseren.

Retouren

T

Het geïnitialiseerde object.

Uitzonderingen

Machtigingen voor toegang tot de constructor van het type T ontbreken.

Het type T heeft geen constructor zonder parameters.

Opmerkingen

Als initialized wordt opgegeven als waar, vindt er geen verdere initialisatie plaats.

Zie ook

Van toepassing op