XML Serialization
От: Аноним  
Дата: 05.11.07 18:49
Оценка:
Нужно сериализовать следующий класс в XML, при этом предполагается что также может быть и бинарная сериализация
public class A
{
   public Type   CurrentType;
   public object Value;
}


Для того, что бы научить xml сериализатор сериализовывать и дессириализовывать класс с полем типа object (которое может быть произвольного типа, указанного в поле CurrentType), реализую ISerialazble.
public class A : ISerialazble
{
   public Type   CurrentType;   
   public object Value;

   protected MessageContent(SerializationInfo info, StreamingContext context)
   {
      if (info == null)
           throw new ArgumentNullException("info");

      CurrentType = (Type) info.GetValue("CurrentType", typeof (Type));
      Value = info.GetValue("Value", CurrentType);
   }

   protected virtual void GetObjectData(SerializationInfo info, StreamingContext context)
   {
      info.AddValue("CurrentType", CurrentType);
      info.AddValue("Value", Value);
   }        

   void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
   {
     if (info == null)
            throw new ArgumentNullException("info");

        GetObjectData(info, context);
   }
}


И ничего не работает, при сериализации даже не заходит в GetObjectData... Видимо что то я явно неправильно понимаю в сериализации...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.