Lazy<T>.IsValueCreated Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan nilai yang menunjukkan apakah nilai telah dibuat untuk instans ini Lazy<T> .
public:
property bool IsValueCreated { bool get(); };
public bool IsValueCreated { get; }
member this.IsValueCreated : bool
Public ReadOnly Property IsValueCreated As Boolean
Nilai Properti
true jika nilai telah dibuat untuk instans ini Lazy<T> ; jika tidak, false.
Keterangan
Ketika inisialisasi malas terjadi untuk Lazy<T> instans, itu dapat mengakibatkan nilai dibuat atau pengecualian dilemparkan. Jika pengecualian dilemparkan, perilaku Lazy<T> instans berikutnya tergantung pada apakah penembolokan pengecualian berlaku.
Lazy<T> Jika instans dibuat dengan menggunakan konstruktor yang tidak menentukan fungsi inisialisasi, maka penembolokan pengecualian tidak berlaku. Upaya berikutnya untuk menginisialisasi Lazy<T> mungkin berhasil, dan setelah berhasil menginisialisasi IsValueCreated properti mengembalikan true.
Lazy<T> Jika instans dibuat dengan fungsi inisialisasi (ditentukan oleh valueFactory parameter Lazy<T> konstruktor), maka penembolokan pengecualian dikendalikan oleh mode keamanan utas.
Jika mode adalah LazyThreadSafetyMode.ExecutionAndPublication atau LazyThreadSafetyMode.None, tidak ada kesempatan kedua untuk menginisialisasi Lazy<T> instans. Jika pengecualian terjadi dan tidak tertangani dalam fungsi inisialisasi, pengecualian tersebut di-cache dan ditumbuhi kembali pada akses Lazy<T>.Value properti berikutnya. Tidak ada nilai yang dibuat jika pengecualian dilemparkan, jadi dalam kasus IsValueCreated seperti itu mengembalikan
false.Jika mode adalah LazyThreadSafetyMode.PublicationOnly, utas pertama yang berhasil menjalankan fungsi inisialisasi (atau konstruktor tanpa parameter) membuat nilai untuk Lazy<T> instans. Jika fungsi inisialisasi melemparkan pengecualian pada satu utas, utas lain masih dapat mencoba menginisialisasi Lazy<T> instans. Hingga nilai dibuat, IsValueCreated properti mengembalikan
false.