// 变换为适于保存到数据库中 MessageItem.groups 的形态 public bool Canonicalize(Delegate_replaceName proc_replace) { bool bChanged = false; // 把 gn 替换为 gi // 把 un 替换为 ui foreach (GroupName name in this.Names) { if ((name.Type == "gn" && (name.Text[0] != '<' && name.Text[0] != '_')) || name.Type == "un") { GroupName result_name = proc_replace(name); name.Text = result_name.Text; name.Type = result_name.Type; bChanged = true; } } if (bChanged) { this.SortNames(); CheckGroupNameUnion(); return(true); } CheckGroupNameUnion(); return(false); }
// 变换为适于保存到数据库中 MessageItem.groups 的形态 public static List <string> Canonicalize(List <string> names, Delegate_replaceName proc_replace, bool bCheckUnion = true) { GroupSegment segment = new GroupSegment(names.ToArray(), ""); // 把 gn 替换为 gi // 把 un 替换为 ui foreach (GroupName name in segment.Names) { if ((name.Type == "gn" && (name.Text[0] != '<' && name.Text[0] != '_')) || name.Type == "un") { GroupName result_name = proc_replace(name); name.Text = result_name.Text; name.Type = result_name.Type; } } if (bCheckUnion) { segment.SortNames(); segment.CheckGroupNameUnion(); } return(segment.ToStringList()); }
// 将 MessageItem.groups 变换为适于显示的形态 public bool Displaylize(Delegate_replaceName proc_replace) { bool bChanged = false; foreach (GroupSegment segment in this.Segments) { if (segment.Displaylize(proc_replace)) { bChanged = true; } } return(bChanged); }
// 将 MessageItem.groups 变换为适于显示的形态 public bool Displaylize(Delegate_replaceName proc_replace) { bool bChanged = false; // 把 gn 替换为 gi // 把 un 替换为 ui foreach (GroupName name in this.Names) { if (name.Type == "gi" || name.Type == "ui") { GroupName result_name = proc_replace(name); name.Text = result_name.Text; name.Type = result_name.Type; bChanged = true; } } return(bChanged); }