public ConstraintEnforcementCollectionCallbacks(PotentialCollectionModificationCallback <TClass, TProperty> adding, CommittedCollectionModificationCallback <TClass, TProperty> added, PotentialCollectionModificationCallback <TClass, TProperty> removing, CommittedCollectionModificationCallback <TClass, TProperty> removed) { this.Adding = adding; this.Added = added; this.Removing = removing; this.Removed = removed; }
public void Add(TProperty item) { if (item == null) { throw new ArgumentNullException("item"); } TClass instance = this._Instance; ConstraintEnforcementCollectionCallbacks <TClass, TProperty> callbacks = instance.Context.GetConstraintEnforcementCollectionCallbacks <TClass, TProperty>(); PotentialCollectionModificationCallback <TClass, TProperty> adding = callbacks.Adding; if ((object)adding == null || adding(instance, item)) { this._List.Add(item); CommittedCollectionModificationCallback <TClass, TProperty> added = callbacks.Added; if ((object)added != null) { added(instance, item); } } }
public bool Remove(TProperty item) { if (item == null) { throw new ArgumentNullException("item"); } TClass instance = this._Instance; ConstraintEnforcementCollectionCallbacks <TClass, TProperty> callbacks = instance.Context.GetConstraintEnforcementCollectionCallbacks <TClass, TProperty>(); PotentialCollectionModificationCallback <TClass, TProperty> removing = callbacks.Removing; if ((object)removing == null || removing(instance, item)) { if (this._List.Remove(item)) { CommittedCollectionModificationCallback <TClass, TProperty> removed = callbacks.Removed; if ((object)removed != null) { removed(instance, item); } return(true); } } return(false); }