private ListEntryDerived FindEntry(object key) { ListEntryDerived entry = entries; while (entry != null) { if (entry.key == key) { return(entry); } entry = entry.next; } return(null); }
public void AddHandlers(EventHandlerListDerived listToAddFrom) { if (listToAddFrom == null) { return; } ListEntryDerived entry = listToAddFrom.entries; while (entry != null) { AddHandler(entry.key, entry.value); entry = entry.next; } }
public void RemoveHandler(object key, Delegate value) { if (key == null) { null_entry = Delegate.Remove(null_entry, value); return; } ListEntryDerived entry = FindEntry(key); if (entry == null) { return; } entry.value = Delegate.Remove(entry.value, value); }
public void AddHandler(object key, Delegate value) { if (key == null) { null_entry = Delegate.Combine(null_entry, value); return; } ListEntryDerived entry = FindEntry(key); if (entry == null) { entry = new ListEntryDerived(); entry.key = key; entry.value = null; entry.next = entries; entries = entry; } entry.value = Delegate.Combine(entry.value, value); }
public Delegate this [object key] { get { if (key == null) { return(null_entry); } ListEntryDerived entry = FindEntry(key); if (entry != null) { return(entry.value); } else { return(null); } } set { AddHandler(key, value); } }
public void Dispose() { entries = null; }