Класс Class<T1, T2, …>
Как описано в топике о структуре Pair<F, S>, зачастую требуется объединять объекты различных типов во временные структуры (или классы). Случай для двух объектов рассмотрен в предыдущем топике.
Теперь рассмотрим случай большего количества объектов.
Можно рекурсивно использовать структуру Pair, например так:
C#: | Select code |
Pair<A, Pair<B, C>>
Не изящно, мягко говоря. Особенно, если классы A, B и C имеют длинные и мнемоничные квалификаторы пространства имен.
Вашему вниманию предлагается следующий шаблон:
C#: | Select code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | public class Class<T1, T2> { public Class(T1 field1, T2 field2) { Field1 = field1; Field2 = field2; } public readonly T1 Field1; public readonly T2 Field2; } public class Class<T1, T2, T3> : Class<T1, T2> { public Class(T1 field1, T2 field2, T3 field3) : base(field1, field2) { Field3 = field3; } public readonly T3 Field3; } public class Class<T1, T2, T3, T4> : Class<T1, T2, T3> { public Class(T1 field1, T2 field2, T3 field3, T4 field4) : base(field1, field2, field3) { Field4 = field4; } public readonly T4 Field4; } .... |
Его использование полностью аналогично уже описанной структуре Pair, за тем лишь исключением, что Pair — структура, а не класс.
Удачи!
Обсуждение на форуме: http://usings.ru/forum/viewtopic.php?t=4
4 ответов Оставить комментарий
Отличный проект, нашел тут много всего интересного. Не совсем понял как организован сайт, можно ли заливать свои классы сюда и если можно то как… нужна ли здесь регистрация и, если нужна, то как зарегистрироваться…
Можно ли как-то связаться с администрацией через ICQ или еще как-то… как раз ищу грамотных разработчиков C# — Java, буду рад познакомиться.
Антон. =)
Спасибо.
Публиковать статьи могут только зарегистрированные авторы. Зарегистрировать нового автора могу только я. Если Вы собираетесь принимать активное участие в развитиии проекта, буду рад пополнению команды.
Работу, честно говоря, не ищу. Аську публиковать не буду, могу скинуть Вам на email, если хотите.
Я работу не предлагаю. Просто в одиночку сложно серьезные проекты вести да и знаний не всегда достаточно по всяким нюансам, а толковых программистов мало.
Кидайте на почту тогда номер или можно в контакт стукнуть, если зарегистрированы.
id538663
или можно сразу в аську =))
456-416-493