Выделить абстрактный класс - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, подскажите пожалуйста как можно "выделить" абстрактный класс из этих классов:
Листинг программы
  1. public class NoProblemCommand: Command
  2. {
  3. public override string Name => Problems.ProblemTypes.noProblem.ToString();
  4. public override async void Execute(Message message, TelegramBotClient client)
  5. {
  6. if(!message.Text.Contains(this.Name))
  7. return;
  8. await client.SendTextMessageAsync(message.From.Id, Problems.GetProblemResult(Problems.ProblemTypes.noProblem));
  9. }
  10. }
Листинг программы
  1. public class PcProblemCommand: Command
  2. {
  3. public override string Name => Problems.ProblemTypes.pc.ToString();
  4. public override async void Execute(Message message, TelegramBotClient client)
  5. {
  6. if (!message.Text.Contains(this.Name))
  7. return;
  8. await client.SendTextMessageAsync(message.From.Id, Problems.GetProblemResult(Problems.ProblemTypes.pc));
  9. }
  10. }
Вот мой:
Листинг программы
  1. public abstract class Command
  2. {
  3. public abstract string Name { get; }
  4. public abstract void Execute(Message message, TelegramBotClient client);
  5. public bool Contains(string command)
  6. {
  7. return command.Contains(this.Name)
  8. && command.Contains(CustomConfigRetriever.GetConfig<TelegramBotConfigurationSection>().Name);
  9. }
  10. }
Хотелось бы добавить в класс Command привязку к Problems.ProblemTypes
Потому что таких классов планируется много

Решение задачи: «Выделить абстрактный класс»

textual
Листинг программы
  1.     public class Command
  2.     {
  3.         public ProblemTypes ProblemType { get; }
  4.         public virtual string Name {get { return ProblemType.ToString(); } }
  5.  
  6.         public virtual async void Execute(Message message, TelegramBotClient client)
  7.         {
  8.             if (!message.Text.Contains(this.Name))
  9.                 return;
  10.             await client.SendTextMessageAsync(message.From.Id, Problems.GetProblemResult(ProblemType));
  11.         }
  12.  
  13.         public bool Contains(string command)
  14.         {
  15.             return command.Contains(this.Name)
  16.                 && command.Contains(CustomConfigRetriever.GetConfig<TelegramBotConfigurationSection>().Name);
  17.         }
  18.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.556 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы