У меня есть следующие объекты, которые я сериализую в файл XML:
public class BatchProcessing
{
public bool ProcessByBatch { get; set; } = false;
public bool AllBatches { get; set; } = true;
public ObservableCollection<BatchProcessingSpecificItem> SelectedBatches { get; set; }
}
public class BatchProcessingSpecificItem
{
public int BatchNumber { get; set; }
public bool BatchSelected { get; set; } = false;
public string BatchDisplay
{
get { return $"Batch {BatchNumber}"; }
}
public bool ShouldSerializeBatchProcessingSpecificItem()
{
return BatchSelected;
}
}
Из ObservableCollection я пытаюсь включить только те элементы, где BatchSelected == true
Я немного поискал и попытался реализовать ShouldSerialize[PropertyName]
. Как видите, я попытался реализовать его непосредственно на объекте BatchProcessingSpecificItem
, но он игнорируется.
Я думаю, что другим подходом может быть добавление отфильтрованного ObservableCollection<BatchProcessingSpecificItem>
, содержащего только выбранные элементы, а затем исключить исходную коллекцию из сериализации. Заранее спасибо.