Как реализовать специфичный класс? - 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);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д