using Configuration.Annotations; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; using System.Xml.Serialization; namespace Configuration { [XmlRoot(Namespace = "urn:regname-configuration-schema", ElementName = "Configuration")] public class Configuration : INotifyPropertyChanged { private bool _enableTelemetry = true; private string _sequenceMarker = @"{seq}"; public bool EnableTelemetry { get => _enableTelemetry; set { if (value == _enableTelemetry) { return; } _enableTelemetry = value; OnPropertyChanged(); } } public string SequenceMarker { get => _sequenceMarker; set { if (value == _sequenceMarker) { return; } _sequenceMarker = value; OnPropertyChanged(); } } public event PropertyChangedEventHandler PropertyChanged; [NotifyPropertyChangedInvocator] protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } } }