public BitSerializerBenchmark()
        {
            Random random = new Random();

            _Data = new Struct3()
            {
                AnArray = new Struct2[200],
            };

            for (int i = 0; i != _Data.AnArray.Length; ++i)
            {
                _Data.AnArray[i] = new Struct2()
                {
                    A = new Struct1()
                    {
                        A = (byte)random.Next(byte.MinValue, byte.MaxValue + 1),
                        B = (sbyte)random.Next(sbyte.MinValue, sbyte.MaxValue + 1),
                        C = (ushort)random.Next(ushort.MinValue, ushort.MaxValue + 1),
                        D = (short)random.Next(short.MinValue, short.MaxValue + 1),
                        E = (uint)random.Next(),
                        F = random.Next(),
                        G = (uint)random.Next(),
                        H = random.Next(),
                    },
                    B = (Enum1)random.Next(),
                };
            }

            _DataSerializationSize = Struct3Serializer.CalculateSize(_Data);
        }
        public void CodeGen()
        {
            byte[] output = new byte[_DataSerializationSize];
            Struct3Serializer.Serialize(output, _Data);

            Struct3 value;

            Struct3Serializer.Deserialize(output, out value);
        }