Lazy<T>.IsValueCreated Propriété
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.
Obtient une valeur qui indique si une valeur a été créée pour cette instance de Lazy<T>.
public:
property bool IsValueCreated { bool get(); };
public bool IsValueCreated { get; }
member this.IsValueCreated : bool
Public ReadOnly Property IsValueCreated As Boolean
Valeur de propriété
true
si une valeur a été créée pour cette instance de Lazy<T> ; sinon, false
.
Remarques
Lorsque l’initialisation différée se produit pour une Lazy<T> instance, une valeur peut être créée ou une exception levée. Si une exception est levée, le comportement suivant de l’instance dépend de la Lazy<T> mise en cache de l’exception ou non. Si l’instance Lazy<T> a été créée à l’aide d’un constructeur qui ne spécifie pas de fonction d’initialisation, la mise en cache des exceptions n’est pas appliquée. Une tentative d’initialisation Lazy<T> ultérieure peut réussir, et après l’initialisation réussie, la IsValueCreated propriété retourne true
. Si l’instance Lazy<T> a été créée avec une fonction d’initialisation (spécifiée par le valueFactory
paramètre du constructeur), la Lazy<T> mise en cache des exceptions est contrôlée par le mode de sécurité du thread.
Si le mode est LazyThreadSafetyMode.ExecutionAndPublication ou LazyThreadSafetyMode.None, il n’existe aucune seconde chance d’initialiser l’instance Lazy<T> . Si une exception se produit et n’est pas gérée dans la fonction d’initialisation, cette exception est mise en cache et rethrownisée lors des accès suivants de la Lazy<T>.Value propriété. Aucune valeur n’est créée si une exception est levée. Dans ce cas IsValueCreated , retourne
false
.Si le mode est LazyThreadSafetyMode.PublicationOnly, le premier thread qui réussit à exécuter la fonction d’initialisation (ou le constructeur sans paramètre) crée la valeur pour l’instance Lazy<T> . Si la fonction d’initialisation lève une exception sur un thread, d’autres threads peuvent toujours essayer d’initialiser l’instance Lazy<T> . Jusqu’à ce que la valeur soit créée, la IsValueCreated propriété retourne
false
.