Exemple #1
0
 public void TransferTo(IScalabilityCache scaleCache)
 {
     if (this.Array != null && this.Array.Length > 0)
     {
         IReference reference = this.Array[0] as IReference;
         if (reference != null)
         {
             this.Array[0] = reference.TransferTo(scaleCache);
             for (int i = 1; i < this.Array.Length; i++)
             {
                 reference = (this.Array[i] as IReference);
                 if (reference != null)
                 {
                     this.Array[i] = reference.TransferTo(scaleCache);
                 }
             }
         }
         else
         {
             ITransferable transferable = this.Array[0] as ITransferable;
             if (transferable != null)
             {
                 transferable.TransferTo(scaleCache);
                 for (int j = 1; j < this.Array.Length; j++)
                 {
                     transferable = (this.Array[j] as ITransferable);
                     if (transferable != null)
                     {
                         transferable.TransferTo(scaleCache);
                     }
                 }
             }
         }
     }
 }
Exemple #2
0
        public void TransferTo(IScalabilityCache scaleCache)
        {
            if (Array == null || Array.Length == 0)
            {
                return;
            }
            IReference reference = Array[0] as IReference;

            if (reference != null)
            {
                Array[0] = reference.TransferTo(scaleCache);
                for (int i = 1; i < Array.Length; i++)
                {
                    reference = (Array[i] as IReference);
                    if (reference != null)
                    {
                        Array[i] = reference.TransferTo(scaleCache);
                    }
                }
                return;
            }
            ITransferable transferable = Array[0] as ITransferable;

            if (transferable != null)
            {
                transferable.TransferTo(scaleCache);
                for (int j = 1; j < Array.Length; j++)
                {
                    (Array[j] as ITransferable)?.TransferTo(scaleCache);
                }
            }
        }
 public void TransferTo(IScalabilityCache scaleCache)
 {
     for (int i = 0; i < this.m_count; i++)
     {
         ITransferable transferable = this.m_values[i] as ITransferable;
         if (transferable != null)
         {
             transferable.TransferTo(scaleCache);
         }
     }
 }
        public override BaseReference TransferTo(BaseReference reference)
        {
            IStorable     storable      = reference.InternalValue();
            BaseReference baseReference = base.AllocateAndPin(storable, ItemSizes.SizeOf(storable));
            ITransferable transferable  = storable as ITransferable;

            if (transferable != null)
            {
                transferable.TransferTo(this);
            }
            baseReference.UnPinValue();
            reference.ScalabilityCache.Free(reference);
            return(baseReference);
        }