public static List <T> ReadElementContentAsList <T>(this XmlReader reader, Func <string, T> instantiator) where T : IXmlSerializable { var list = new List <T>(); reader.ForEach(_ => { var entity = instantiator.Invoke(reader.Name); entity.ReadXml(reader); list.Add(entity); }); return(list); }
public static List <T> ReadElementContentAsList <T>(this XmlReader reader) where T : IXmlSerializable { var list = new List <T>(); reader.ForEach(_ => { var assemblyName = typeof(T).Assembly.GetName().Name; var entity = (T)Activator.CreateInstance(assemblyName, $"{typeof(T).Namespace}.{reader.Name}").Unwrap(); entity.ReadXml(reader); list.Add(entity); }); return(list); }