Saku-Overclock
17 строк · 789.0 Байт
1namespace Saku_Overclock.Activation;2
3// Extend this class to implement new ActivationHandlers. See DefaultActivationHandler for an example.
4// https://github.com/microsoft/TemplateStudio/blob/main/docs/WinUI/activation.md
5public abstract class ActivationHandler<T> : IActivationHandler6where T : class7{
8// Override this method to add the logic for whether to handle the activation.9protected virtual bool CanHandleInternal(T args) => true;10
11// Override this method to add the logic for your activation handler.12protected abstract Task HandleInternalAsync(T args);13
14public bool CanHandle(object args) => args is T && CanHandleInternal((args as T)!);15
16public async Task HandleAsync(object args) => await HandleInternalAsync((args as T)!);17}
18