![]() |
|
||
![]() |
|
| |||||||||||||||||||||||||||||||
Hi-TechПервые спецификации С# version 2.0
2:25PM Wednesday, Oct 29, 2003
1. GenericsЭто понятие пришло из Ada, где существует понятие generic unit - настраиваемый сегмент.В сегодняшнем С# есть одна назойливая проблема - возможность создавать массивы объектов типа object, позволяющие хранить в них вперемежку экземпляры любых классов. Это придает языку дополнительную гибкость, но при этом создается вероятность по ошибке записать в массив объект совершенно непредусмотренного заранее класса, который не может быть впоследствии правильно обработан. Особая неприятность такой ошибки заключается в том, что она не будет замечена в ходе компиляции, а может спонтанно проявиться в уже откомпилированной и, казалось бы, работающей программе. Для решения этой проблемы в C# 2.0 появится возможность создавать типизированные структуры, классы, делегаты, интерфейсы и методы, которые могут получать на вход параметры заранее определенных типов, иначе выдавая ошибку на этапе компиляции. 2. IteratorsИтераторы - это средство, позволяющее облегчить использование оператора foreach. Оператор этот, пришедший на смену циклам, очень удобен, так как позволяет легко проделать какую-либо операцию с набором (коллекцией) объектов. Недостаток его заключается в том, что эти объекты должны содержать реализацию интерфейса IEnumerable, для чего программисту приходится самостоятельно писать реализацию трех методов, позволяющих оператору foreach перебирать все объекты из коллекции. По сути, итератор представляют собой заготовку, призванную заменить написание этих трех методов буквально парой строчек кода. 3. Partial typesСегодняшние классы могут достигать гигантских размеров. Нередки случаи, когда разрабатываемый класс имеет сотни методов. Даже учитывая, что описание класса хранится в одном файле, можно легко запутаться в получающихся нагромождениях кода. Отчасти эту проблему позволяют решить Case-средства, позволяя сренерировать описание интерфейса, и в дальнейшем реализовывать его. Однако описания интерфейсов в ходе работы над проектом часто меняются, что заставляет вносить изменения в уже наполовину готовый код, добавляя в работу элемент бардака. Решить эту проблему как раз и призваны partial types ("разделяемые типы"). Стоит, например, объявить класс как partial, и вы получите возможность хранить его члены в нескольких раздельных файлах. При этом есть возможность разделить код написанный человеком и полученный в результате автоматической генерации. Поддерживается возможность раздельной комипляции элементов такого класса. 4. Anonymous methodsБезымянные методы призваны упростить механизм обработки событий и, по-видимому, способны снискать немалую популярность. В С# вся обработка событий завязана на делегатах (delegates), заменивших привычные в С и С++ callback-функции. Например, для того чтобы нажатием кнопки на форме сложить 2+2, надо написать метод, проделывающий эти вычисления и создать делегат, который связал бы нажатие кнопки с вызовом метода. В данном случае, вся конструкция получится достаточно громоздкой, так как для выполнения одного простого арифметического действия приходится создавать лишний экземпляр объекта. С помощью же безымянных методов все необходимые действия можно записать в одну строку, в которой мы создаем делегат и объявляем необходимый метод. По смыслу, это очень напоминает безымянные классы в Java, или вложенные (nested) типы в С#. Так что в новой версии C# мы точно увидим много новых возможностей. Похоже, что вышеописанные новинки являются уже окончательно утвержденными, и вполне возможно, что в финальной версии спецификации C# 2.0 их список еще пополнится. Обсудить эту новость на форуме Другие новости на эту тему можно найти в разделах Последние новости: Речь главы Apple Стива Джобса на Macworld Expo... Кадр дня: Самый крупный в мире айсберг... В 2004 году британцы отправили рекордное количество SM... Дальше » Ссылки по теме
По материалам "Компьюленты"
Другие новости по теме
Windows XP 64 бит задерживается
Intel уменьшает размер телефонов Матричные принтеры не умерли! Motorola займется мониторами AMD будет наносить на процессоры штрих-код Американцы боятся телефонов с камерами Самый маленький и легкий пишущий плейер В Windows и других продуктах Microsoft обнаружены опасные дефекты Sun хоронит микропроцессоры
|
Рассылки:
![]() Новости-почтой TV-Программа Гороскопы Job Offers Концерты Coupons Discounts Иммиграция Business News Анекдоты Многое другое... |
![]() | |
News Central Home | News Central Resources | Portal News Resources | Help | Login | |
![]() |
![]() |
|
![]() ![]() ![]() ![]() |
© 2025 RussianAMERICA Holding All Rights Reserved Contact |