Я хочу иметь словарь, который отображает строки в общие списки разных типов. то есть в следующем виде:
Key Value string List<T> string List<U> string List<V> string List<U> ...
В настоящее время я использую Dictionary<string, IList>, а затем извлекаю строго типизированный список из каждой словарной статьи KeyValuePair<string, IList> pair следующим образом:
Type layerType = pair.Value.GetType().GetGenericArguments()[0];
List<layerType> objectsClicked = pair.Value as List<layerType>;
Есть ли лучший способ сделать это?
[Изменить]
Как уже отмечалось, вышесказанное не компилируется, извинения - это то, что вы получаете, когда задаете вопрос, пока вы все еще работаете над чем-то.
Еще несколько объяснений. Я делаю основной просмотрщик пространственных данных. Окончательный вид состоит из группы Layer<T> s. Каждый слой предоставляет делегату возможность отображать его тип (с учетом смещения и масштаба) и способ проверить, какие из его объектов находятся в текущем окне. Для тестирования попадания я хотел бы получить список для каждого слоя, из которого были удалены объекты. Этот список будет List<Point> для слоя Point и т.д.... Группировка обращений от всех Layer<T> будет тогда набором строго типизированных списков.