/// <summary> /// Gets property value for specified setting. /// </summary> public static T GetValue <T>(SourceAnalyzer analyzer, Settings settings, string settingName) { T customValue; if (GetCustomValue(analyzer, settingName, out customValue)) { return(customValue); } PropertyValue <T> setting = (PropertyValue <T>)analyzer.GetSetting(settings, settingName); if (setting == null) { PropertyDescriptor <T> descriptor = (PropertyDescriptor <T>)GetDescriptor(analyzer, settingName); return(descriptor.DefaultValue); } return(setting.Value); }