/// <summary> /// 按给定的符号索引和名称重定位元件定义 /// </summary> /// <param name="part">元件定义</param> /// <param name="index">符号索引</param> /// <param name="name">名称</param> public void Redirect(ImagePart part, SymbolIndex index, string name) { var oldName = part.Name; var oldid = part.Index; var folders = Root .GetAllFolders() .Where(f => f.HasPartIndex(oldid)); ImagePartTable.Redirect(part, index); foreach (var folder in folders) { folder.Redirect(oldid, index); } if (oldName != name) { part.Rename(name); } }