Пример #1
0
    public static XmlSerializer CreateKnownTypeSerializer(Type type, IEnumerable <Type> extraTypes)
    {
        var allExtraTypes =
            AppDomain.CurrentDomain.GetAssemblies()
            .SelectMany(a => a.GetTypes())
            .Where(t => extraTypes.Any(extraType => extraType.IsAssignableFrom(t)));
        var key = new XmlSerializerKeyWithKnownTypes(type, allExtraTypes);

        return(XmlSerializerHashTable.DemandSerializer(key, k => ((XmlSerializerKeyWithKnownTypes)k).CreateSerializer()));
    }
Пример #2
0
 public XmlSerializer GetSerializer()
 {
     return(XmlSerializerHashTable.GetSerializer(this));
 }