public override void DeserializeData(BinaryReader reader, ComponentDataPool componentDataPool)
        {
            if (reader.ReadBoolean())
            {
                base.Data = null;
                return;
            }
            int num  = reader.ReadInt32();
            int num2 = num;

            try
            {
                bool flag = false;
                ExTraceGlobals.FaultInjectionTracer.TraceTest <bool>(2902863165U, ref flag);
                if (flag)
                {
                    num2 = int.MaxValue;
                    throw new OutOfMemoryException();
                }
                base.Data = new List <T>(num2);
            }
            catch (OutOfMemoryException ex)
            {
                ex.Data["GenericListDataDeserializationCount"] = num2;
                throw;
            }
            for (int i = 0; i < num; i++)
            {
                T item = ObjectBuildHelper <T> .Build();

                item.DeserializeData(reader, componentDataPool);
                base.Data.Add(item);
            }
        }
Example #2
0
 public static T Build()
 {
     return(ObjectBuildHelper <T> .func());
 }