Как хранить структуры разных типов без упаковки

Я создаю систему обмена сообщениями для использования в игре XNA. Мои типы сообщений являются структурами, потому что я хочу, чтобы они вели себя как типы значений.

struct MyMessageType1 : IMessage {}
struct MyMessageType2 : IMessage {}

List<IMessage> messageQueue = new List<IMessage>();

Я хочу иметь возможность хранить сообщения разных типов в моей очереди сообщений, но я хочу делать это без упаковки какого-либо из них.

Если у меня есть структуры, реализующие интерфейс, такой как IMessage, и я пытаюсь хранить их в списке, они упаковываются.

Я не знаю заранее все возможные типы сообщений, поэтому я не могу просто жестко закодировать один список для каждого типа.

Итак, вопрос в том, как можно Я храню список структур разных типов без их упаковки?

9
задан BowserKingKoopa 28 May 2011 в 17:43
поделиться