Бөлісу құралы:


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)

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

EnsureInitialized<T>(T, Boolean, Object)

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

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

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

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

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

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

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

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

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

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

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