public static List <String> GetNames(this INamed named) { List <String> r = new List <string>(); String v = named.getName(); if (v != null && v != "") { r.Add(v); } v = named.getCaption(); if (v != null && v != "") { r.Add(v); } List <String> alias = named.getAlias(); if (alias != null && alias.Count > 0) { r.AddRange(alias); } return(r); }
/// <summary> /// 名称是否匹配 /// </summary> /// <param name="name">待匹配名称</param> /// <param name="ignoreCase">大小写敏感</param> /// <param name="includename">名称匹配</param> /// <param name="includeCaption">名称匹配</param> /// <param name="includeAlias">别名匹配</param> /// <returns></returns> public static bool hasName(this INamed named, String name, bool ignoreCase = true, bool includename = true, bool includeCaption = true, bool includeAlias = true) { if (name == null || name == "") { return(false); } StringComparison sc = ignoreCase ? StringComparison.CurrentCulture : StringComparison.CurrentCultureIgnoreCase; if (includename) { if (name.Equals(named.getName(), sc)) { return(true); } } if (includeCaption) { if (name.Equals(named.getCaption(), sc)) { return(true); } } if (!includeAlias) { return(false); } List <String> alias = named.getAlias(); foreach (String alia in alias) { if (name.Equals(alia, sc)) { return(true); } } return(false); }