Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Резюме
В главе был представлен обзор синтаксиса и семантики языка CIL. В отличие от управляемых языков более высокого уровня, таких как С#, в CIL не просто определяется набор ключевых слов, а предоставляются директивы (используемые для определения конструкции сборки и ее типов), атрибуты (дополнительно уточняющие данные директивы) и коды операций (применяемые для реализации членов типов).
Вы ознакомились с несколькими инструментами, связанными с программированием на CIL, и узнали, как изменять содержимое сборки .NET Core за счет добавления новых инструкций CIL, используя возвратное проектирование. Кроме того, вы изучили способы установления текущей (и ссылаемой) сборки, пространств имен, типов и членов. Был рассмотрен простой пример построения библиотеки кода и исполняемого файла .NET Core с применением CIL и соответствующих инструментов командной строки.
Наконец, вы получили начальное представление о процессе создания динамической сборки. Используя пространство имен
System.Reflection.Emit
Часть VI
Работа с файлами, сериализация объектов и доступ к данным
Глава 20
Файловый ввод-вывод и сериализация объектов
При создании настольных приложений возможность сохранения информации между пользовательскими сеансами является привычным делом. В настоящей главе рассматривается несколько тем, касающихся ввода-вывода, с точки зрения платформы .NET Core. Первая задача связана с исследованием основных типов, определенных в пространстве имен
System.IO
После изучения способов манипулирования файлами и каталогами с использованием основных типов ввода-вывода вы ознакомитесь со связанной темой — сериализацией объектов. Сериализацию объектов можно применять для сохранения и извлечения состояния объекта с помощью любого типа, производного от
System.IO.Stream
На заметку! Чтобы можно было успешно выполнять примеры в главе, IDE-среда Visual Studio должна быть запущена с правами администратора (для этого нужно просто щелкнуть правой кнопкой мыши на значке Visual Studio и выбрать в контекстном меню пункт Запуск от имени администратора). В противном случае при доступе к файловой системе компьютера могут возникать исключения, связанные с безопасностью.
Исследование пространства имен System.IO
В рамках платформы .NET Core пространство имен
System.IO
System.IO
mscorlib.dll
mscorlib.dll
System.dll
System.IO
Многие типы из пространства имен
System.IO
System.IO

В дополнение к описанным конкретным классам внутри
System.IO
Stream
TextReader
ТехtWriter
System.IO
Классы Directory(Directorylnfо) и File(FileInfo)
Пространство имен
System.IO
Directory
File
FileInfo
DirectoryInfo
new
Directory
File
System.Object
DirectoryInfo
FileInfo
FileSystemInfo
Обычно классы
FileInfo
DirectoryInfo
Directory
File
File/FileInfo
Directory/DirectoryInfo
Абстрактный базовый класс FileSystemInfo
Классы
DirectoryInfo
FileInfo
FileSystemInfo
FileSystemInfo
