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

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

Definition

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

Параметры

policyContainer  IExtensionPolicyContainer
Контейнер политик, ассоциированных с расширениями.
instanceFunc  FuncIExtension

Функция, возвращающая ссылку на экземпляр расширения.

Функция используется только при первом получении экземпляра, но есть вероятность, что она будет вызвана несколько раз из различных потоков.

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

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

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

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

Заметки

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

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

См. также