Методы в struct
От: Andrew-K-N  
Дата: 23.02.03 03:27
Оценка:
Здравствуйте! Помогите понять в чем ошибка!

Есть интерфейс

public interface ISerialize
{
   void Write(BynaryWriter bw);
   void Read(BynaryReader br);
}


и определена структура

public struct Point:ISerialize
{
   public int x;
   public int y;
   ...
   ...
   void ISerialize.Write(BynaryWriter bw)
   {
      bw.Write(this.x);
      bw.Write(this.y);
      ...
   }
   void ISerialize.Read(BynaryReader br)
   {
      this.x=br.ReadInt32();
      ...
   }
}


есть класс, содержащий массив этой структуры,
и также реализующий интерфейс ISerialize
Вот пример кода

...
private Point[] mass;

...
void ISerialize.Read(BynaryReader br)
{
   for(int i=0;i<mass.Length;i++)
      {
         ((ISerialize)mass[i]).Read(br);// 1  
      }
   ...
}
...



в строке, помеченой 1, элемент массива после завершения метода остается
с нулевыми значениями, хотя метод Read в структуре считывает значения из потока
и присваивает их полям, но по возвращении — поля пустые (0 и null)

Помогите, пожайлуста!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.