LazyInitializer.EnsureInitialized Méthode

Définition

Initialise un type cible s’il n’a pas déjà été initialisé.

Surcharges

Nom Description
EnsureInitialized<T>(T)

Initialise un type de référence cible avec le constructeur sans paramètre du type s’il n’a pas déjà été initialisé.

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

Initialise un type de référence cible à l’aide d’une fonction spécifiée s’il n’a pas déjà été initialisé.

EnsureInitialized<T>(T, Boolean, Object)

Initialise une référence cible ou un type valeur avec son constructeur sans paramètre s’il n’a pas déjà été initialisé.

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

Initialise un type de référence cible avec une fonction spécifiée s’il n’a pas déjà été initialisé.

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

Initialise une référence cible ou un type valeur à l’aide d’une fonction spécifiée s’il n’a pas déjà été initialisé.

EnsureInitialized<T>(T)

Initialise un type de référence cible avec le constructeur sans paramètre du type s’il n’a pas déjà été initialisé.

public:
generic <typename T>
 where T : class static T EnsureInitialized(T % target);
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

Paramètres de type

T

Type de la référence à initialiser.

Paramètres

target
T

Référence à initialiser si elle n’a pas déjà été initialisée. Si c’est nullle cas, il est considéré comme non initialisé ; sinon, il est considéré comme initialisé.

Retours

T

Objet initialisé.

Exceptions

Les autorisations d’accès au constructeur de type T étaient manquantes.

Le type T n’a pas de constructeur sans paramètre.

Remarques

Cette méthode peut uniquement être utilisée sur les types de référence. Pour garantir l’initialisation des types valeur, consultez d’autres surcharges de EnsureInitialized.

Cette méthode peut être utilisée simultanément par plusieurs threads pour initialiser target.

Si plusieurs threads accèdent simultanément à cette méthode, plusieurs instances de T peuvent être créées, mais une seule sera stockée dans target et retournée. Dans ce cas, cette méthode ne supprime pas les objets qui n’ont pas été stockés. Si de tels objets doivent être supprimés, utilisez une surcharge qui accepte et valueFactory supprime l’objet s’il ne fait pas référence au même objet stocké.

Voir aussi

S’applique à

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

Initialise un type de référence cible à l’aide d’une fonction spécifiée s’il n’a pas déjà été initialisé.

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;
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

Paramètres de type

T

Type de la référence à initialiser.

Paramètres

target
T

Référence à initialiser si elle n’a pas déjà été initialisée.

valueFactory
Func<T>

Fonction appelée pour initialiser la référence.

Retours

T

Objet initialisé.

Exceptions

Le type T n’a pas de constructeur sans paramètre.

valueFactory retourné null (Nothing in Visual Basic).

Remarques

Cette méthode peut uniquement être utilisée sur les types de référence et valueFactory ne peut pas retourner de référence Null (Nothing in Visual Basic). Pour garantir l’initialisation des types valeur ou pour autoriser les types de référence Null, consultez d’autres surcharges de EnsureInitialized.

Cette méthode peut être utilisée simultanément par plusieurs threads pour initialiser target.

Dans le cas où plusieurs threads accèdent simultanément à cette méthode, plusieurs instances de T peuvent être créées, mais une seule sera stockée dans target. Dans ce cas, cette méthode ne supprime pas les objets qui n’ont pas été stockés. Si de tels objets doivent être supprimés, il incombe à l’appelant de déterminer si un objet n’a pas été utilisé et de supprimer l’objet de manière appropriée.

Voir aussi

S’applique à

EnsureInitialized<T>(T, Boolean, Object)

Initialise une référence cible ou un type valeur avec son constructeur sans paramètre s’il n’a pas déjà été initialisé.

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);
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

Paramètres de type

T

Type de la référence à initialiser.

Paramètres

target
T

Référence ou valeur de type T à initialiser si elle n’a pas déjà été initialisée.

initialized
Boolean

Référence à une valeur booléenne qui détermine si la cible a déjà été initialisée.

syncLock
Object

Référence à un objet utilisé comme verrou mutuellement exclusif pour l’initialisation target. Si syncLock c’est nullle cas, un nouvel objet est instancié.

Retours

T

Objet initialisé.

Exceptions

Les autorisations d’accès au constructeur de type T étaient manquantes.

Le type T n’a pas de constructeur sans paramètre.

Remarques

Si initialized elle est spécifiée comme true, aucune initialisation supplémentaire ne se produit.

Voir aussi

S’applique à

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

Initialise un type de référence cible avec une fonction spécifiée s’il n’a pas déjà été initialisé.

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;
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

Paramètres de type

T

Type de la référence à initialiser.

Paramètres

target
T

Référence à initialiser si elle n’a pas déjà été initialisée. Si c’est nullle cas, il est considéré comme non initialisé ; sinon, il est considéré comme initialisé.

syncLock
Object

Référence à un objet utilisé comme verrou mutuellement exclusif pour l’initialisation target. Si syncLock c’est nullle cas, un nouvel objet est instancié.

valueFactory
Func<T>

Méthode à appeler pour initialiser target.

Retours

T

Objet initialisé.

S’applique à

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

Initialise une référence cible ou un type valeur à l’aide d’une fonction spécifiée s’il n’a pas déjà été initialisé.

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);
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

Paramètres de type

T

Type de la référence à initialiser.

Paramètres

target
T

Référence ou valeur de type T à initialiser si elle n’a pas déjà été initialisée.

initialized
Boolean

Référence à une valeur booléenne qui détermine si la cible a déjà été initialisée.

syncLock
Object

Référence à un objet utilisé comme verrou mutuellement exclusif pour l’initialisation target. Si syncLock c’est nullle cas, un nouvel objet est instancié.

valueFactory
Func<T>

Fonction appelée pour initialiser la référence ou la valeur.

Retours

T

Objet initialisé.

Exceptions

Les autorisations d’accès au constructeur de type T étaient manquantes.

Le type T n’a pas de constructeur sans paramètre.

Remarques

Si initialized elle est spécifiée comme true, aucune initialisation supplémentaire ne se produit.

Voir aussi

S’applique à