Szeregowanie listy zawiera interfejs do XML
Czytałem, ale nie znalazłem rozwiązania mojego problemu
Obecnie pracuję z obiektem biznesowym, który przechowuje wszystkie moje dane i musimy przekonwertować ten obiekt na iz XML.
Mój obiekt zawiera listę akcji (lista ...), ale istnieją 2 typy akcji (na razie). Muszę podejmować działania typu SimpleAction i CompositeAction, które dziedziczą z IAction, pozwalając im na trzymanie ich na liście akcji.
Teraz prawdopodobnie widzisz problem, ponieważ interfejsów nie można serializować, ponieważ nie zawierają żadnych danych.
W jaki sposób, przy pomocy przykładowego kodu, mogę napisać klasę lub serializator, który pobiera ten typ obiektu i wykonuje, a następnie serializuje obiekt za pomocą poprawnego typu?
Niektóre kody:
[XmlArray("Actions")]
public List<IAction> Actions { get; set; }
public interface IAction
{
int ID { get; set; }
ParameterCollection Parameters { get; set; }
List<SectionEntity> Validation { get; set; }
TestResultEntity Result { get; set; }
string Exception { get; set; }
}
[XmlType("A")]
public class SimpleActionEntity : IAction
{
#region IAction Members
[XmlAttribute("ID")]
public int ID { get; set; }
[XmlIgnore]
public ParameterCollection Parameters { get; set; }
[XmlIgnore]
public List<SectionEntity> Validation { get; set; }
[XmlIgnore]
public TestResultEntity Result { get; set; }
[XmlElement("Exception")]
public string Exception { get; set; }
#endregion
}
Każda pomoc byłaby bardzo mile widziana. :)