protected override void SetItem(int index, IExtension <T> item) { // FIXME: threadsafe? this [index].Detach(owner); item.Attach(owner); base.SetItem(index, item); }
public void ExtensionsCanBeAttachedAndQueried() { IExtension extension = A.Fake <IExtension>(); this.testee.AddExtension(extension); ////extension.ModuleController.Should().BeSameAs(this.testee); A.CallTo(() => extension.Attach()).MustHaveHappened(); this.testee.GetExtension <IExtension>().Should().BeSameAs(extension); }
protected override void InsertItem(int index, IExtension <T> item) { if (item == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("item"); } lock (base.SyncRoot) { item.Attach(this.owner); base.InsertItem(index, item); } }
public void Add(IExtension <T> item) { if (item == null) { throw new ArgumentNullException("item"); } lock (this.syncRoot) { item.Attach(this.owner); this.items.Add(item); } }
/// <summary> /// 添加扩展点 /// </summary> /// <param name="extension"></param> public void Add(IExtension <T> extension) { if (extension == null) { throw new ArgumentNullException("extension"); } lock (Mutex) { extension.Attach(this as T); items.Add(extension); } }
public void Attach(IOperationContext owner) { OperationContext operationContext = (OperationContextWrap)owner; _underlyingObject.Attach(operationContext); }
protected override void InsertItem(int index, IExtension <T> item) { // FIXME: threadsafe? item.Attach(owner); base.InsertItem(index, item); }
void ICollection <IExtension> .Add(IExtension item) { item.Attach(this.owner); this.list.Add(item); }