public virtual IEnumerable <GlobalPropertySettingsUpdater> GetGlobalPropertySettingsUpdaters() { var updaters = new List <GlobalPropertySettingsUpdater>(); IEnumerable <Type> types = GetTypesInApplicationDomain().Concrete(); foreach (Type type in types) { foreach (var interfaceType in type.GetInterfaces()) { if (!interfaceType.IsGenericType) { continue; } if (!typeof(IUpdateGlobalPropertySettings <>).IsAssignableFrom(interfaceType.GetGenericTypeDefinition())) { continue; } var settingsType = interfaceType.GetGenericArguments().First(); var instance = Activator.CreateInstance(type); var updater = new GlobalPropertySettingsUpdater(settingsType, instance); updaters.Add(updater); } } return(updaters); }
private void UpdateWrapperValues(GlobalPropertySettingsUpdater updater, PropertySettingsWrapper wrapper) { if (updater.Description != null) { wrapper.Description = updater.Description; } if (updater.IsDefault.HasValue) { wrapper.IsDefault = updater.IsDefault.Value; } }
public virtual IEnumerable<GlobalPropertySettingsUpdater> GetGlobalPropertySettingsUpdaters() { var updaters = new List<GlobalPropertySettingsUpdater>(); IEnumerable<Type> types = GetTypesInApplicationDomain().Concrete(); foreach (Type type in types) { foreach (var interfaceType in type.GetInterfaces()) { if (!interfaceType.IsGenericType) continue; if (!typeof(IUpdateGlobalPropertySettings<>).IsAssignableFrom(interfaceType.GetGenericTypeDefinition())) continue; var settingsType = interfaceType.GetGenericArguments().First(); var instance = Activator.CreateInstance(type); var updater = new GlobalPropertySettingsUpdater(settingsType, instance); updaters.Add(updater); } } return updaters; }
static string WrapperValuesSerialized(GlobalPropertySettingsUpdater updater, PropertySettingsWrapper wrapper) { var hashCode = updater.GetSettingsHashCode(wrapper.PropertySettings); return string.Concat((wrapper.Description ?? "null"), "||", wrapper.IsDefault, "||", hashCode); }