private void _Unbind(Adsorber <T> adsorber) { var binded = _Bindeds.FirstOrDefault(b => b.Adsorber.GetHashCode() == adsorber.GetHashCode()); if (binded == null) { return; } binded.Adsorber.Unsupply(binded.Gpi); _Bindeds.Remove(binded); _Attach(binded.Gpi); }
public override void Unregister <T1>(Adsorber <T1> adsorber) { _UnusedAdsorbers.RemoveAll(a => a.GetHashCode() == adsorber.GetHashCode()); _Unbind(adsorber as Adsorber <T>); }