- •Атрибуты в среде .Net и языке c#.
- •Метаданные
- •Понятие атрибутов
- •Предопределенные и собственные атрибуты
- •Потребители атрибутов
- •Применение атрибутов
- •Сокращенное именование атрибутов
- •Создание собственных атрибутов:
- •Применение собственных атрибутов:
- •Ограничение использования атрибутов:
- •Атрибуты уровня сборки и модуля:
- •Рефлексия атрибутов:
- •Выводы:
- •Язык xml. Классы платформы .Net для работы с xml-данными.
- •Синтаксис xml
- •Работа с xml при помощи System.Xml
- •Работа с xml при помощи linq to xml
- •Выводы:
- •Потоковый ввод-вывод. Файлы. Работа с файлами и каталогами. Пространство имен System.Io
- •Классы Directory (DirectoryInfo) и File (FileInfo) Некоторые общие свойства классов DirectoryInfo и FileInfo:
- •Дополнительные возможности класса DirectoryInfo
- •Дополнительные возможности класса FileInfo
- •Дополнительные члены File
- •Потоковый ввод-вывод
- •Работа с классом FileStream
- •Работа с классами StreamWriter и StreamReader
- •Классы StringWriter и StringReader
- •Работа с классами BinaryWriter и BinaryReader
- •Выводы:
- •Сериализация. Атрибуты. Стандартные форматы сериализации. Понятие сериализации объектов
- •Роль графов объектов
- •Конфигурирование объектов для сериализации
- •Общедоступные поля, приватные поля и общедоступные свойства
- •Стандартные форматеры сериализации
- •Настройка сериализации с использованием атрибутов
- •Выводы:
- •Понятие бд и субд. Язык sql. Ado.Net как средство доступа из c# к субд. Понятие бд
- •Понятие субд
- •Обзор синтаксиса
- •Подключенный уровень
- •Автономный уровень
- •Основные свойства класса DataSet
- •Основные методы класса DataSet
- •Типы DataColumn и DataRow
- •Основные члены типа DataColumn:
- •Основные члены типа DataRow:
- •Работа с адаптерами данных:
- •Основные члены класса DbDataAdapter:
- •Параллельные вычисления. Многозадачность и многопоточность.
- •Некоторые члены класс Process:
- •Некоторые члены класса ProcessThread
- •Домены приложений
- •Некоторые члены класс AppDomain:
- •Многопоточность. Классификация состояний потока. Средства многопоточного программирования System.Threading.
- •Некоторые члены пространства имен System.Threading
- •Основные члены класс Thread
- •Состояния потока
- •Многопоточное программирование при помощи асинхронных вызовов делегатов
- •Создание вторичных потоков при помощи Thread.Start()
- •Синхронизация с помощью lock
- •Синхронизация с использованием типа System.Threading.Monitor
- •Синхронизация с использованием типа System.Threading.Interlocked
- •Синхронизация с использованием атрибута [Synchronization]
- •Использование System.Threading.Timer
- •Пул потоков clr
- •Библиотека Windows.Forms. Пространства имен. Структура приложения. Элементы управления. События. Иерархия элементов управления.
- •Основные пространства имен Windows Forms
- •Структура приложения WinForms
- •Элементы управления
- •События
- •Библиотека wpf. Отличия wpf от WindowsForms. Разметка xaml. Понятие Windows Presentation Foundation
- •Типы приложений wpf
- •Основные сборки wpf
- •Построение приложения wpf без xaml
- •Построение приложения wpf с использованием только xaml
- •Пример c# обработчика события для контрола, объявленного в xaml (связь кода и xaml):
- •Создание проекта
- •Знакомство с инструментами визуального конструктора wpf
Использование System.Threading.Timer
void ThreadMethod(object param)
{
}
...
// Создать делегат для выполнения в отдельном потоке
TimerCallback timeCB = new TimerCallback(ThreadMethod);
// Установить настройки таймера.
Timer t = new Timer(
timeCB, // Объект-делегат TimerCallback.
null, // Информация для передачи в вызванный метод
0, // Время перед запуском (в миллисекундах).
1000 // Время между вызовами (в миллисекундах) .
);
Пул потоков clr
Пример:
static void ThreadMethod(object state)
{
}
static void Launch(string[] args)
{
WaitCallback workltem = new WaitCallback(ThreadMethod);
// Поставить в очередь метод десять раз.
for ( int i = 0; i < 10; i++ )
{
ThreadPool.QueueUserWorkltem(workItem, p);
}
}
Метод ThreadMethod будет поставлен в очередь, после чего система будет выбирать свободные потоки из пула и запускать в них данный метод.
Преимущества использования поддерживаемого CLR пула потоков по сравнению с явным созданием объектов Thread:
Пул потоков управляет потоками эффективно, уменьшая количество создаваемых, запускаемых и останавливаемых потоков.
Используя пул потоков, можно сосредоточиться на решении задачи, а не на инфраструктуре потоков приложения.
Тем не менее, в некоторых случаях предпочтительно ручное управление потоками.
Если нужны потоки переднего плана, или должен быть установлен приоритет потока. Потоки из пула всегда являются фоновыми с приоритетом по умолчанию (ThreadPriority. Normal).
Если требуется поток с фиксированной идентичностью, чтобы можно было прерывать его или находить по имени.
Библиотека Windows.Forms. Пространства имен. Структура приложения. Элементы управления. События. Иерархия элементов управления.
Со времени появления платформы .NET среди библиотек базовых классов появился API по имени Windows Forms, предоставляющий типы, необходимые для построения графических пользовательских интерфейсов для настольных компьютеров, создания специализированных элементов управления, управления ресурсами (например, строками и значками) и выполнения других задач, возникающих при программировании для пользовательских компьютеров. Имеется и дополнительный API по имени GDI+, который предоставляет дополнительные типы, позволяющие программисту генерировать двухмерную графику, взаимодействовать с сетевыми принтерами и обрабатывать графические данные.
Основные пространства имен Windows Forms
System.Windows.Forms реализует следующие категории типов
Базовая инфраструктура: типы Form, Application, типы для работы с ActiveX и WPF.
Элементы управления: производные от Control, например Button, MenuStrip, ProgressBar , DataGridView.
Компоненты: не порожденные от Control, однако предоставляющие графические возможности, например ToolTip, а также компоненты вроде Timer, невидимые во время выполнения.
Окна стандартных диалогов: вроде OpenFileDialog, PrintDialog и ColorDialog.
System.Resources реализует типы для работы с файлами ресурсов (*.resx)
System.Windows.Forms.VisualStyles предоставляет типы для управления визуальными стилями приложений
System.Drawing позволяет использовать базовую функциональность графической подсистемы GDI+
System.Drawing.Drawing2D реализует вывод двумерной векторной графики
System.Drawing.Imaging предоставляет возможность работы с изображениями
System.Drawing.Text содержит функции для вывода текста
System.Drawing.Printing реализует управление печатью