Beispiel #1
0
        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);
        }
Beispiel #2
0
        /// <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);
        }