Partager via


Lazy<T>.IsValueCreated Propriété

Définition

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.

S’applique à

Voir aussi