LazyInitializer.EnsureInitialized Metode

Definisi

Menginisialisasi jenis target jika belum diinisialisasi.

Overload

Nama Deskripsi
EnsureInitialized<T>(T)

Menginisialisasi jenis referensi target dengan konstruktor tanpa parameter jenis jika belum diinisialisasi.

EnsureInitialized<T>(T, Func<T>)

Menginisialisasi jenis referensi target 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, Object, Func<T>)

Menginisialisasi jenis referensi target dengan fungsi tertentu jika belum diinisialisasi.

EnsureInitialized<T>(T, Boolean, Object, Func<T>)

Menginisialisasi referensi target atau jenis nilai dengan menggunakan fungsi tertentu jika belum diinisialisasi.

EnsureInitialized<T>(T)

Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs

Menginisialisasi jenis referensi target dengan konstruktor tanpa parameter jenis jika belum diinisialisasi.

public:
generic <typename T>
 where T : class static T EnsureInitialized(T % target);
public static T EnsureInitialized<T>(ref T target) where T : class;
public static T EnsureInitialized<T>(ref T? target) where T : class;
static member EnsureInitialized : 'T -> 'T (requires 'T : null)
Public Shared Function EnsureInitialized(Of T As Class) (ByRef target As T) As T

Jenis parameter

T

Jenis referensi yang akan diinisialisasi.

Parameter

target
T

Referensi untuk menginisialisasi jika belum diinisialisasi. Jika ya null, dianggap tidak diinisialisasi; jika tidak, itu dianggap diinisialisasi.

Mengembalikan

T

Objek yang diinisialisasi.

Pengecualian

Izin untuk mengakses konstruktor tipe T hilang.

Tipe T tidak memiliki konstruktor tanpa parameter.

Keterangan

Metode ini hanya dapat digunakan pada jenis referensi. Untuk memastikan inisialisasi jenis nilai, lihat kelebihan beban lainnya dari EnsureInitialized.

Metode ini dapat digunakan secara bersamaan oleh beberapa utas untuk menginisialisasi target.

Jika beberapa utas mengakses metode ini secara bersamaan, beberapa instans T dapat dibuat, tetapi hanya satu yang akan disimpan ke dalam target dan dikembalikan. Dalam kejadian seperti itu, metode ini tidak akan membuang objek yang tidak disimpan. Jika objek tersebut harus dibuang, gunakan kelebihan beban yang mengambil valueFactory dan membuang objek jika tidak mereferensikan objek tersimpan yang sama.

Lihat juga

Berlaku untuk

EnsureInitialized<T>(T, Func<T>)

Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs

Menginisialisasi jenis referensi target dengan menggunakan fungsi tertentu jika belum diinisialisasi.

public:
generic <typename T>
 where T : class static T EnsureInitialized(T % target, Func<T> ^ valueFactory);
public static T EnsureInitialized<T>(ref T target, Func<T> valueFactory) where T : class;
public static T EnsureInitialized<T>(ref T? target, Func<T> valueFactory) where T : class;
static member EnsureInitialized : 'T * Func<'T (requires 'T : null)> -> 'T (requires 'T : null)
Public Shared Function EnsureInitialized(Of T As Class) (ByRef target As T, valueFactory As Func(Of T)) As T

Jenis parameter

T

Jenis referensi yang akan diinisialisasi.

Parameter

target
T

Referensi untuk menginisialisasi jika belum diinisialisasi.

valueFactory
Func<T>

Fungsi yang dipanggil untuk menginisialisasi referensi.

Mengembalikan

T

Objek yang diinisialisasi.

Pengecualian

Tipe T tidak memiliki konstruktor tanpa parameter.

valueFactory mengembalikan null (Tidak ada dalam Visual Basic).

Keterangan

Metode ini hanya dapat digunakan pada jenis referensi, dan valueFactory mungkin tidak mengembalikan referensi null (Tidak ada dalam Visual Basic). Untuk memastikan inisialisasi jenis nilai atau untuk mengizinkan jenis referensi null, lihat kelebihan beban lain dari EnsureInitialized.

Metode ini dapat digunakan secara bersamaan oleh beberapa utas untuk menginisialisasi target.

Jika beberapa utas mengakses metode ini secara bersamaan, beberapa instans T dapat dibuat, tetapi hanya satu yang akan disimpan ke dalam target. Dalam kejadian seperti itu, metode ini tidak akan membuang objek yang tidak disimpan. Jika objek tersebut harus dibuang, terserah pemanggil untuk menentukan apakah objek tidak digunakan dan untuk kemudian membuang objek dengan tepat.

Lihat juga

Berlaku untuk

EnsureInitialized<T>(T, Boolean, Object)

Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs

Menginisialisasi referensi target atau jenis nilai dengan konstruktor tanpa parameternya jika belum diinisialisasi.

public:
generic <typename T>
 static T EnsureInitialized(T % target, bool % initialized, System::Object ^ % syncLock);
public static T EnsureInitialized<T>(ref T target, ref bool initialized, ref object syncLock);
public static T EnsureInitialized<T>(ref T target, ref bool initialized, ref object? syncLock);
static member EnsureInitialized : 'T * bool * obj -> 'T
Public Shared Function EnsureInitialized(Of T) (ByRef target As T, ByRef initialized As Boolean, ByRef syncLock As Object) As T

Jenis parameter

T

Jenis referensi yang akan diinisialisasi.

Parameter

target
T

Referensi atau nilai jenis T untuk diinisialisasi jika belum diinisialisasi.

initialized
Boolean

Referensi ke nilai Boolean yang menentukan apakah target telah diinisialisasi.

syncLock
Object

Referensi ke objek yang digunakan sebagai kunci yang saling eksklusif untuk menginisialisasi target. Jika syncLock adalah null, objek baru akan diinstansiasi.

Mengembalikan

T

Objek yang diinisialisasi.

Pengecualian

Izin untuk mengakses konstruktor tipe T hilang.

Tipe T tidak memiliki konstruktor tanpa parameter.

Keterangan

Jika initialized ditentukan sebagai true, maka tidak ada inisialisasi lebih lanjut yang terjadi.

Lihat juga

Berlaku untuk

EnsureInitialized<T>(T, Object, Func<T>)

Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs

Menginisialisasi jenis referensi target dengan fungsi tertentu jika belum diinisialisasi.

public:
generic <typename T>
 where T : class static T EnsureInitialized(T % target, System::Object ^ % syncLock, Func<T> ^ valueFactory);
public static T EnsureInitialized<T>(ref T? target, ref object? syncLock, Func<T> valueFactory) where T : class;
public static T EnsureInitialized<T>(ref T target, ref object syncLock, Func<T> valueFactory) where T : class;
static member EnsureInitialized : 'T * obj * Func<'T (requires 'T : null)> -> 'T (requires 'T : null)
Public Shared Function EnsureInitialized(Of T As Class) (ByRef target As T, ByRef syncLock As Object, valueFactory As Func(Of T)) As T

Jenis parameter

T

Jenis referensi yang akan diinisialisasi.

Parameter

target
T

Referensi untuk menginisialisasi jika belum diinisialisasi. Jika ya null, dianggap tidak diinisialisasi; jika tidak, itu dianggap diinisialisasi.

syncLock
Object

Referensi ke objek yang digunakan sebagai kunci yang saling eksklusif untuk menginisialisasi target. Jika syncLock adalah null, objek baru akan diinstansiasi.

valueFactory
Func<T>

Metode untuk memanggil untuk menginisialisasi target.

Mengembalikan

T

Objek yang diinisialisasi.

Berlaku untuk

EnsureInitialized<T>(T, Boolean, Object, Func<T>)

Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs
Sumber:
LazyInitializer.cs

Menginisialisasi referensi target atau jenis nilai dengan menggunakan fungsi tertentu jika belum diinisialisasi.

public:
generic <typename T>
 static T EnsureInitialized(T % target, bool % initialized, System::Object ^ % syncLock, Func<T> ^ valueFactory);
public static T EnsureInitialized<T>(ref T target, ref bool initialized, ref object syncLock, Func<T> valueFactory);
public static T EnsureInitialized<T>(ref T target, ref bool initialized, ref object? syncLock, Func<T> valueFactory);
static member EnsureInitialized : 'T * bool * obj * Func<'T> -> 'T
Public Shared Function EnsureInitialized(Of T) (ByRef target As T, ByRef initialized As Boolean, ByRef syncLock As Object, valueFactory As Func(Of T)) As T

Jenis parameter

T

Jenis referensi yang akan diinisialisasi.

Parameter

target
T

Referensi atau nilai jenis T untuk diinisialisasi jika belum diinisialisasi.

initialized
Boolean

Referensi ke nilai Boolean yang menentukan apakah target telah diinisialisasi.

syncLock
Object

Referensi ke objek yang digunakan sebagai kunci yang saling eksklusif untuk menginisialisasi target. Jika syncLock adalah null, objek baru akan diinstansiasi.

valueFactory
Func<T>

Fungsi yang dipanggil untuk menginisialisasi referensi atau nilai.

Mengembalikan

T

Objek yang diinisialisasi.

Pengecualian

Izin untuk mengakses konstruktor tipe T hilang.

Tipe T tidak memiliki konstruktor tanpa parameter.

Keterangan

Jika initialized ditentukan sebagai true, maka tidak ada inisialisasi lebih lanjut yang terjadi.

Lihat juga

Berlaku untuk