Как реализовать специфичный класс? - C#

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

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

Доброго времени суток! Нужен совет как реализовать что-то вроде класса в классе. Есть клас человек, например. Человек может делать действия взять и кинуть, которые надо описать как классы, так как эти действия имею идентичные собственные словари, куда будут вносится уникальные действиям данные, но различные методы работы со словарем. Тоесть есть клас человек и в нем как-то надо описать полиморфные классы действий. Или придумать что-то этому на замену. З.Ы. Словари большие и будут в дальнейшем увеличиваться, поэтому желательно обойтись без их дублирования вручную под каждый метод.
Вопрос снимается, мне дали ссылку на вложеные классы. Буду изучать)

Решение задачи: «Как реализовать специфичный класс?»

textual
Листинг программы
  1. class Human
  2. {
  3. }
  4.  
  5. abstract class HumanAction
  6. {
  7.     protected Dictionary<Type, object> _dictionary;
  8.     public abstract void Execute(Human target);
  9. }
  10.  
  11. class TakeAction: HumanAction
  12. {
  13.     public TakeAction(Dictionary<Type, object> dictionary)
  14.     {
  15.         _dictionary = dictionary;
  16.     }
  17.  
  18.     public override void Execute(Human target)
  19.     {
  20.         var data = _dictionary[this.GetType()];
  21.         Console.WriteLine("::::" + data + "::::");
  22.     }
  23. }
  24.  
  25. class ThrowAction : HumanAction
  26. {
  27.     public ThrowAction(Dictionary<Type, object> dictionary)
  28.     {
  29.         _dictionary = dictionary;
  30.     }
  31.  
  32.     public override void Execute(Human target)
  33.     {
  34.         var data = _dictionary[this.GetType()];
  35.         Console.WriteLine(data);
  36.     }
  37. }

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


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

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

11   голосов , оценка 3.818 из 5

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

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

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