/// <summary> /// Wird von <see cref="Element"/> während seiner Freigabe aufgerufen. Wir müssen /// das Element aus unserer Liste entfernen. /// </summary> /// <param name="element">Das zu entfernende Element.</param> /// <exception cref="System.ArgumentNullException">Wird ausgelöst, wenn <paramref name="element"/> /// <see langword="null"/> ist.</exception> internal void RemoveElement(Element element) { if (element == null) throw new ArgumentNullException("element"); this._elements.Remove(element); }
/// <summary> /// Wird ausgeführt, wenn ein Video entfernt wird. Wir müssen unsere Event handler /// deinstallieren um Memory Leaks zu vermeiden. /// </summary> /// <param name="element"></param> /// <param name="Args"></param> private void OnVideoElementRemove(Element element, EventArgs Args) { VideoFile vf = element as VideoFile; if (vf != null) { vf.OnLoopFinished -= OnVideoElementLoopFinished; vf.OnRemove -= OnVideoElementRemove; } }
/// <summary> /// Fügt ein Element der Synchronisationsliste hinzu. Alle auf <see cref="Sync"/> /// ausgeführten Aktionen werden auch auf das neue Element ausgeführt. /// </summary> /// <param name="Element">Das Element, dass der Synchronisationsliste hinzugefügt /// werden soll. Darf nicht <see langword="null"/> sein.</param> /// <exception cref="System.ArgumentNullException">Wird ausgelöst, wenn <paramref name="Element"/> /// <see langword="null"/> ist.</exception> public void Add(Element Element) { if (Element == null) throw new ArgumentNullException("Element"); this.CheckDisposed(); #if DEBUG System.Diagnostics.Debug.Assert(this._sync != null); #endif this._sync.Add((global::Liconcomp.Element)Element.COMObject); }