Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Краткая справка



Классы.NET для операций с файловой системой находятся в основном в пространстве имен System.IO.

.NET включает также ряд классов и интерфейсов в пространстве имен System.Runtime.Serialization, которые связаны с сериализацией, то есть, процессом преобразования некоторых данных (например, содержимого документа) в поток байтов для хранения в файле или другом объекте, к которому применимы операции последовательного ввода-вывода. Чтобы обеспечить поддержку сериализации в собственных классах достаточно назначить им атрибут [ Serializable() ]. Атрибуты в С# задают дополнительные и особые свойства элементам языка и указываются в квадратных скобках непосредственно перед тем элементом, к которому они применяются. Если классу назначен этот атрибут, все его поля данных будут по умолчанию сохранятся в файле или в другом потоковом объекте при передаче объекта этого класса методу сериализации. Чтобы исключить определённые поля класса, например, временные и вспомогательные переменные, из операции сериализации, этим элементам следует назначить атрибут [ NonSerialized() ]

Например, сохранение объекта obj некоторого класса X в файле с именем fileName с использованием сериалиации может быть выполнено следующим образом:

BinaryFormatter formatter = new BinaryFormatter();

Stream stream = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None);

formatter.Serialize(stream, obj);

stream.Close();

А восстановление сохранённого объекта из файла:

BinaryFormatter formatter = new BinaryFormatter();

Stream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);

X obj = (X)formatter.Deserialize(stream);

stream.Close();

Использование классов, применяемых при сериализации, требует подключения к модулю следующих пространств имён:

using System.Runtime.Serialization;

using System.Runtime.Serialization.Formatters.Binary;

using System.IO;

Класс List поддерживает сериализацию и при её выполнении в потоковом объекте сохраняются все элементы динамического массива. Но чтобы этот механизм работал, требуется, чтобы сами элементы массива также поддерживали сериализацию. Соответственно, классы, объекты которых используются в качестве элементов динамического массива, должны быть сделаны сериализуемыми.

При обработке команд меню, связанных с файловыми операциями, часто используются классы.NET, которые обеспечивают создание стандартных диалоговых панелей Windows, обеспечивающих выбор файла для открытия и сохранения. Это классы OpenFileDialog и SaveFileDialog. С примерами их использования можно ознакомиться в справочной системе Visual Studio.NET.





Дата публикования: 2015-06-12; Прочитано: 183 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...