LazyInitializer.EnsureInitialized Metode
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.
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
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
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
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
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
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.