public override bool ParseDataRow(string dataRowString, object userData)
        {
            string[] columnStrings = dataRowString.Split(DataTableExtension.DataSplitSeparators);
            for (int i = 0; i < columnStrings.Length; i++)
            {
                columnStrings[i] = columnStrings[i].Trim(DataTableExtension.DataTrimSeparators);
            }

            int index = 0;

            index++;
            m_Id = int.Parse(columnStrings[index++]);
            index++;
            TestIntIntDictionary     = DataTableExtension.ParseInt32Int32Dictionary(columnStrings[index++]);
            TestIntVector3Dictionary = DataTableExtension.ParseInt32Vector3Dictionary(columnStrings[index++]);
            GeneratePropertyArray();
            return(true);
        }
        public override bool ParseDataRow(string dataRowString, object userData)
        {
            string[] columnStrings = dataRowString.Split(DataTableExtension.DataSplitSeparators);
            for (int i = 0; i < columnStrings.Length; i++)
            {
                columnStrings[i] = columnStrings[i].Trim(DataTableExtension.DataTrimSeparators);
            }

            int index = 0;

            index++;
            m_Id = int.Parse(columnStrings[index++]);
            index++;
            BoolValue    = bool.Parse(columnStrings[index++]);
            ByteValue    = byte.Parse(columnStrings[index++]);
            CharValue    = char.Parse(columnStrings[index++]);
            Color32Value = DataTableExtension.ParseColor32(columnStrings[index++]);
            ColorValue   = DataTableExtension.ParseColor(columnStrings[index++]);
            index++;
            DateTimeValue   = DateTime.Parse(columnStrings[index++]);
            DecimalValue    = decimal.Parse(columnStrings[index++]);
            DoubleValue     = double.Parse(columnStrings[index++]);
            FloatValue      = float.Parse(columnStrings[index++]);
            IntValue        = int.Parse(columnStrings[index++]);
            LongValue       = long.Parse(columnStrings[index++]);
            QuaternionValue = DataTableExtension.ParseQuaternion(columnStrings[index++]);
            RectValue       = DataTableExtension.ParseRect(columnStrings[index++]);
            SByteValue      = sbyte.Parse(columnStrings[index++]);
            ShortValue      = short.Parse(columnStrings[index++]);
            StringValue     = columnStrings[index++];
            UIntValue       = uint.Parse(columnStrings[index++]);
            ULongValue      = ulong.Parse(columnStrings[index++]);
            UShortValue     = ushort.Parse(columnStrings[index++]);
            Vector2Value    = DataTableExtension.ParseVector2(columnStrings[index++]);
            Vector3Value    = DataTableExtension.ParseVector3(columnStrings[index++]);
            Vector4Value    = DataTableExtension.ParseVector4(columnStrings[index++]);
            BoolList        = DataTableExtension.ParseBooleanList(columnStrings[index++]);
            ByteList        = DataTableExtension.ParseByteList(columnStrings[index++]);
            CharList        = DataTableExtension.ParseCharList(columnStrings[index++]);
            Color32List     = DataTableExtension.ParseColor32List(columnStrings[index++]);
            ColorList       = DataTableExtension.ParseColorList(columnStrings[index++]);
            DateTimeList    = DataTableExtension.ParseDateTimeList(columnStrings[index++]);
            DecimalList     = DataTableExtension.ParseDecimalList(columnStrings[index++]);
            DoubleList      = DataTableExtension.ParseDoubleList(columnStrings[index++]);
            FloatList       = DataTableExtension.ParseSingleList(columnStrings[index++]);
            IntList         = DataTableExtension.ParseInt32List(columnStrings[index++]);
            LongList        = DataTableExtension.ParseInt64List(columnStrings[index++]);
            QuaternionList  = DataTableExtension.ParseQuaternionList(columnStrings[index++]);
            RectList        = DataTableExtension.ParseRectList(columnStrings[index++]);
            SByteList       = DataTableExtension.ParseSByteList(columnStrings[index++]);
            ShortList       = DataTableExtension.ParseInt16List(columnStrings[index++]);
            StringList      = DataTableExtension.ParseStringList(columnStrings[index++]);
            UIntList        = DataTableExtension.ParseUInt32List(columnStrings[index++]);
            ULongList       = DataTableExtension.ParseUInt64List(columnStrings[index++]);
            UShortList      = DataTableExtension.ParseUInt16List(columnStrings[index++]);
            Vector2List     = DataTableExtension.ParseVector2List(columnStrings[index++]);
            Vector3List     = DataTableExtension.ParseVector3List(columnStrings[index++]);
            Vector4List     = DataTableExtension.ParseVector4List(columnStrings[index++]);
            BoolArray       = DataTableExtension.ParseBooleanArray(columnStrings[index++]);
            ByteArray       = DataTableExtension.ParseByteArray(columnStrings[index++]);
            CharArray       = DataTableExtension.ParseCharArray(columnStrings[index++]);
            Color32Array    = DataTableExtension.ParseColor32Array(columnStrings[index++]);
            ColorArray      = DataTableExtension.ParseColorArray(columnStrings[index++]);
            DateTimeArray   = DataTableExtension.ParseDateTimeArray(columnStrings[index++]);
            DecimalArray    = DataTableExtension.ParseDecimalArray(columnStrings[index++]);
            DoubleArray     = DataTableExtension.ParseDoubleArray(columnStrings[index++]);
            FloatArray      = DataTableExtension.ParseSingleArray(columnStrings[index++]);
            IntArray        = DataTableExtension.ParseInt32Array(columnStrings[index++]);
            LongArray       = DataTableExtension.ParseInt64Array(columnStrings[index++]);
            QuaternionArray = DataTableExtension.ParseQuaternionArray(columnStrings[index++]);
            RectArray       = DataTableExtension.ParseRectArray(columnStrings[index++]);
            SByteArray      = DataTableExtension.ParseSByteArray(columnStrings[index++]);
            ShortArray      = DataTableExtension.ParseInt16Array(columnStrings[index++]);
            StringArray     = DataTableExtension.ParseStringArray(columnStrings[index++]);
            UIntArray       = DataTableExtension.ParseUInt32Array(columnStrings[index++]);
            ULongArray      = DataTableExtension.ParseUInt64Array(columnStrings[index++]);
            UShortArray     = DataTableExtension.ParseUInt16Array(columnStrings[index++]);
            Vector2Array    = DataTableExtension.ParseVector2Array(columnStrings[index++]);
            Vector3Array    = DataTableExtension.ParseVector3Array(columnStrings[index++]);
            Vector4Array    = DataTableExtension.ParseVector4Array(columnStrings[index++]);
            GeneratePropertyArray();
            return(true);
        }