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