LazyInitializer Класс

Определение

Предоставляет отложенные подпрограммы инициализации.

public ref class LazyInitializer abstract sealed
public static class LazyInitializer
type LazyInitializer = class
Public Class LazyInitializer
Наследование
LazyInitializer

Примеры

В следующем примере показано, как использовать EnsureInitialized для неявного инициализации значения с помощью логического значения для отслеживания того, произошла ли инициализация и объект, используемый в качестве взаимной блокировки исключения.

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);  

Комментарии

Эти подпрограммы не требуют выделения выделенного экземпляра отложенной инициализации, а не использования ссылок для обеспечения инициализации целевых объектов по мере доступа.

Методы

Имя Описание
EnsureInitialized<T>(T, Boolean, Object, Func<T>)

Инициализирует целевую ссылку или тип значения с помощью указанной функции, если она еще не инициализирована.

EnsureInitialized<T>(T, Boolean, Object)

Инициализирует целевую ссылку или тип значения с помощью конструктора без параметров, если он еще не инициализирован.

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

Инициализирует целевой ссылочный тип с помощью указанной функции, если она еще не инициализирована.

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

Инициализирует целевой ссылочный тип с указанной функцией, если она еще не инициализирована.

EnsureInitialized<T>(T)

Инициализирует целевой ссылочный тип с помощью конструктора без параметров типа, если он еще не инициализирован.

Применяется к

Потокобезопасность

Методы LazyInitializer являются потокобезопасными и могут вызываться из нескольких потоков одновременно.

См. также раздел