using System.ComponentModel; using System.Runtime.CompilerServices; using Configuration.Annotations; namespace Configuration { public class Audio : INotifyPropertyChanged { private string _inputDeviceFriendlyName = string.Empty; private string _outputDeviceFriendlyName = string.Empty; public string InputDeviceFriendlyName { get => _inputDeviceFriendlyName; set { if (value == _inputDeviceFriendlyName) return; _inputDeviceFriendlyName = value; OnPropertyChanged(); } } public string OutputDeviceFriendlyName { get => _outputDeviceFriendlyName; set { if (value == _outputDeviceFriendlyName) return; _outputDeviceFriendlyName = value; OnPropertyChanged(); } } public event PropertyChangedEventHandler PropertyChanged; [NotifyPropertyChangedInvocator] protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } } }