Цитата(Хоббит @ 24.6.2006, 13:23 ) | Что такое сериализация в двух словах подскажите пожалуйста.... |
Сохранение и восстановление объектов в/из последовательную форму (поток). Есть два основных вида сериализации: бинарная и XML-сериализация. Для первого типа сериализации, класс достаточно пометить атрибутом [Serializable] и сохранять/восстанавливать объекты BinaryFormatter-ом. XML-сериализация использует класс XmlSerializer. Коренное отличие между XML- и бинарной сериализацией состоит в том, что в XML сохраняются теги и ничего более, а при бинарной сериализации в поток сохраняется полная инфа о классе и сборке. То есть, сохранить объект одного класса а затем восстановить его в объект другого класса (или даже того же самого, но находящегося в другой сборке) нельзя, используя бинарную сериализацию. С другой стороны, XML-сериализация содержит ряд ограничений. Например, все сериализуемые свойства и поля должны быть public (свойства к тому же должны объявить открытый set-аксессор).
Цитата(Хоббит @ 24.6.2006, 13:23 ) | по знанию php с помощью этого можно преобраховать класс в строку.. а потом обратно |
Здесь почти то же самое. Только при бинарной получается абсолютно неудобоваримый набор байтов, а при XML - соответственно xml-файл.
Цитата(Хоббит @ 24.6.2006, 13:23 ) | А если класс содержит в себе поля классы - они сохраняться? |
Да, объект сохраняется полностью (естественно, что поля и свойства должны быть сериализуемых типов). |