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

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

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

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

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

textual
Листинг программы
class Human
{
}
 
abstract class HumanAction
{
    protected Dictionary<Type, object> _dictionary;
    public abstract void Execute(Human target);
}
 
class TakeAction: HumanAction
{
    public TakeAction(Dictionary<Type, object> dictionary)
    {
        _dictionary = dictionary;
    }
 
    public override void Execute(Human target)
    {
        var data = _dictionary[this.GetType()];
        Console.WriteLine("::::" + data + "::::");
    }
}
 
class ThrowAction : HumanAction
{
    public ThrowAction(Dictionary<Type, object> dictionary)
    {
        _dictionary = dictionary;
    }
 
    public override void Execute(Human target)
    {
        var data = _dictionary[this.GetType()];
        Console.WriteLine(data);
    }
}

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


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

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

11   голосов , оценка 3.818 из 5
Похожие ответы