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. :)

questionAnswers(3)

yourAnswerToTheQuestion