public void ReadXml(System.Xml.XmlReader reader) { bool wasEmpty = reader.IsEmptyElement; reader.Read(); if (wasEmpty) { return; } reader.MoveToContent(); reader.ReadStartElement("Animals"); // you MUST deserialize with 'List<Animal>', if Animals class has no 'List<Animal>' fields but has been derived from 'List<Animal>'. List <Animal> coll = GenericSerializer.Deserialize <List <Animal> >(reader, _animalTypes); // And then, You can set 'Animals' to 'List<Animal>'. _animals.AddRange(coll); reader.ReadEndElement(); //Read Closing Element reader.ReadEndElement(); }
private void DoAddAnimalCommand(int count) { var animals = Enumerable.Range(0, count).Select(_ => CreateRandomAnimal()); Animals.AddRange(animals); }