private static T ComputeChainedValue <T>(SettingsContextBase firstContext, Func <SettingsContextBase, T> valueGetter) { for (SettingsContextBase settingsContextBase = firstContext; settingsContextBase != null; settingsContextBase = settingsContextBase.NextContext) { T t = valueGetter(settingsContextBase); if (t != null && !t.Equals(default(T))) { return(t); } } return(default(T)); }
public static IDisposable ActivateContext(ISettingsContextProvider provider) { if (provider != null) { SettingsContextBase settingsContextBase = provider.GetSettingsContext() as SettingsContextBase; if (settingsContextBase != null) { return(settingsContextBase.Activate()); } } return(null); }
public GenericSettingsContext(string propertyName, string propertyValue, SettingsContextBase nextContext = null) : base(nextContext) { this.propertyName = propertyName; this.propertyValue = propertyValue; }
public SimpleDatabaseSettingsContext(Guid mdbGuid, SettingsContextBase nextContext = null) : base(nextContext) { this.mdbGuid = mdbGuid; }
private static T ComputeInheritedValue <T>(Func <SettingsContextBase, T> valueGetter) { for (SettingsContextBase.NestedContext nestedContext = SettingsContextBase.NestedContext.Current; nestedContext != null; nestedContext = nestedContext.ParentContext) { T t = SettingsContextBase.EffectiveContextObject.ComputeChainedValue <T>(nestedContext.Context, valueGetter); if (t != null && !t.Equals(default(T))) { return(t); } } ISettingsContext settingsContext = (SettingsContextBase.DefaultContextGetter != null) ? SettingsContextBase.DefaultContextGetter() : null; return(SettingsContextBase.EffectiveContextObject.ComputeChainedValue <T>(settingsContext as SettingsContextBase, valueGetter)); }
public NestedContext(SettingsContextBase context) { this.Context = context; this.ParentContext = SettingsContextBase.NestedContext.current; SettingsContextBase.NestedContext.current = this; }
public SettingsContextBase(SettingsContextBase nextContext) { this.HashableIdentity = Guid.NewGuid().ToString(); this.NextContext = nextContext; }
public MailboxSettingsContext(Guid mailboxGuid, SettingsContextBase nextContext = null) : base(nextContext) { this.mailboxGuid = mailboxGuid; }