using System; using System.Collections.Generic; using System.Text.RegularExpressions; namespace BFR.Helpers { public static class IListExtensions { public static void ReplaceAll(this IList list, IEnumerable replacement) { list.Clear(); foreach (var t in replacement) list.Add(t); } } public static class StringExtensions { public static string Replace(this string input, string pattern, string replacement, bool useRegex = false, bool useRegexReplace = false) => Regex.Replace(input, useRegex ? pattern : Regex.Escape(pattern), useRegexReplace ? replacement : replacement.Replace("$", "$$")); public static bool RegexContains(this string input, string pattern) { try { return Regex.IsMatch(input, pattern); } catch(Exception) { return false; } } } public static class EnumExtensions { public static T GetAttribute(this Enum enumVal) where T : Attribute { var type = enumVal.GetType(); var memInfo = type.GetMember(enumVal.ToString()); var attributes = memInfo[0].GetCustomAttributes(typeof(T), false); return (attributes.Length > 0) ? (T)attributes[0] : null; } } }