public void Remove(IMultiInstanceWidget widget) { if (widget == null) { return; } if (this.cachedWidgets.Remove(BuildMultiUseWidgetKey(widget))) { var handler = WidgetRemoved; if (handler != null) { handler(this, new WidgetRepositoryChangedEventArgs((Widget)widget)); } } }
private static string BuildMultiUseWidgetKey(IMultiInstanceWidget widget) { var baseWidget = (Widget)widget; return baseWidget.Category + baseWidget.Name + widget.Id; }