Lazy<T>.IsValueCreated Lazy<T>.IsValueCreated Lazy<T>.IsValueCreated Lazy<T>.IsValueCreated Property

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 un Lazy<T> instance, cela peut entraîner une valeur en cours de création ou une exception est levée.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é, le comportement suivant de la Lazy<T> instance varie selon que la mise en cache de l’exception est en vigueur.If an exception is thrown, subsequent behavior of the Lazy<T> instance depends on whether exception caching is in effect. Si le Lazy<T> instance a été créée à l’aide d’un constructeur qui ne spécifie pas une fonction d’initialisation, puis la mise en cache de l’exception n’est pas en vigueur.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 nouvelle tentative pour initialiser le Lazy<T> peut réussir et après l’initialisation réussie du IsValueCreated retourne de la propriété true.A subsequent attempt to initialize the Lazy<T> might succeed, and after successful initialization the IsValueCreated property returns true. Si le Lazy<T> instance a été créée avec une fonction d’initialisation (spécifié par le valueFactory paramètre de la Lazy<T> constructeur), puis la mise en cache de l’exception est contrôlée par le mode de cohérence de thread.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 pas de deuxième chance pour initialiser le Lazy<T> 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 mis en cache et levée à nouveau lors des accès de le Lazy<T>.Value 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, donc dans ce cas IsValueCreated retourne false.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 réussit l’exécution de la fonction d’initialisation (ou le constructeur par défaut) crée la valeur pour le Lazy<T> instance.If the mode is LazyThreadSafetyMode.PublicationOnly, the first thread that succeeds in running the initialization function (or the default 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 le Lazy<T> instance.If the initialization function throws an exception on one thread, other threads can still try to initialize the Lazy<T> instance. Jusqu'à ce que la valeur est créée, le IsValueCreated retourne de la propriété false.Until the value is created, the IsValueCreated property returns false.

S’applique à

Voir aussi