У меня есть словарь для сопоставления определенного типа определенному универсальному объекту для этого типа. Например:
typeof(LoginMessage) maps to MessageProcessor<LoginMessage>
Теперь проблема состоит в том, чтобы получить этот универсальный объект во время выполнения из Словаря. Или, если быть более конкретным: направить восстановленный объект на определенный тип общего типа.
Мне нужно, чтобы он работал примерно так:
Type key = message.GetType();
MessageProcessor<key> processor = messageProcessors[key] as MessageProcessor<key>;
Надеюсь, что это будет легкое решение.
Изменить: Я не хочу использовать Ifs и переключатели. Из-за проблем с производительностью я также не могу использовать какое-либо отражение.