2013-04-18 8 views
0

Так что я хочу сделать, это передать список объектов, но у меня много разных. (Мечи, чехлы и т. Д.). Как передать несколько объектов в параметр?Передача параметров с несколькими объектами

ListToSave = testObject.ChestPlateList; Эта часть ниже является частью, в которую я хочу передать список объектов.

public void DeserializeFromXML(List<ChestPlate> ListToSave, string filepath) 
     { 
      XmlSerializer deserializer = new XmlSerializer(typeof(GameObjectData)); 
      FileStream fs = new FileStream(filepath, FileMode.Open); 
      XmlReader reader = new XmlTextReader(fs); 

      if (!reader.EOF) 
      { 
       GameObjectData testObject = (GameObjectData)deserializer.Deserialize(reader); 
       ListToSave = testObject.ChestPlateList; 
       Console.WriteLine("{0}", testObject.ChestPlateList);    
      }   
     } 
+0

Do 'Swords' и 'наследует Chestplates' от того же родителя? –

+0

Да, это все наследуется от «GameObject». – callum

+0

Так почему бы не пройти 'List '? –

ответ

0

Попробуйте это (непроверенные)

public void SerializeToXML(GameObjectData theData, string filepath) 
{ 
    XmlSerializer serializer = new XmlSerializer(typeof(theData)); 
    TextWriter writer = new StreamWriter(filepath); 
    serializer.Serialize(writer, ListToSave); 
} 

и

public GameObjectData DeserializeFromXML(string filepath) 
{ 
    GameObjectData result = null; 
    XmlSerializer deserializer = new XmlSerializer(typeof(GameObjectData)); 
    FileStream fs = new FileStream(filepath, FileMode.Open); 
    XmlReader reader = new XmlTextReader(fs); 

    if (!reader.EOF) 
    { 
     result = (List<GameObject>)deserializer.Deserialize(reader); 

     Console.WriteLine("{0}", result.ChestPlateList);    
    } 
    return result;  
} 
+0

это должна быть «GameObjectData», которая содержит списки для объектов. Почему я использую «GameObjectData» для testObject. – callum

Смежные вопросы