AsyncListDesignTimeWrapper CreateDesignTimeWrapper()
        {
            var wrapper = new AsyncListDesignTimeWrapper();

            wrapper.ElementType = this.DesignTimeElementType;
            return(wrapper);
        }
 protected override void Dispose(bool disposing)
 {
     IsDisposed = true;
     _List      = null;
     _DTWrapper = null;
     if (_AsyncListServer != null)
     {
         _AsyncListServer.Dispose();
         _AsyncListServer = null;
     }
     base.Dispose(disposing);
 }
 IList IListSource.GetList()
 {
     if (_List == null)
     {
         if (IsDisposed)
         {
             throw new ObjectDisposedException(this.ToString());
         }
         if (this.Site != null && this.Site.DesignMode)
         {
             _List = _DTWrapper = CreateDesignTimeWrapper();
         }
         else
         {
             _List = _AsyncListServer = CreateRunTimeProxy();
         }
     }
     return(_List);
 }