static void Main(string[] args) { Examples.Show(); Features.Are. AlwaysEnabled(); In<BusinessBranch>.Contexts.FeaturesAre(). AlwaysEnabled(); In<BusinessBranch>.Contexts.FeaturesAre(). AlwaysEnabled(); Features.Are. AlwaysEnabled(); Features.Are. AlwaysDisabled().And. NamedBy.TypeName(); Features.Are. NamedBy.TypeFullName(); Features.Are. NamedBy.TypeFullName().And. AlwaysEnabled(); In<BusinessBranch>.Contexts.FeaturesAre(). AlwaysDisabled(); In<BusinessBranch>.Contexts.FeaturesAre(). AlwaysEnabled().And. NamedBy.TypeFullName(); In<BusinessBranch>.Contexts.FeaturesAre(). NamedBy.TypeName(); In<BusinessBranch>.Contexts.FeaturesAre(). NamedBy.TypeName().And. AlwaysEnabled(); Features.Are. ConfiguredBy.AppConfig().And. NamedBy.TypeName(); Features.Are. ConfiguredBy.AppConfig().UsingConfigSectionGroup("featureSwitcher.hq").And. NamedBy.TypeName(); Features.Are. ConfiguredBy.AppConfig().IgnoreConfigurationErrors().And. NamedBy.TypeName(); Features.Are. ConfiguredBy.AppConfig().UsingConfigSectionGroup("featureSwitcher.hq").IgnoreConfigurationErrors().And. NamedBy.TypeName(); Features.Are. ConfiguredBy.AppConfig().IgnoreConfigurationErrors().UsingConfigSectionGroup("featureSwitcher.hq").And. NamedBy.TypeName(); Features.Are. ConfiguredBy.AppConfig().UsingConfigSectionGroup("featureSwitcher.hq"); Features.Are. NamedBy.TypeFullName(); Features.Are. NamedBy.TypeFullName().And. ConfiguredBy.AppConfig().UsingConfigSectionGroup("featureSwitcher.hq"); Features.Are. HandledByDefault(); Features.Are. ConfiguredBy.AppConfig().IgnoreConfigurationErrors(); if (Feature<BlueBackground>.Is().Enabled) Console.BackgroundColor = ConsoleColor.Blue; Console.WriteLine("Myth feature is {0}", Feature<Myth>.Is().Enabled ? "enabled" : "disabled"); if (Debugger.IsAttached) Console.ReadLine(); var branch = BusinessBranch.HQ; var named = new TestNamed(); var a = Feature<TestNamed>.Is().Enabled; var c = Feature<TestNamed>.Is().EnabledInContextOf(branch); var d = named.Is().Enabled; var f = named.Is().EnabledInContextOf(branch); var features = new IFeature[] {new Myth(), new BlueBackground()}; foreach (var feature in features. Where(x => x.Is().Enabled). Where(x => x.Is().EnabledInContextOf(branch))) { var b = feature.Is().Enabled; } foreach (var feature in features.Select(Feature.Is). Where(x => x.Enabled). Where(x => x.EnabledInContextOf(branch))) { var b = feature.Enabled; } }
static void Main(string[] args) { Examples.Show(); Features.Are. AlwaysEnabled(); In <BusinessBranch> .Contexts.FeaturesAre(). AlwaysEnabled(); In <BusinessBranch> .Contexts.FeaturesAre(). AlwaysEnabled(); Features.Are. AlwaysEnabled(); Features.Are. AlwaysDisabled().And. NamedBy.TypeName(); Features.Are. NamedBy.TypeFullName(); Features.Are. NamedBy.TypeFullName().And. AlwaysEnabled(); In <BusinessBranch> .Contexts.FeaturesAre(). AlwaysDisabled(); In <BusinessBranch> .Contexts.FeaturesAre(). AlwaysEnabled().And. NamedBy.TypeFullName(); In <BusinessBranch> .Contexts.FeaturesAre(). NamedBy.TypeName(); In <BusinessBranch> .Contexts.FeaturesAre(). NamedBy.TypeName().And. AlwaysEnabled(); Features.Are. ConfiguredBy.AppConfig().And. NamedBy.TypeName(); Features.Are. ConfiguredBy.AppConfig().UsingConfigSectionGroup("featureSwitcher.hq").And. NamedBy.TypeName(); Features.Are. ConfiguredBy.AppConfig().IgnoreConfigurationErrors().And. NamedBy.TypeName(); Features.Are. ConfiguredBy.AppConfig().UsingConfigSectionGroup("featureSwitcher.hq").IgnoreConfigurationErrors().And. NamedBy.TypeName(); Features.Are. ConfiguredBy.AppConfig().IgnoreConfigurationErrors().UsingConfigSectionGroup("featureSwitcher.hq").And. NamedBy.TypeName(); Features.Are. ConfiguredBy.AppConfig().UsingConfigSectionGroup("featureSwitcher.hq"); Features.Are. NamedBy.TypeFullName(); Features.Are. NamedBy.TypeFullName().And. ConfiguredBy.AppConfig().UsingConfigSectionGroup("featureSwitcher.hq"); Features.Are. HandledByDefault(); Features.Are. ConfiguredBy.AppConfig().IgnoreConfigurationErrors(); if (Feature <BlueBackground> .Is().Enabled) { Console.BackgroundColor = ConsoleColor.Blue; } Console.WriteLine("Myth feature is {0}", Feature <Myth> .Is().Enabled ? "enabled" : "disabled"); if (Debugger.IsAttached) { Console.ReadLine(); } var branch = BusinessBranch.HQ; var named = new TestNamed(); var a = Feature <TestNamed> .Is().Enabled; var c = Feature <TestNamed> .Is().EnabledInContextOf(branch); var d = named.Is().Enabled; var f = named.Is().EnabledInContextOf(branch); var features = new IFeature[] { new Myth(), new BlueBackground() }; foreach (var feature in features. Where(x => x.Is().Enabled). Where(x => x.Is().EnabledInContextOf(branch))) { var b = feature.Is().Enabled; } foreach (var feature in features.Select(Feature.Is). Where(x => x.Enabled). Where(x => x.EnabledInContextOf(branch))) { var b = feature.Enabled; } }