AdapterLib.MockLightingServiceHandler.OnPropertyChanged C# (CSharp) Method

OnPropertyChanged() private method

private OnPropertyChanged ( [ propertyName = null ) : void
propertyName [
return void
        private void OnPropertyChanged([CallerMemberName] string propertyName = null)
        {
            if (dispatcher.HasThreadAccess)
            {
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
                if (propertyName == nameof(LampState_Hue) ||
                    propertyName == nameof(LampState_Brightness) ||
                    propertyName == nameof(LampState_Saturation))
                {
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Color)));
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(ColorFullBrightness)));
                }
                if (propertyName == nameof(LampState_Brightness) ||
                    propertyName == nameof(LampState_OnOff))
                {
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs((nameof(LampParameters_BrightnessLumens))));
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs((nameof(LampParameters_EnergyUsageMilliwatts))));
                }
            }
            else
            {
                var _ = dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => OnPropertyChanged(propertyName));
            }
        }