LazyInitializer.EnsureInitialized Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Initialise un type cible si ce n'est pas déjà fait.
Surcharges
EnsureInitialized<T>(T) |
Initialise un type 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 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 un type 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 référence cible ou avec une fonction spécifiée s’il n’a pas déjà été initialisé. |
EnsureInitialized<T>(T, Boolean, Object, Func<T>) |
Initialise un type 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 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;
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 ne l’a pas déjà été. Si la référence est null
, elle est considérée comme non initialisée ; sinon, elle est considérée comme initialisée.
Retours
- T
Objet initialisé.
Exceptions
Autorisations pour accéder au constructeur de type T
manquant.
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 de valeurs, 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 peuvent T
être créées, mais une seule sera stockée dans target
et retournée. Dans une telle occurrence, cette méthode ne supprime pas les objets qui n’ont pas été stockés. Si ces objets doivent être supprimés, utilisez une surcharge qui prend 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 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;
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 ne l’a pas déjà été.
- 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
a retourné null (Nothing en Visual Basic).
Remarques
Cette méthode peut uniquement être utilisée sur les types de référence et valueFactory
ne pas retourner une référence Null (Rien dans Visual Basic). Pour garantir l’initialisation des types de 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 une telle occurrence, cette méthode ne supprime pas les objets qui n’ont pas été stockés. Si ces objets doivent être supprimés, il est à l’appelant de déterminer si un objet n’a pas été utilisé, puis de supprimer l’objet de manière appropriée.
Voir aussi
S’applique à
EnsureInitialized<T>(T, Boolean, Object)
Initialise un type 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);
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 ne l’a pas déjà été.
- 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 de target
. Si syncLock
est null
null, un nouvel objet est instancié.
Retours
- T
Objet initialisé.
Exceptions
Autorisations pour accéder au constructeur de type T
manquant.
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 référence cible ou 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;
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 ne l’a pas déjà été. Si la référence est null
, elle est considérée comme non initialisée ; sinon, elle est considérée comme initialisée.
- syncLock
- Object
Référence à un objet utilisé comme verrou mutuellement exclusif pour l'initialisation de target
. Si syncLock
est null
null, 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 un type 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);
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 ne l’a pas déjà été.
- 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 de target
. Si syncLock
est null
null, 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
Autorisations pour accéder au constructeur de type T
manquant.
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.