Speak.Me Учить иностранные слова

Сериализация (Serialization) в C#

Сериализация - процесс преобразования объекта или группы связанных объектов в поток байт или набор XML узлов для сохранения (в базу данных, файл и т.д.) или передачи (например, по сети). Десериализация - обратный процесс - восстановление объекта из потока байт или XML узлов. Сериализация обычно используется для передачи объектов по сети или за границы приложения, для сохранения объектов внутри файлов или базы данных, а также для глубокого копирования объектов.

Классы для сериализации располагаются в двух пространствах имен: System.Runtime.Serialization и System.Xml.Serialization.

Читать далее Сериализация (Serialization) в C#

Рефлексия (отражение, reflection) в C#

Программа компилируется в сборку, которая содержит метаданные, скомпилированный код и ресурсы. Инспектирование метаданных и скомпилированного кода во время выполнения называется рефлексией.

Читать далее Рефлексия (отражение, reflection) в C#

Сборка мусора, IDisposable и финализаторы в C#

Память, занятая неиспользуемыми объектами, должна освобождаться. Этот процесс выполняется средой CLR автоматически и называется сборкой мусора. Однако помимо управляемой памяти существуют и другие машинные ресурсы, которые может использовать программа: файлы, дескрипторы ОС, сетевые подключения и т.д. Эти ресурсы сборщиком мусора не освобождаются. Типы, инкапсулирующие работу с машинными ресурсами, должны освобождать эти ресурсы после завершения работы с ними самостоятельно. Освобождение реализуется с помощью интерфейса IDisposable. Освобождение вызывается явно, в то время как сборка мусора полностью автоматизирована и не требует никаких действий со стороны программиста.

Читать далее Сборка мусора, IDisposable и финализаторы в C#