Я довольно новичок в кодировании, так что это не может быть "оптимальным" способом ведения дел, но по сути, у меня есть что-то вроде этого:
public class Item
{
public int itemID;
public string itemName;
}
public class Tool : Item
{
public int toolDurability;
}
Я хочу создать словарь, что-то вроде
public Dictionary<int,Item> itemDic = new Dictionary<int,Item>();
Где ключ - itemID
, а Item
- Item
. Таким образом, у меня есть своего рода база данных, чтобы дать ей itemID
, и она выплевывает соответствующий элемент. Проблема заключается в том, что если я добавлю класс Tool
в этот словарь, если я попытаюсь получить доступ к значению словаря, он не даст доступа к переменным Tool
(поскольку в словаре указан только класс "item" верхнего уровня) .
Если я создаю несколько разных унаследованных классов, как мне настроить словарь, чтобы позволить мне получить правильный класс / тип элемента из словаря на основе его itemID
. Спасибо заранее.