- •Java и c# технологии прикладного програмирования
- •Java и c# технологии прикладного програмирования
- •Содержание
- •Введение
- •Лабораторная работа № 1 Коллекции c#
- •Цель работы
- •Теоретические сведения
- •Общие сведения о платформе .Net
- •Общие сведения о коллекциях c#
- •Обобщенные коллекции с#
- •Порядок выполнения лабораторной работы
- •Задание на лабораторную работу
- •Содержание отчета
- •Получение информации о типе
- •Экземпляр типа Type
- •Получение экземпляра типа Type
- •Динамическая загрузка сборок
- •Динамическая загрузка типов
- •Исследование типа
- •Характеристики типа как целого
- •Члены класса
- •Динамическое создание объекта и вызов методов
- •Создание объекта по его типу
- •Динамический вызов методов
- •Использование интерфейсов
- •Позднее связывание
- •Динамическое приведение типов
- •Новые механизмы абстракции
- •Динамическое создание типов
- •Динамическое создание программного кода
- •Динамическое создание класса
- •Динамическое создание перечислений
- •Динамический "Hello World!"
- •Динамическое разворачивание циклов
- •Атрибуты
- •Атрибут это класс
- •Декларативное программирование
- •Код, выполняемый во время разработки
- •Использование атрибутов
- •Использование встроенных атрибутов
- •Определение и использование пользовательских атрибутов
- •Пример декларативного программирования
- •Порядок выполнения работы
- •Задание на лабораторную работу
- •Содержание отчета
- •Связный уровень взаимодействия ado.Net
- •Несвязный уровень взаимодействия ado.Net
- •Порядок выполнения работы
- •Задание на лабораторную работу
- •Содержание отчета
- •Связи между объектами в FluentNHibernate
- •Связь один к одному
- •Связь один ко многим
- •Связь многие ко многим
- •Способы выборки объектов в FluentNHibernate
- •Запросы NativeSql
- •Запросы по критерию
- •Запросы по образцу
- •Запросы hql
- •Порядок выполнения работы
- •Задание на лабораторную работу
- •Содержание отчета
- •Компиляция страниц по требованию
- •Страница asp.Net 2.0
- •Директива @Page
- •Жизненный цикл страницы
- •Новые свойства и методы объекта Page
- •Управление страницей
- •Установка выделения на элемент управления
- •Обновление данных без перезагрузки страницы
- •Отправка данных формы другой странице asp.Net
- •Шаблоны дизайна страниц
- •Создание шаблона дизайна
- •Создание страницы
- •Обработка шаблонов средой asp.Net
- •Использование разных шаблонов для разных браузеров
- •Порядок выполнения работы
- •Задание на лабораторную работу
- •Содержание отчета
- •Библиотеки модульного тестирования в .Net
- •Unit Testing Framework от Microsoft
- •Порядок выполнения работы
- •Задание на лабораторную работу
- •Содержание отчета
- •Контрольные вопросы
- •Рекомендованная литература
Задание на лабораторную работу
Изменить приложение, описанное в порядке выполнения лабораторной работы в соответствии с вариантом задания.
Приложение должно обеспечивать добавление элементов в коллекцию, удаление элементов из коллекции и отображение элементов коллекции. Варианты заданий, с которых необходимо выбрать объект предметной области и коллекцию, приведены в таблице 1.2. Для объекта предметной области необходимо придумать не менее 5-ти разнотипных полей содержащих информацию. Номер варианта необходимо выбирать по последней цифре зачетной книжки.
Следует обратить внимание на разработку интерфейса приложения. Интерфейс не должен быть переполнен элементами управления, но в тоже время должен предоставлять наибольшую функциональность.
Таблица 1.2– Варианты заданий
Последняя цифра зачетки |
Объект предметной области |
Коллекция |
0 |
Книга |
HashSet<T> |
1 |
Гражданин государства |
LinkedList<T> |
2 |
Автомобиль |
Dictionary<TKey, TValue> |
3 |
Студент |
Queue<T> |
4 |
Компьютер |
SortedDictionary<TKey, TValue> |
5 |
Костюм |
SortedList<TKey, TValue> |
6 |
Измерительный прибор |
SortedSet<T> |
7 |
Дом |
Stack<T> |
8 |
Мобильный телефон |
HashSet<T> |
9 |
Мебель |
LinkedList<T> |
Содержание отчета
фамилия и имя исполнителя лабораторной работы;
номер и название лабораторной работы;
цель лабораторной работы;
краткие теоретические сведенья на одну страницу;
ход работы (листинги программ, скриншоты программ);
выводы о проделанной работе.
Контрольные вопросы
Что такое платформа?
Из каких частей состоит платформа .NET?
Что такое коллекция?
Какие коллекции вы знаете?
Какие обобщенные коллекции вы знаете?
Лабораторная работа № 2 Рефлексия
Цель работы
Изучить возможности рефлексии в C#,получить практические навыки по работе с рефлексией в С#.
Теоретические сведенья
Понятие сборки
Сборка (assembly)- базовый строительный блок приложения в .NET Framework и представляет собой двоичный файл, который содержит логическую группу из одного или нескольких управляемых модулей или файлов ресурсов, таких как растровые изображения и строки. Сборка содержит в себе:
номер версии;
метаданные;
инструкции IL.
Когда компилятор платформы .NET создает .exe или .dll модуль, содержимое этого модуля является сборкой. Таким образом, сборка может быть либо исполняемым приложением (при этом она размещается в файле с расширением .exe), либо библиотечным модулем (в файле с расширением .dll). При этом ничего общего с исполняемыми приложениями и библиотечными модулями старого образца сборка не имеет.
Сборка - это полностью самодостаточный и, скорее, логический, нежели физический элемент. Это значит, что он может быть сохранен в более чем одном файле (хотя динамические сборки хранятся в памяти, а вовсе не в файлах). Если сборка хранится в более чем одном файле, то должны быть один главный файл, содержащий точку входа и описывающий остальные файлы.
Следует отметить, что одна и та же структура сборки используется как для исполняемого кода, так и для кода библиотек. Единственное реальное отличие исполняемой сборки заключается в том, что она содержит главную точку входа программ, тогда как библиотечная сборка - нет.
Управляемые модули в составе сборок исполняются в среде времени выполнения CLR.
Схема получения и использования сборки показана на рисунке 2.1.
Рисунок 2.1 - Схема получения и использования сборки