public override string ToString() { var optionValues = new List <string> { Geolocation.ToString(), Midi.ToString(), Notifications.ToString(), Push.ToString(), SyncXhr.ToString(), Microphone.ToString(), Camera.ToString(), Magnetometer.ToString(), Gyroscope.ToString(), Speaker.ToString(), Vibrate.ToString(), Fullscreen.ToString(), Payment.ToString(), Accelerometer.ToString(), AmbientLightSensor.ToString(), Autoplay.ToString(), EncryptedMedia.ToString(), PictureInPicture.ToString(), Usb.ToString(), Vr.ToString() }; optionValues.AddRange(Other.Select(o => { o.Value.FeatureName = o.Key; return(o.Value.ToString()); })); return(string.Join("; ", optionValues.Where(s => s.Length > 0))); }