ExtensionExtensionsWithLazy(IExtensionPolicyContainer, FuncIExtension) - метод

Регистрирует политику, указывающую на способ отложенного получения экземпляров расширений посредством заданной функции. Проверка интерфейса IAsyncInitializable не выполняется, вы можете вызвать асинхронную инициализацию в лямбда-выражении, переданном в другую реализацию метода.

Definition

Пространство имён: Tessa.Extensions
Сборка: Tessa (в Tessa.dll) Версия: 4.0.4
C#
public static IExtensionPolicyContainer WithLazy(
	this IExtensionPolicyContainer policyContainer,
	Func<IExtension> instanceFunc
)

Параметры

policyContainer  IExtensionPolicyContainer
Контейнер политик, ассоциированных с расширениями.
instanceFunc  FuncIExtension
Функция, возвращающая ссылку на экземпляр расширения. Функция используется только при первом получении экземпляра, но есть вероятность, что она будет вызвана несколько раз из различных потоков.

Возвращаемое значение

IExtensionPolicyContainer
Заданный контейнер policyContainer для цепочки вызовов.

Примечание об использовании

В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа IExtensionPolicyContainer. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе Методы расширения (Visual Basic) или Методы расширения (Руководство по программированию в C#).

Заметки

Если для функции instanceFunc требуется настройка потокобезопасности или не более одного вызова, то используйте перегрузку WithLazy(IExtensionPolicyContainer, LazyIExtension).

См. также