public static IExtensionPolicyContainer WithLazy(
this IExtensionPolicyContainer policyContainer,
Func<IExtension> instanceFunc
)<ExtensionAttribute>
Public Shared Function WithLazy (
policyContainer As IExtensionPolicyContainer,
instanceFunc As Func(Of IExtension)
) As IExtensionPolicyContainerpublic:
[ExtensionAttribute]
static IExtensionPolicyContainer^ WithLazy(
IExtensionPolicyContainer^ policyContainer,
Func<IExtension^>^ instanceFunc
)[<ExtensionAttribute>]
static member WithLazy :
policyContainer : IExtensionPolicyContainer *
instanceFunc : Func<IExtension> -> IExtensionPolicyContainer Функция, возвращающая ссылку на экземпляр расширения.
Функция используется только при первом получении экземпляра, но есть вероятность, что она будет вызвана несколько раз из различных потоков.
Проверка интерфейса IAsyncInitializable не выполняется, вы можете вызвать асинхронную инициализацию в лямбда-выражении, переданном в другую реализацию метода.
Если для функции instanceFunc требуется настройка потокобезопасности или не более одного вызова, то используйте перегрузку WithLazy(IExtensionPolicyContainer, LazyIExtension).