Lazy<T>.IsValueCreated Propriété

Définition

Obtient une valeur qui indique si une valeur a été créée pour cette instance Lazy<T>.Gets a value that indicates whether a value has been created for this Lazy<T> instance.

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 Lazy<T> ; sinon, false.true if a value has been created for this Lazy<T> instance; otherwise, false.

Remarques

Lorsque l’initialisation tardive se produit pour Lazy<T> une instance, elle peut entraîner la création d’une valeur ou la levée d’une exception.When lazy initialization occurs for a Lazy<T> instance, it may result in either a value being created or an exception being thrown. Si une exception est levée, le comportement suivant de Lazy<T> l’instance varie selon que la mise en cache des exceptions est activée ou non.If an exception is thrown, subsequent behavior of the Lazy<T> instance depends on whether exception caching is in effect. Si l' Lazy<T> instance 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.If the Lazy<T> instance was created by using a constructor that does not specify an initialization function, then exception caching is not in effect. Une tentative d’initialisation Lazy<T> ultérieure de peut réussir et, après l’initialisation réussie, la IsValueCreated propriété retourne. trueA subsequent attempt to initialize the Lazy<T> might succeed, and after successful initialization the IsValueCreated property returns true. Si l' Lazy<T> instance a été créée à l’aide d’une fonction d’initialisation valueFactory (spécifiée par Lazy<T> le paramètre du constructeur), la mise en cache des exceptions est contrôlée par le mode de sécurité des threads.If the Lazy<T> instance was created with an initialization function (specified by the valueFactory parameter of the Lazy<T> constructor), then exception caching is controlled by the thread safety mode.

  • Si le mode est LazyThreadSafetyMode.ExecutionAndPublication ou LazyThreadSafetyMode.None, il n’existe aucune seconde chance d’initialiser Lazy<T> l’instance.If the mode is LazyThreadSafetyMode.ExecutionAndPublication or LazyThreadSafetyMode.None, there is no second chance to initialize the Lazy<T> instance. Si une exception se produit et n’est pas gérée dans la fonction d’initialisation, cette exception est mise en cache et levée à nouveau sur les accès Lazy<T>.Value ultérieurs de la propriété.If an exception occurs and is unhandled in the initialization function, that exception is cached and rethrown on subsequent accesses of the Lazy<T>.Value property. Aucune valeur n’est créée si une exception est levée. dans ce cas IsValueCreated , falseretourne.No value is created if an exception is thrown, so in such cases IsValueCreated returns false.

  • Si le mode est LazyThreadSafetyMode.PublicationOnly, le premier thread qui parvient à exécuter la fonction d’initialisation (ou le constructeur sans paramètre) crée la valeur pour l' Lazy<T> instance.If the mode is LazyThreadSafetyMode.PublicationOnly, the first thread that succeeds in running the initialization function (or the parameterless constructor) creates the value for the Lazy<T> instance. Si la fonction d’initialisation lève une exception sur un thread, les autres threads peuvent toujours essayer d’initialiser Lazy<T> l’instance.If the initialization function throws an exception on one thread, other threads can still try to initialize the Lazy<T> instance. Tant que la valeur n’est pas IsValueCreated créée, falsela propriété retourne.Until the value is created, the IsValueCreated property returns false.

S’applique à

Voir aussi