У меня есть класс, который представляет собой кучу настроек:Как перезаписать коллекции по умолчанию на десериализации
public class Settings
{
public Settings()
{
InnerSettings = new List<InnerSettings>();
//this is the settings i want to have by default
InnerSettings.Add(new InnerSettings());
}
[XmlArray]
public List<InnerSettings> InnerSettings {get; set;}
}
Теперь, когда я десериализацию этого объекта, то InnerSettings
из XML добавляется в List
поверх элементов которые были созданы по умолчанию для конструктора Settings()
. Есть ли простой способ сказать десериализатору, что я хочу вместо этого переписать коллекцию, удалив элементы по умолчанию?
Вы десериализации все, кроме 'InnerSettings'? –
@YuvalItzchakov Я хочу десериализовать все, но я не хочу, чтобы 'InnerSettings', добавленный в конструктор' default() 'по умолчанию, присутствовал в десериализованном объекте (если они не представлены в XML также). –
Создайте базовый класс с настройками по умолчанию. У вас класс Settings наследует базовый класс. – jdweng