Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

LazyInitializer, classe

Fournit des routines d'initialisation tardives.

System.Object
  System.Threading.LazyInitializer

Espace de noms :  System.Threading
Assembly :  mscorlib (dans mscorlib.dll)

[HostProtectionAttribute(SecurityAction.LinkDemand, Synchronization = true, 
	ExternalThreading = true)]
public static class LazyInitializer

  NomDescription
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreEnsureInitialized<T>(T)Initialise un type référence cible avec le constructeur par défaut du type s'il n'a pas déjà été initialisé.
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreEnsureInitialized<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é.
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreEnsureInitialized<T>(T, Boolean, Object)Initialise un type référence cible ou un type valeur avec son constructeur par défaut s'il n'a pas déjà été initialisé.
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreEnsureInitialized<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é.
Début

Ces routines évitent de devoir allouer une instance d'initialisation tardive dédiée et permet d'utiliser à la place des références pour vérifier que les cibles ont été initialisées lorsqu'on y accède.

RemarqueRemarque

L'attribut HostProtectionAttribute appliqué à ce type ou membre a la valeur de propriété Resources suivante : Synchronization | ExternalThreading. HostProtectionAttribute n'affecte pas les applications bureautiques (qui sont généralement démarrées en double-cliquant sur une icône, en tapant une commande ou en entrant une URL dans un navigateur). Pour plus d'informations, consultez la classe HostProtectionAttribute ou Attributs de programmation et de protection des hôtes SQL Server.

L'exemple suivant montre comment utiliser EnsureInitialized pour initialiser tardivement une valeur à l'aide d'une valeur booléenne pour suivre si l'initialisation est déjà arrivée et un objet à utiliser comme verrou d'exclusion mutuelle.

ExpensiveData _data = null;
                     bool _dataInitialized = false;
                     object _dataLock = new object();
                  //  ...

                    ExpensiveData dataToUse = LazyInitializer.EnsureInitialized(ref _data, ref _dataInitialized, ref _dataLock);

.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Pris en charge dans : 4

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

.NET pour les applications Windows Phone

Pris en charge dans : Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Les méthodes de LazyInitializer sont thread-safe et peuvent être appelées en même temps depuis plusieurs threads.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft