private static void RegisterConfigurableGroup(HighlightingSettingsManager highlightManager, string groupId, string groupName) { HighlightingSettingsManager.ConfigurableGroupDescriptor item = new HighlightingSettingsManager.ConfigurableGroupDescriptor(groupId, groupName); FieldInfo field = highlightManager.GetType().GetField("myConfigurableGroups", BindingFlags.Instance | BindingFlags.NonPublic); if (field != null) { Dictionary <string, HighlightingSettingsManager.ConfigurableGroupDescriptor> items = field.GetValue(highlightManager) as Dictionary <string, HighlightingSettingsManager.ConfigurableGroupDescriptor>; if (items != null) { items.Add(groupId, item); } } }
private static void RegisterConfigurableGroup(HighlightingSettingsManager highlightManager, string groupId, string groupName) { HighlightingSettingsManager.ConfigurableGroupDescriptor item = new HighlightingSettingsManager.ConfigurableGroupDescriptor(groupId, groupName); // TODO: WTF!? Reflection. Oh boy. FieldInfo field = highlightManager.GetType().GetField("myConfigurableGroups", BindingFlags.Instance | BindingFlags.NonPublic); if (field != null) { Dictionary<string, HighlightingSettingsManager.ConfigurableGroupDescriptor> items = field.GetValue(highlightManager) as Dictionary<string, HighlightingSettingsManager.ConfigurableGroupDescriptor>; if (items != null) { if (!items.ContainsKey(groupId)) { items.Add(groupId, item); } } } }