/// <summary> /// 移除扩展 /// </summary> /// <param name="item"></param> public void RemoveExtension(IExtension item) { lock (lockObj) { if (item == null) { return; } string key = item.Point.ToLower(); if (extensionPointsByName.Contains(key)) { // 从根据名称存贮扩展点集合中获取扩展对应的扩展点 IExtensionPoint extensionPoint = extensionPointsByName[key] as IExtensionPoint; extensionPoint.RemoveExtension(item); // 从扩展列表中删除 extensions.Remove(item); } } }