private static void InitCodeA()
{
codeA = new InternalPrimitiveTypeE[19];
codeA[(int)TypeCode.Empty] = InternalPrimitiveTypeE.Invalid;
codeA[(int)TypeCode.Object] = InternalPrimitiveTypeE.Invalid;
codeA[(int)TypeCode.DBNull] = InternalPrimitiveTypeE.Invalid;
codeA[(int)TypeCode.Boolean] = InternalPrimitiveTypeE.Boolean;
codeA[(int)TypeCode.Char] = InternalPrimitiveTypeE.Char;
codeA[(int)TypeCode.SByte] = InternalPrimitiveTypeE.SByte;
codeA[(int)TypeCode.Byte] = InternalPrimitiveTypeE.Byte;
codeA[(int)TypeCode.Int16] = InternalPrimitiveTypeE.Int16;
codeA[(int)TypeCode.UInt16] = InternalPrimitiveTypeE.UInt16;
codeA[(int)TypeCode.Int32] = InternalPrimitiveTypeE.Int32;
codeA[(int)TypeCode.UInt32] = InternalPrimitiveTypeE.UInt32;
codeA[(int)TypeCode.Int64] = InternalPrimitiveTypeE.Int64;
codeA[(int)TypeCode.UInt64] = InternalPrimitiveTypeE.UInt64;
codeA[(int)TypeCode.Single] = InternalPrimitiveTypeE.Single;
codeA[(int)TypeCode.Double] = InternalPrimitiveTypeE.Double;
codeA[(int)TypeCode.Decimal] = InternalPrimitiveTypeE.Decimal;
codeA[(int)TypeCode.DateTime] = InternalPrimitiveTypeE.DateTime;
codeA[17] = InternalPrimitiveTypeE.Invalid;
codeA[(int)TypeCode.String] = InternalPrimitiveTypeE.Invalid;
//codeA[(int)TypeCode.TimeSpan] = InternalPrimitiveTypeE.TimeSpan;
}