У меня есть универсальный тип:
public class Packet<T> where T : IContent
{
private int id;
public int Id { get { return this.id; } }
private T content;
public T Content { get { return this.content; } }
}
Я хочу десериализовать / сериализовать экземпляры этого типа из / в XML. IContent
определяется так:
public interface IContent
{
XmlSerializer Serializer{get;}
}
По сути, я бы хотел, чтобы Packet
использовал сериализатор, предоставленный его контентом, для сериализации и десериализации своего элемента контента. Этот сериализатор фактически является экземпляром предварительно скомпилированного сериализатора xml, созданного sgen.exe.
Возможно ли без Packet<T>
реализации IXmlSerializable
?