Добавьте файлы проекта.
This commit is contained in:
32
BotPages.Core/Pages/Page.cs
Normal file
32
BotPages.Core/Pages/Page.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
namespace BotPages.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Базовая реализация страницы без обязательных переопределений.
|
||||
/// </summary>
|
||||
public abstract class Page : IPage
|
||||
{
|
||||
/// <summary>
|
||||
/// Идентификатор страницы.
|
||||
/// </summary>
|
||||
public virtual string Id => GetType().Name;
|
||||
|
||||
/// <summary>
|
||||
/// Виртуальный метод входа; по умолчанию ничего не делает.
|
||||
/// </summary>
|
||||
public virtual Task<PageResult> EnterAsync(UpdateContext ctx, CancellationToken ct) =>
|
||||
Task.FromResult(new PageResult());
|
||||
|
||||
/// <summary>
|
||||
/// Абстрактная обработка событий; обязателен к реализации.
|
||||
/// </summary>
|
||||
public abstract Task<PageResult> HandleAsync(UpdateContext ctx, CancellationToken ct);
|
||||
|
||||
/// <summary>
|
||||
/// Виртуальный метод выхода; по умолчанию ничего не делает.
|
||||
/// </summary>
|
||||
public virtual Task ExitAsync(UpdateContext ctx, CancellationToken ct) =>
|
||||
Task.CompletedTask;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user