- •1)Классы: индексаторы, операции классов.
- •Метод Main
- •Операции класса
- •Унарные операции
- •Implicit operator тип ( параметр ) // неявное преобразование
- •Вложенные типы
- •2) Интерфейсы: синтаксис, реализация, операции is и as.
- •Сравнение объектов (интерфейс iComparable)
- •Реализация интерфейса
- •Операции is и as
- •Перебор объектов (интерфейс iEnumerable) и итераторы
- •4) Структуры. Перечисления.
- •Операции с перечислениями
- •5)Делегаты. Передача делегатов в методы.
- •Передача делегатов в методы
- •6)Паттерн «наблюдатель».
- •7) События. Использование стандартных делегатов.
- •8) Общая характеристика многопоточных приложений.
- •9) Класс Thread.
- •Основные элементы
- •Interrupt Метод Прерывает работу текущего потока
- •10) Асинхронные делегаты.
- •11) Общая характеристика процессов ввода-вывода.
- •Основные классы пространства имен System.Ю
- •Выполнять обмен с внешними устройствами можно на уровне:
- •12) Потоки байтов.
- •Элементы класса Stream
- •14) Потоки символов.
- •15) Двоичные потоки.
- •16) Консольный ввод-вывод.
- •17) Работа с каталогами и файлами.
- •Свойства класса FileSystemlnfo
- •18) Сохранение объектов (сериализация)
- •22)Атрибуты.
- •23)Пространства имен.
- •Директивы препроцессора
- •25) Абстрактные структуры данных.
- •Интерфейсы пространства имен System.Collections
- •Коллекции пространства имен System.Collections
- •Основные элементы класса ArrayList
- •Item Свойство Получить или установить значение элемента по заданному индексу
- •27) Классы-прототипы.
- •28) Обобщенные методы. Частичные типы. Обнуляемые типы.
- •29) Основные особенности Windows-приложений.
- •30) Событийно-управляемое программирование.
- •31) Шаблон Windows-приложения.
- •Основные типы Windows.Forms
- •Некоторые основные свойства класса Control
- •33) Класс Form.
- •Некоторые свойства класса Form
- •34) Диалоговые окна.
- •35) Класс Application.
- •Некоторые основные элементы класса Application
- •36) Введение в графику.
- •Основными объектами, которые при этом используются, являются объекты классов:
- •37) Утилитарные типы System.Drawing.
- •Некоторые базовые типы пространства имен System.Drawing
22)Атрибуты.
Атрибуты — это дополнительные сведения об элементах программы. С помощью атрибутов можно добавлять информацию в метаданные сборки и затем извлекать ее во время выполнения программы. Атрибут является специальным видом класса и происходит от базового класса System. Attribute.
Атрибуты делятся на стандартные и пользовательские.
При использовании (спецификации) атрибутов они задаются в секции атрибутов, располагаемой непосредственно перед элементом, для описания которого они предназначены. Секция заключается в квадратные скобки и может содержать не сколько атрибутов, перечисляемых через запятую. Порядок следования атрибутов произвольный. Для каждого атрибута задаются имя, а также необязательные параметры и тип элемента сборки, к которому относится атрибут. Простейший пример атрибута:
[Serializable]
class Monster
{
[NonSerialized]
string name;
int health, ammo;
}
Атрибут [Serializable], означающий, что объекты этого класса можно сохранять во внешней памяти, относится ко всему классу Monster. При этом поле name помечено атрибутом [NonSerialized], что говорит о том, что это поле сохраняться не должно.
Типы элемента сборки, задаваемые для атрибутов
assembly Атрибут относится ко всей сборке
field Атрибут относится к полю
event Атрибут относится к событию
method Атрибут относится к методу
pa ram Атрибут относится к параметрам метода
property Атрибут относится к свойству
return Атрибут относится к возвращаемому значению
type Атрибут относится к классу или структуре
Атрибут может иметь параметры. Они записываются в круглых скобках через запятую после имени атрибута и бывают позиционными и именованными. Именованный параметр указывается в форме имя = значение, для позиционного про сто задается значение. Например, для использованного в следующем фрагменте кода атрибута CLSCompliant задан позиционный параметр true. Атрибуты, относящиеся к сборке, должны располагаться непосредственно после директив using, например:
using System;
[assembly:CLSCompliant(true)]
namespace ConsoleApplicationl
{ ...
Стандартные атрибуты, как и другие типы классов, имеют набор конструкторов, которые определяют, каким образом использовать (специфицировать) атрибут. Фактически, при использовании атрибута указывается наиболее подходящий конструктор, а величины, не указанные в конструкторе, задаются через именованные параметры в конце списка параметров.
23)Пространства имен.
Пространство имен — это контейнер для типов, определяющий область их видимости. Пространства имен предотвращают конфликты имен и используются для двух взаимосвязанных целей:
• логического группирования элементов программы, расположенных в различных физических файлах;
• группирования имен, предоставляемых сборкой в пользование другим модулям.
Если в разных файлах описать пространства имен с одним и тем же именем, то при построении приложения, состоящего из этих файлов, будет скомпоновано единое пространство имен.
Существует три способа использования типа, определенного в каком-либо пространстве имен:
1. Использовать полностью квалифицированное имя.
2. Использовать директиву using, с помощью которой импортируются все имен; из заданного пространства.
3. Использовать псевдоним типа. Это делается с помощью второй формы директивы using
В версию языка С# 2.0 введена возможность применять псевдоним пространства имен с помощью операции ::
Использование псевдонима для пространства имен гарантирует, что последующие подключения других пространств имен к этой сборке не повлияют на существующие определения.
24) Директивы препроцессора.
Препроцессором в языке С++ называется предварительный этап компиляции, формирующий окончательный вариант текста программы. В языке С#, потомке С++, препроцессор практически отсутствует, но некоторые директивы сохранились. Назначение директив — исключать из процесса компиляции фрагменты ода при выполнении определенных условий, выводить сообщения об ошибках предупреждения, а также структурировать код программы. каждая директива располагается на отдельной строке и не заканчивается точкой запятой, в отличие от операторов языка. В одной строке с директивой может располагаться только комментарий вида //.
