Где я могу хранить экземпляры Generic типа?

Я хочу, чтобы мой класс мог содержать произвольное число полей специального типа IProperty<T>.
T - уникально для каждого поля.
Какую структуру данных я мог бы использовать? Желательно, оптимизированную на чтение как Dictionary. И без приведения типов/рефлексии (если это возможно). Отвечу на любые уточняющие вопросы в комментариях.


Ответы (1 шт):

Автор решения: rotabor

Ну так и сделайте базовый класс View и коллекцию на его основе. Каждый особенный ViewX будет или его наследником, или с соотвествующим интерфейсом.

Пробегаете по группе - коллекции View, и если объект типа с "IProperty<Point2D> Position", то меняете это свойство.

Если ViewX - это ваши классы, то у вас всё определено в коде. Если вдруг их пользователь конструирует, то без рефлексии или без какого-то описания не обойтись.

→ Ссылка