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); } }
public static T Build() { return(ObjectBuildHelper <T> .func()); }