Где я могу хранить экземпляры Generic типа?
Я хочу, чтобы мой класс мог содержать произвольное число полей специального типа IProperty<T>
.
T - уникально для каждого поля.
Какую структуру данных я мог бы использовать? Желательно, оптимизированную на чтение как Dictionary. И без приведения типов/рефлексии (если это возможно).
Отвечу на любые уточняющие вопросы в комментариях.
Ответы (1 шт):
Ну так и сделайте базовый класс View и коллекцию на его основе. Каждый особенный ViewX будет или его наследником, или с соотвествующим интерфейсом.
Пробегаете по группе - коллекции View, и если объект типа с "IProperty<Point2D> Position", то меняете это свойство.
Если ViewX - это ваши классы, то у вас всё определено в коде. Если вдруг их пользователь конструирует, то без рефлексии или без какого-то описания не обойтись.