Коротко и ясно о разработке на C#, Java, Swift. Под Android, iOS, WinForms и Unity
1 заметка с тегом

Обобщения

Пример использования Обобщений (Generics) в C#

3 января 2015, 13:43

Давеча потребовалось реализовать инфраструктуру объектов-оберток для редактора роллет.


Исходная задача была следующей:
— Есть построитель роллет, который имеет ряд коллекций с объектами разных типов, описывающими один из элементов роллеты (привод, направляющая, ламель и т. п.)
— Необходимо реализовать логику расчета роллеты по уже заполненному списку параметров
— Внутренние типы построителя наследуются от базового класса RollCalc.Model.CommonProperties


Для упрощения реализации было решено создать свой набор объектов, описывающих каждый из элементов роллеты, чтобы не иметь жесткую связь с внутренними объектами редактора (ибо работать с ними было весьма не удобно). В своих объектах можно реализовать любой набор методов и свойств, которые существенно облегчат расчет и избавят нас от хардкода.
Естественно создавать свои объекты и заполнять их базовые свойства нужно по внутренним коллекциям редактора и желательно парой строчек кода. Пожалуй в данной ситуации наилучший выход — использовать обобщения языка C#. Они позволят нам написать бизнес логику один раз и использовать ее для разных классов (логика-то сходная).

C#   Generics   Обобщения