Re[2]: Сериализация
От: _Kostya_  
Дата: 07.04.03 10:58
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, _Kostya_, Вы писали:


VD>Опиши подробнее. Из такого описания понять картину тяжело.


VD>Помечены ли классы атрибутом SerializableAttribute?



я уже решил эту проблему с помощью массива, но все-таки хочется узнать.

занчит так, есть классы


    public class CatFilesEnumarator: IEnumerator{
        ArrayList    _files;
        int            _current;

        public CatFilesEnumarator(ArrayList files){
            _files=files;
            _current=-1;
        }

        public object Current{
            get{
                if(_current<0 || _current>=_files.Count)
                    throw new Exception();
                return _files[_current];
            }
        }

        public bool MoveNext(){
            if(_current>=_files.Count)
                return false;
            _current++;
            return _current<_files.Count;
        }

        public void Reset(){
            _current=-1;
        }
    }

и

    public class Catalog: IEnumerable{
        ArrayList    _files;

        // несколько свойст помеченных [XmlIgnore]

        public Catalog(){
            _files=new ArrayList();
        }

        public IEnumerator GetEnumerator(){
            return new CatFilesEnumarator(_files);
        }
    }



потом делаю класс


    public class CatFilesContainer{
        public Catalog _cat;

        public void SaveToXml(string fileName){
            try{
                using(FileStream fs=new FileStream(fileName, FileMode.Create)){
                    XmlSerializer xml=new XmlSerializer(typeof(CatFilesContainer));
                    xml.Serialize(fs, this);
                }
            }catch(Exception e){
                MessageBox.Show(e.Message);
            }
        }
       }


Так можно сериализовать объект?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.