У меня есть свойство в классе, которое используется как тип ответа контракта операции в службе WCf, которая связывается с устаревшими клиентами ASMX.
[XmlArrayItem(Type = typeof(Person), Namespace = "TestNamespace")]
[XmlArrayItem(Type = typeof(Department),
Namespace = "TestNamespace")]
public Collection<object> OrgCollection { get; set; }
Но если потребитель добавляет другой тип, отличный от ожидаемого, служба аварийно завершает работу, поскольку XmlSerializer
не может сериализовать это свойство.
Есть ли способ получить коллекцию определенных типов? Дженерики были бы ответом на это, но вместо того, чтобы реализовать новый класс коллекции в целом, могу ли я «унаследовать» мой новый класс от некоторого существующего класса коллекции, чтобы мне были доступны все функции?