LazyInitializer Kelas

Definisi

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.

Lihat juga