Class HookRegistry
public sealed class HookRegistry
- Inheritance
-
HookRegistry
- Inherited Members
Methods
FireAsync<TContext, TResult>(TContext, ResultHookDispatchOptions<TResult>, CancellationToken)
public ValueTask<TResult?> FireAsync<TContext, TResult>(TContext context, ResultHookDispatchOptions<TResult> options, CancellationToken cancellationToken = default) where TResult : struct, IHookResult
Parameters
contextTContextoptionsResultHookDispatchOptions<TResult>cancellationTokenCancellationToken
Returns
- ValueTask<TResult?>
Type Parameters
TContextTResult
FireAsync<TContext, TResult>(TContext, CancellationToken)
Dispatches the result-returning hooks (.Register(...) / .RegisterLocal(...)) installed for
TContext in descending priority order, returning the first successful
TResult or null when none is registered or none succeeds. The
host applies the returned result to its live state. The result type is named explicitly here because the
host — unlike the plugin authoring side, where it is inferred from the [Hook] context — already
knows the type it will apply.
public ValueTask<TResult?> FireAsync<TContext, TResult>(TContext context, CancellationToken cancellationToken = default) where TResult : struct, IHookResult
Parameters
contextTContextcancellationTokenCancellationToken
Returns
- ValueTask<TResult?>
Type Parameters
TContextTResult
On<TEvent>()
public HookPipeline<TEvent, HookContext> On<TEvent>()
Returns
- HookPipeline<TEvent, HookContext>
Type Parameters
TEvent
On<TEvent>(IPluginEventAdapter<TEvent>)
public HookPipeline<TEvent, HookContext> On<TEvent>(IPluginEventAdapter<TEvent> adapter)
Parameters
adapterIPluginEventAdapter<TEvent>
Returns
- HookPipeline<TEvent, HookContext>
Type Parameters
TEvent
On<TEvent, TContext>(IPluginEventAdapter<TEvent>, Func<HookContext, TContext>)
public HookPipeline<TEvent, TContext> On<TEvent, TContext>(IPluginEventAdapter<TEvent> adapter, Func<HookContext, TContext> createContext)
Parameters
adapterIPluginEventAdapter<TEvent>createContextFunc<HookContext, TContext>
Returns
- HookPipeline<TEvent, TContext>
Type Parameters
TEventTContext
On<TEvent, TContext>(Func<HookContext, TContext>)
public HookPipeline<TEvent, TContext> On<TEvent, TContext>(Func<HookContext, TContext> createContext)
Parameters
createContextFunc<HookContext, TContext>
Returns
- HookPipeline<TEvent, TContext>
Type Parameters
TEventTContext
PublishAsync<TEvent>(TEvent, CancellationToken)
public ValueTask PublishAsync<TEvent>(TEvent e, CancellationToken cancellationToken = default)
Parameters
eTEventcancellationTokenCancellationToken
Returns
Type Parameters
TEvent