public ITogglable GetToggle(FeatureToggleEnum featureKey, Type toggleType) { var toggleTypes = _allToggleTypes .Where(x => x.GetInterfaces().Contains(toggleType)); var type = _featureToggleService.IsToggleEnabled(featureKey) ? toggleTypes.Single(x => x.GetInterfaces().Contains(typeof(IEnabledTogglable))) : toggleTypes.Single(x => x.GetInterfaces().Contains(typeof(IDisabledTogglable))); var singletonKey = type.FullName; ITogglable toggle = null; if (ToggleSingletons.ContainsKey(singletonKey)) { toggle = ToggleSingletons[singletonKey]; } else { toggle = CreateInstance(type); ToggleSingletons.TryAdd(singletonKey, toggle); } return toggle; }
public bool IsToggleEnabled(FeatureToggleEnum toggleId, string identifier = null) { var line = File.ReadAllText(@"C:\temp\toggles.txt"); return int.Parse(line) == 1; }