LazyInitializer Kelas
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.
Menyediakan rutinitas inisialisasi malas.
public ref class LazyInitializer abstract sealed
public static class LazyInitializer
type LazyInitializer = class
Public Class LazyInitializer
- Warisan
-
LazyInitializer
Contoh
Contoh berikut menunjukkan cara menggunakan EnsureInitialized untuk menginisialisasi nilai dengan malas menggunakan nilai Boolean untuk melacak apakah inisialisasi telah terjadi dan objek yang akan digunakan sebagai kunci pengecualian bersama.
Dim _data As ExpensiveData = Nothing
Dim _dataInitialized As Boolean = False
Dim _dataLock As Object = Nothing
' ...
Dim name = LazyInitializer.EnsureInitialized(_data, _dataInitialized, _dataLock)
ExpensiveData _data = null;
bool _dataInitialized = false;
object _dataLock = new object();
// ...
ExpensiveData dataToUse = LazyInitializer.EnsureInitialized(ref _data, ref _dataInitialized, ref _dataLock);
Keterangan
Rutinitas ini menghindari perlunya mengalokasikan instans khusus dan malas-inisialisasi, sebagai gantinya menggunakan referensi untuk memastikan target telah diinisialisasi saat diakses.
Metode
| Nama | Deskripsi |
|---|---|
| EnsureInitialized<T>(T, Boolean, Object, Func<T>) |
Menginisialisasi referensi target atau jenis nilai dengan menggunakan fungsi tertentu jika belum diinisialisasi. |
| EnsureInitialized<T>(T, Boolean, Object) |
Menginisialisasi referensi target atau jenis nilai dengan konstruktor tanpa parameternya jika belum diinisialisasi. |
| EnsureInitialized<T>(T, Func<T>) |
Menginisialisasi jenis referensi target dengan menggunakan fungsi tertentu jika belum diinisialisasi. |
| EnsureInitialized<T>(T, Object, Func<T>) |
Menginisialisasi jenis referensi target dengan fungsi tertentu jika belum diinisialisasi. |
| EnsureInitialized<T>(T) |
Menginisialisasi jenis referensi target dengan konstruktor tanpa parameter jenis jika belum diinisialisasi. |
Berlaku untuk
Keamanan Thread
Metode aman utas LazyInitializer dan dapat dipanggil dari beberapa utas secara bersamaan.