/// <summary> /// Проверить существование цели с учётом типа включения /// </summary> /// <param name="enumerator"></param> /// <param name="target"></param> /// <param name="type"></param> /// <returns></returns> public static bool TargetExists(this IDictionary<string, BSharpBuilderTargetType> enumerator, string target, BSharpBuilderTargetType type) { if (!enumerator.TargetExists(target)) { return false; } return (enumerator[target] == type); }
/// <summary> /// /// </summary> /// <param name="enumerator"></param> /// <param name="target">Элемент для записи</param> /// <param name="type">Тип: включение или выключение</param> public static void AppendTarget(this IDictionary<string, BSharpBuilderTargetType> enumerator, string target, BSharpBuilderTargetType type) { if (enumerator.ContainsKey(target)) { enumerator[target] = type; } else { enumerator.Add(target, type); } }
/// <summary> /// Возвращает перечисление всех элементов с определённым /// типом: включение или исключение /// </summary> /// <param name="enumerator"></param> /// <param name="type"></param> /// <returns></returns> public static IEnumerable<string> EnumerateTargets(this IDictionary<string, BSharpBuilderTargetType> enumerator, BSharpBuilderTargetType type) { foreach(var el in enumerator) { if (el.Value == type) { yield return el.Key; } } }
/// <summary> /// Проверить существование цели с учётом типа включения /// </summary> /// <param name="enumerator"></param> /// <param name="target"></param> /// <param name="type"></param> /// <returns></returns> public static bool TargetExists(this IDictionary <string, BSharpBuilderTargetType> enumerator, string target, BSharpBuilderTargetType type) { if (!enumerator.TargetExists(target)) { return(false); } return(enumerator[target] == type); }
/// <summary> /// Возвращает перечисление всех элементов с определённым /// типом: включение или исключение /// </summary> /// <param name="enumerator"></param> /// <param name="type"></param> /// <returns></returns> public static IEnumerable <string> EnumerateTargets(this IDictionary <string, BSharpBuilderTargetType> enumerator, BSharpBuilderTargetType type) { foreach (var el in enumerator) { if (el.Value == type) { yield return(el.Key); } } }
/// <summary> /// /// </summary> /// <param name="enumerator"></param> /// <param name="target">Элемент для записи</param> /// <param name="type">Тип: включение или выключение</param> public static void AppendTarget(this IDictionary <string, BSharpBuilderTargetType> enumerator, string target, BSharpBuilderTargetType type) { if (enumerator.ContainsKey(target)) { enumerator[target] = type; } else { enumerator.Add(target, type); } }
/// <summary> /// /// </summary> /// <param name="project"></param> /// <param name="modifier"></param> /// <param name="target"></param> /// <param name="type"></param> private static void WriteTarget(BSharpProject project, string modifier, string target, BSharpBuilderTargetType type) { switch (modifier) { case "n": project.Targets.Namespaces.AppendTarget(target, type); break; case "c": project.Targets.Classes.AppendTarget(target, type); break; case "p": project.Targets.Paths.AppendTarget(target, type); break; } }