Lazy<T>.IsValueCreated Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá hodnotu, která určuje, zda byla vytvořena hodnota pro tuto Lazy<T> instanci.
public:
property bool IsValueCreated { bool get(); };
public bool IsValueCreated { get; }
member this.IsValueCreated : bool
Public ReadOnly Property IsValueCreated As Boolean
Hodnota vlastnosti
true pokud byla pro tuto Lazy<T> instanci vytvořena hodnota, falsejinak .
Poznámky
Při opožděné inicializaci instance Lazy<T> může dojít k vytvoření hodnoty nebo vyvolání výjimky. Pokud dojde k vyvolání výjimky, následné chování Lazy<T> instance závisí na tom, zda je ukládání výjimek do mezipaměti účinné.
Lazy<T> Pokud byla instance vytvořena pomocí konstruktoru, který neurčí inicializační funkci, pak se ukládání výjimek do mezipaměti neprojeví. Následný pokus o inicializaci Lazy<T> může být úspěšný a po úspěšné inicializaci IsValueCreated vrátí truevlastnost .
Lazy<T> Pokud byla instance vytvořena s inicializační funkcí (určenou parametrem valueFactory konstruktoruLazy<T>), je ukládání výjimek do mezipaměti řízeno režimem zabezpečení vlákna.
Pokud je LazyThreadSafetyMode.ExecutionAndPublication režim nebo LazyThreadSafetyMode.None, neexistuje žádná druhá šance inicializovat Lazy<T> instanci. Pokud dojde k výjimce a je neošetřená ve funkci inicializace, je tato výjimka uložena do mezipaměti a znovu se opakuje při následných přístupech k Lazy<T>.Value vlastnosti. Není vytvořena žádná hodnota, pokud je vyvolán výjimka, takže v takových případech IsValueCreated vrátí
false.Pokud je LazyThreadSafetyMode.PublicationOnlyrežim , první vlákno, které úspěšně spustí inicializační funkci (nebo konstruktor bez parametrů) vytvoří hodnotu instance Lazy<T> . Pokud inicializační funkce vyvolá výjimku v jednom vlákně, ostatní vlákna se stále mohou pokusit inicializovat Lazy<T> instanci. Dokud se hodnota nevytvořila, IsValueCreated vrátí
falsevlastnost .