Lazy<T>.IsValueCreated Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar ett värde som anger om ett värde har skapats för den här instansen Lazy<T> .
public:
property bool IsValueCreated { bool get(); };
public bool IsValueCreated { get; }
member this.IsValueCreated : bool
Public ReadOnly Property IsValueCreated As Boolean
Egenskapsvärde
trueom ett värde har skapats för den här Lazy<T> instansen, annars . false
Kommentarer
När lat initiering sker för en Lazy<T> instans kan det leda till att antingen ett värde skapas eller ett undantag genereras. Om ett undantag utlöses beror efterföljande beteende för instansen Lazy<T> på om undantagscachelagring är i kraft. Om instansen Lazy<T> skapades med hjälp av en konstruktor som inte anger någon initieringsfunktion tillämpas inte undantagscachelagring. Ett efterföljande försök att initiera Lazy<T> kan lyckas och efter en lyckad initiering IsValueCreated returnerar trueegenskapen . Om instansen Lazy<T> skapades med en initieringsfunktion (som anges av konstruktorns valueFactory parameter Lazy<T> ) styrs undantagscachelagring av trådsäkerhetsläget.
Om läget är LazyThreadSafetyMode.ExecutionAndPublication eller LazyThreadSafetyMode.Nonefinns det ingen andra chans att initiera instansen Lazy<T> . Om ett undantag inträffar och är ohanterat i initieringsfunktionen cachelagras undantaget och återställs vid efterföljande åtkomster av Lazy<T>.Value egenskapen. Inget värde skapas om ett undantag utlöses, så i sådana fall IsValueCreated returneras
false.Om läget är LazyThreadSafetyMode.PublicationOnlyskapar den första tråden som lyckas köra initieringsfunktionen (eller den parameterlösa konstruktorn) värdet för instansen Lazy<T> . Om initieringsfunktionen utlöser ett undantag på en tråd kan andra trådar fortfarande försöka initiera instansen Lazy<T> . Tills värdet har skapats returnerar IsValueCreatedegenskapen
false.