Выделить абстрактный класс - C#
Формулировка задачи:
Здравствуйте, подскажите пожалуйста как можно "выделить" абстрактный класс из этих классов:
Листинг программы
- public class NoProblemCommand: Command
- {
- public override string Name => Problems.ProblemTypes.noProblem.ToString();
- public override async void Execute(Message message, TelegramBotClient client)
- {
- if(!message.Text.Contains(this.Name))
- return;
- await client.SendTextMessageAsync(message.From.Id, Problems.GetProblemResult(Problems.ProblemTypes.noProblem));
- }
- }
Листинг программы
- public class PcProblemCommand: Command
- {
- public override string Name => Problems.ProblemTypes.pc.ToString();
- public override async void Execute(Message message, TelegramBotClient client)
- {
- if (!message.Text.Contains(this.Name))
- return;
- await client.SendTextMessageAsync(message.From.Id, Problems.GetProblemResult(Problems.ProblemTypes.pc));
- }
- }
Вот мой:
Листинг программы
- public abstract class Command
- {
- public abstract string Name { get; }
- public abstract void Execute(Message message, TelegramBotClient client);
- public bool Contains(string command)
- {
- return command.Contains(this.Name)
- && command.Contains(CustomConfigRetriever.GetConfig<TelegramBotConfigurationSection>().Name);
- }
- }
Хотелось бы добавить в класс Command привязку к Problems.ProblemTypes
Потому что таких классов планируется много
Решение задачи: «Выделить абстрактный класс»
textual
Листинг программы
- public class Command
- {
- public ProblemTypes ProblemType { get; }
- public virtual string Name {get { return ProblemType.ToString(); } }
- public virtual async void Execute(Message message, TelegramBotClient client)
- {
- if (!message.Text.Contains(this.Name))
- return;
- await client.SendTextMessageAsync(message.From.Id, Problems.GetProblemResult(ProblemType));
- }
- public bool Contains(string command)
- {
- return command.Contains(this.Name)
- && command.Contains(CustomConfigRetriever.GetConfig<TelegramBotConfigurationSection>().Name);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д