コード例 #1
0
 protected override void SetItem(int index, IExtension <T> item)
 {
     // FIXME: threadsafe?
     this [index].Detach(owner);
     item.Attach(owner);
     base.SetItem(index, item);
 }
コード例 #2
0
        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);
        }
コード例 #3
0
 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);
     }
 }
コード例 #4
0
 public void Add(IExtension <T> item)
 {
     if (item == null)
     {
         throw new ArgumentNullException("item");
     }
     lock (this.syncRoot)
     {
         item.Attach(this.owner);
         this.items.Add(item);
     }
 }
コード例 #5
0
ファイル: ExtensibleObject.cs プロジェクト: saber-wang/nlite
        /// <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);
            }
        }
コード例 #6
0
        public void Attach(IOperationContext owner)
        {
            OperationContext operationContext = (OperationContextWrap)owner;

            _underlyingObject.Attach(operationContext);
        }
コード例 #7
0
 protected override void InsertItem(int index, IExtension <T> item)
 {
     // FIXME: threadsafe?
     item.Attach(owner);
     base.InsertItem(index, item);
 }
コード例 #8
0
 void ICollection <IExtension> .Add(IExtension item)
 {
     item.Attach(this.owner);
     this.list.Add(item);
 }