public void ClearKeyWords(AbstractLFCDataObject o)
        {
            PropertyInfo pi = o.GetType().GetRuntimeProperty("KeyWords");//必须属性名为KeyWords

            if (pi != null)
            {
                pi.SetValue(o, "", null);
            }
        }
        public List <string> getKeyWordsList(AbstractLFCDataObject o)
        {
            PropertyInfo pi = o.GetType().GetRuntimeProperty("KeyWords");//必须属性名为KeyWords

            if (pi != null)
            {
                string        kws = pi.GetValue(o, null).ToString();
                List <string> ls  = Environment.getStringListFromCommaString(kws, KeyWordsManager.KeyWordSeperateChar);
                return(ls);
            }
            return(null);
        }
        public void RemoveKeyWords(AbstractLFCDataObject o, string word)
        {
            PropertyInfo pi = o.GetType().GetRuntimeProperty("KeyWords");//必须属性名为KeyWords

            if (pi != null)
            {
                string        kws = pi.GetValue(o, null).ToString();
                List <string> ls  = Environment.getStringListFromCommaString(kws, KeyWordsManager.KeyWordSeperateChar);
                if (ls.Contains(word))
                {
                    ls.Remove(word);
                }
                kws = Environment.getCommaString(ls, KeyWordsManager.KeyWordSeperateChar);
                pi.SetValue(o, kws, null);
            }
        }