Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 сем Инфа готово.docx
Скачиваний:
24
Добавлен:
04.06.2015
Размер:
255.66 Кб
Скачать

Вопрос 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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]