- •Вопрос 1 – ilasm,ildasm,Reflecrion, устройство сборок
- •Вопрос 2. Архитектура платформы .Net. Основные компоненты платформы.
- •Вопрос 3. Выполнение приложений на платформе Microsoft .Net.
- •Вопрос 4. Компиляция и выполнение приложений на платформе Microsoft .Net.
- •Вопрос 5. Атрибуты
- •Вопрос 6. Net.Framework
- •Вопрос 7. Библиотеки System.Io.
- •Вопрос 8. Взаимодействие с неуправляемым кодом
- •Вопрос 9. Циклы
- •Вопрос 10-11. Делегаты
- •Вопрос 12. Классы объекты….
- •Вопрос 13. Компонентное программирование.
- •14. Концепция примененя программных платформ.
- •Вопрос 15. Объявление массивов.
- •Вопрос16. Исключения
- •Вопрос 18. Ветвление программ
- •Вопрос 20. Типы данных приведение типов данных.
- •Вопрос 21 - Отличие Windows forms от wi32 api
- •Вопрос 23. Пространство имён
- •Вопрос 24. Поток.
- •Вопрос 25. Работа с файлами.
- •Вопрос 26. Работа с файлами и дерикториями .Net
- •Вопрос 27. Роль clr.
- •Вопрос 28. Синхронизация потоков.
- •Вопрос 29. Передача параметров по ссылке.
- •Вопрос 30. Строгая и нестрогая типизация.
- •Вопрос 31. Структура программы и методы.
- •Вопрос 32. Коллекции в .Net
- •Вопрос 33. Модель программирования Windows Forms
Вопрос 6. Net.Framework
Библиотека классов .NET Framework состоит из пространств имен. Каждое пространство имен содержит типы, которые можно использовать в программах: классы, структуры, перечисления, делегаты и интерфейсы. Обзор пространств имен см. в разделе Библиотека классов.
Пространства имен обеспечивают ограничение области видимости: два класса с одним и тем же именем могут быть использованы в программе постольку, поскольку они находятся в разных пространствах имен и их имена определены в рамках соответствующих пространств имен. Имя пространства имен является частью полного имени типа (namespace.typename).
Названия всех пространств имен, созданных корпорацией Майкрософт, начинаются с одного из двух имен: System или Microsoft.
Управляемые библиотеки DLL (сборки)
Функциональность платформы .NET Framework не концентрируется в одиночной библиотеке DLL. Благодаря распределению функциональных возможностей базовых классов по нескольким библиотекам DLL управляемой программе не нужно загружать во время запуска большую библиотеку DLL; вместо этого загружается одна или несколько небольших библиотек DLL. Это позволяет уменьшить время запуска программы.
Можно также использовать пространства имен, определенные в проекте. Однако, как правило, используются типы из пространств имен, находящихся в управляемых библиотеках DLL. Управляемые библиотеки DLL также называются сборками.
При создании проекта Visual Basic или Visual C# в Visual Studio ссылки на наиболее часто используемые библиотеки DLL (сборки), содержащие базовые классы, добавляются автоматически. Тем не менее, если необходимо использовать тип, находящийся в библиотеке DLL, ссылка на которую отсутствует, потребуется добавить ссылку на нее. Для добавления сборок служит диалоговое окно Добавление ссылки.
Сборки являются структурными элементами приложений .NET Framework; они составляют основную единицу развертывания, управления версиями, повторного использования, областей действия активации и разрешений безопасности. Сборка представляет собой коллекцию типов и ресурсов, собранных для совместной работы и образующих логическую функциональную единицу. Сборка предоставляет среде CLR сведения, необходимые для распознавания реализаций типов. Для среды выполнения тип не существует вне контекста сборки.
Вопрос 7. Библиотеки System.Io.
В следующей таблице перечислены классы, обычно используемые для файлового ввода-вывода в .NET Framework. Они разделены на классы файлового ввода-вывода, классы для создания потоков и классы для чтения и записи в поток.
Документацию по .NET Framework 2.0 и более полный список см. в разделе Общие сведения о библиотеке классов .NET Framework.
Основные классы ввода-вывода для файлов, каталогов и дисков
В следующей таблице перечислены и описаны основные классы, используемые для файлового ввода-вывода.
System.IO.Directory
Предоставляет статические методы для создания, перемещения и перечисления в каталогах и вложенных каталогах.
System.IO.DirectoryInfo
Предоставляет методы экземпляра класса для создания, перемещения и перечисления в каталогах и вложенных каталогах.
System.IO.DriveInfo
Предоставляет методы экземпляра класса для создания, перемещения и перечисления по дискам.
System.IO.File
Предоставляет статические методы для создания, копирования, удаления, перемещения и открытия файлов, а также помогает при создании объектов FileStream.
System.IO.FileAccess
Определяет константы чтения, записи или чтения и записи файла.
System.IO.FileAttributes
Предоставляет атрибуты для файлов и каталогов, например ArchiveHidden и ReadOnly.
System.IO.FileInfo
Предоставляет статические методы для создания, копирования, удаления, перемещения и открытия файлов, а также помогает при создании объектов FileStream.
System.IO.FileMode
Управляет процессом открытия файла. Этот параметр задается во многих конструкторах объектов FileStream и IsolatedStorageFileStream и методах Open объектов File и FileInfo.
System.IO.FileShare
Определяет константы для управления типом доступа других файловых потоков к этому же файлу.
System.IO.Path
Предоставляет методы и свойства для обработки строк каталога.
System.Security.Permissions.FileIOPermission
Управляет доступом к файлам и каталогам путем определения разрешений Read, WriteAppend и PathDiscovery.
Классы, используемые для создания потоков
В следующей таблице перечислены и описаны основные классы, используемые для создания потоков.
System.IO.BufferedStream
Осуществляет буферизацию в операциях чтения и записи в другие потоки.
System.IO.FileStream
Поддерживает произвольный доступ к файлам с помощью метода Seek. Класс FileStream по умолчанию открывает файлы для синхронного доступа, но также поддерживает и асинхронные операции.
{// Set the stream position to the beginning of the file.
fileStream.Seek(0, SeekOrigin.Begin);} пример
System.IO.MemoryStream
Создает поток, резервное хранилище которого находится в памяти, а не в файле.
System.Net.Sockets.NetworkStream
Обеспечивает базовый поток данных для доступа к сети.
System.Security.Cryptography.CryptoStream
Определяет поток, который связывает потоки данных с криптографическими преобразованиями.
Классы, используемые для чтения и записи в потоки
В следующей таблице описаны некоторые классы, используемые для чтения и записи в файлы с помощью потоков.
System.IO.BinaryReader
Считывает кодированные строки и простые типы данных из FileStream.
System.IO.BinaryWriter
Записывает кодированные строки и простые типы данных в FileStream.
System.IO.StreamReader
Считывает символы из FileStream, используя кодировку CurrentEncoding для преобразования символов в байты и обратно. Класс StreamReader имеет конструктор, в котором делается попытка установить правильную кодировку CurrentEncoding для данного потока на основе наличия типичного для кодировки CurrentEncoding заголовка, такого как метка порядка байтов.
System.IO.StreamWriter
Записывает символы в поток FileStream, используя класс Encoding для преобразования символов в байты.
System.IO.StringReader
Считывает символы из String. Вывод может быть либо потоком в любой кодировке, либо String.
System.IO.StringWriter
Записывает символы в String. Вывод может быть либо потоком в любой кодировке, либо String.
StreamReader разработан для ввода символов в определенной кодировке, тогда как класс Stream разработан для ввода и вывода байтов. StreamReader служит для чтения строк данных из стандартного текстового файла. StreamWriter разработан для вывода символов в определенной кодировке, тогда как классы, производные от Stream, разработаны для ввода и вывода байтов.
Класс Stream является абстрактным базовым классом всех потоков. Поток — это абстракция последовательности байтов, например файл, устройство ввода-вывода, канал взаимодействия процессов или сокет TCP/IP. Класс Stream и его производные классы предоставляют универсальное представление различных типов ввода и вывода, изолируя программиста от отдельных сведений операционной системы и базовых устройств.
Используйте класс FileStream для операций чтения и записи в файл, открытия и закрытия файлов в файловой системе, а также для изменения других дескрипторов операционной системы для обработки файлов, включая каналы, стандартный ввод и вывод. Можно задать синхронное или асинхронное выполнение операций чтения и записи. Для достижения лучшей производительности FileStream буферизирует ввод и вывод.
Объекты FileStream поддерживают произвольный доступ к файлам с использованием метода Seek. Seek позволяет перемещать положение чтения и записи в любое место внутри файла. Это осуществляется путем смещения параметров точки ссылки. Смещение в байтах относительно точки ссылки поиска, которая может располагаться в начале, в текущем положении или в конце файла, определяется тремя свойствами класса SeekOrigin.