1226    {
 1229        {
 1233            {
 1235                {
 1237                    continue;
 1238                }
 1239                TypeCode typeCode = 
Type.GetTypeCode(
type);
 
 1240                int size = data->Size;
 
 1241                if (size == 4)
 1242                {
 1243                    if ((uint)(typeCode - 5) <= 4
u)
 
 1244                    {
 1246                        continue;
 1247                    }
 1248                    if (typeCode == TypeCode.UInt32)
 1249                    {
 1251                        continue;
 1252                    }
 1253                    if (typeCode == TypeCode.Single)
 1254                    {
 1256                        continue;
 1257                    }
 1258                    if (typeCode == TypeCode.Boolean)
 1259                    {
 1261                        continue;
 1262                    }
 1264                    {
 1265                        data++;
 1267                    }
 1269                    {
 1271                    }
 1272                }
 1273                if (size <= 2)
 1274                {
 1275                    switch (typeCode)
 1276                    {
 1277                    case TypeCode.Byte:
 1279                        continue;
 1280                    case TypeCode.SByte:
 1282                        continue;
 1283                    case TypeCode.Int16:
 1285                        continue;
 1286                    case TypeCode.UInt16:
 1288                        continue;
 1289                    case TypeCode.Char:
 1291                        continue;
 1292                    }
 1293                }
 1294                else if (size == 8)
 1295                {
 1296                    switch (typeCode)
 1297                    {
 1298                    case TypeCode.Int64:
 1300                        continue;
 1301                    case TypeCode.UInt64:
 1303                        continue;
 1304                    case TypeCode.Double:
 1306                        continue;
 1307                    case TypeCode.DateTime:
 1309                        continue;
 1310                    }
 1313                    {
 1315                        continue;
 1316                    }
 1317                }
 1318                else
 1319                {
 1320                    if (typeCode == TypeCode.Decimal)
 1321                    {
 1323                        continue;
 1324                    }
 1326                    {
 1328                        continue;
 1329                    }
 1330                }
 1332            }
 1335            if (data->Size == 0)
 1336            {
 1338                continue;
 1339            }
 1340            byte[] 
array = 
new byte[data->Size];
 
 1343            continue;
 1346            {
 1348            }
 1352        }
 1353    }
static void Copy(int[] source, int startIndex, IntPtr destination, int length)