Tento článek byl přeložený strojově. Pokud chcete zobrazit článek v angličtině, zaškrtněte políčko Angličtina. Anglickou verzi článku můžete také zobrazit v místním okně přesunutím ukazatele myši nad text.
Překlad
Angličtina

Vlastnost Lazy<T>.IsValueCreated

.NET Framework (current version)
 

Získá hodnotu, která označuje, zda byl vytvořen hodnotu pro tuto Lazy<T> instance.

Obor názvů:   System
Sestavení:  mscorlib (v mscorlib.dll)

public bool IsValueCreated { get; }

Hodnota vlastnosti

Type: System.Boolean

true Pokud byla vytvořena pro tuto hodnotu Lazy<T> instance; jinak false.

Opožděná inicializace dojde-li pro Lazy<T> instance, může být hodnota vytvářena nebo k vyvolání výjimky. Pokud je výjimka vyvolané, následné chování Lazy<T> instance závisí na tom, zda výjimka ukládání do mezipaměti v platnosti. Pokud Lazy<T> instance byla vytvořena pomocí konstruktoru, která neurčuje inicializační funkce a pak ukládání do mezipaměti výjimka není funkční. Další pokus o inicializaci Lazy<T> může být úspěšné a po úspěšné inicializaci IsValueCreated vlastnost vrátí true. Pokud Lazy<T> instance byla vytvořena s inicializační funkce (podle valueFactory parametru Lazy<T> konstruktor), pak ukládání do mezipaměti výjimka řídí režim bezpečnostního vlákna.

  • Pokud je režim LazyThreadSafetyMode.ExecutionAndPublication nebo LazyThreadSafetyMode.None, neexistuje možnost druhý inicializovat Lazy<T> instance. Pokud dojde k výjimce a ošetřena v inicializační funkce, je tato výjimka v mezipaměti a znovu vyvolána při následných přístupech z Lazy<T>.Valuevlastnost. Pokud je vyvolána výjimka, tak v takových případech bude vytvořen žádná hodnota IsValueCreated vrátí false.

  • Pokud je režim LazyThreadSafetyMode.PublicationOnly, první vlákno, která byla úspěšná, v běžícím inicializační funkci (nebo výchozí konstruktor) vytvoří hodnotu pro Lazy<T> instance. Pokud inicializační funkce vyvolá výjimku v jednom vláknu, můžete stále jiných vláken pokusí o inicializaci Lazy<T> instance. Dokud nebude vytvořena hodnota IsValueCreated vlastnost vrátí false.

Univerzální platforma Windows
K dispozici od 8
.NET Framework
K dispozici od 4.0
Přenosná knihovna tříd
Podporováno v: přenosné platformy .NET
Silverlight
K dispozici od 4.0
Windows Phone Silverlight
K dispozici od 8.0
Windows Phone
K dispozici od 8.1
Zpět na začátek
Zobrazit: