public static IExtensionPolicyContainer WhenFunc<TContext>(
this IExtensionPolicyContainer policyContainer,
Func<TContext, bool> isAllowedFunc
)
where TContext : class, IExtensionContext
<ExtensionAttribute>
Public Shared Function WhenFunc(Of TContext As {Class, IExtensionContext}) (
policyContainer As IExtensionPolicyContainer,
isAllowedFunc As Func(Of TContext, Boolean)
) As IExtensionPolicyContainerpublic:
[ExtensionAttribute]
generic<typename TContext>
where TContext : ref class, IExtensionContext
static IExtensionPolicyContainer^ WhenFunc(
IExtensionPolicyContainer^ policyContainer,
Func<TContext, bool>^ isAllowedFunc
)[<ExtensionAttribute>]
static member WhenFunc :
policyContainer : IExtensionPolicyContainer *
isAllowedFunc : Func<'TContext, bool> -> IExtensionPolicyContainer when 'TContext : not struct and IExtensionContextФункция, получающая контекст (не равный null) и возвращающая признак того, что контекст удовлетворяет политике.
Исключения логируются объектом Extensions, а также добавляются в контекст как сообщение валидации.
Расширение, для которого возникло исключение, пропускается.
Если зарегистрировано несколько политик, то должны выполняться все из них.
Если тип контекста отличается от указанного, то политика игнорируется, т.е. возвращает true.