public bool IsFeatureToggleEnabled(string featureToggle) { var toggleEnabled = false; if (!string.IsNullOrWhiteSpace(featureToggle)) { try { var property = _featureToggles.GetType().GetProperty(featureToggle); var propertyValue = property.GetValue(_featureToggles, null); toggleEnabled = Convert.ToBoolean(propertyValue); } catch (SystemException ex) when(ex is InvalidCastException || ex is FormatException) { toggleEnabled = false; Debug.WriteLine($"FeatureToogle '{featureToggle}' is not in the expected format"); } catch (SystemException ex) when(ex is NullReferenceException) { toggleEnabled = false; Debug.WriteLine($"FeatureToogle '{featureToggle}' is not defined in the configuration"); } } return(toggleEnabled); }
private static bool IsFeatureToggleEnabled(IFeatureToggles _featureToggles, string featureToggle) { var toggleEnabled = false; if (_featureToggles != null && !string.IsNullOrWhiteSpace(featureToggle)) { try { var property = _featureToggles.GetType().GetProperty(featureToggle); var propertyValue = property.GetValue(_featureToggles, null); if (propertyValue != null) { toggleEnabled = Convert.ToBoolean(propertyValue); } } catch (SystemException ex) when(ex is InvalidCastException || ex is FormatException) { toggleEnabled = false; } } return(toggleEnabled); }