protected void Init(IOptionGroup delegateItem) { this.groupDelegate = delegateItem; listener = new WeakGroupListener(this, groupDelegate); foreach (var item in delegateItem.Items) { this.items.Add(CreateCopy(item)); } }
public override void Dispose() { base.Dispose(); if (listener != null) { listener.Disconnect(groupDelegate); listener = null; groupDelegate = null; } }