1. Список говнокодов пользователя mrg

    Всего: 1

  2. C# / Говнокод #16378

    +132

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    private NpgsqlDbType GetDbType(Type clrType, bool large = false)
            {
                if (clrType == null)
                    throw new ArgumentNullException("clrType");
    
                // Try to get underlying type if it is nullable type.
                clrType = Nullable.GetUnderlyingType(clrType) ?? clrType;
    
                if (clrType == typeof(int) || clrType == typeof(uint))
                {
                    return NpgsqlDbType.Integer;
                }
                else if (clrType == typeof(byte) || clrType == typeof(sbyte) || clrType == typeof(short) || clrType == typeof(ushort))
                {
                    return NpgsqlDbType.Smallint;
                }
                else if (clrType == typeof(long) || clrType == typeof(ulong))
                {
                    return NpgsqlDbType.Bigint;
                }
                else if (clrType == typeof(double))
                {
                    return NpgsqlDbType.Double;
                }
                else if (clrType == typeof(float))
                {
                    return NpgsqlDbType.Real;
                }
                else if (clrType == typeof(decimal))
                {
                    return NpgsqlDbType.Numeric;
                }
                else if (clrType == typeof(bool))
                {
                    return NpgsqlDbType.Boolean;
                }
                else if (clrType == typeof(string))
                {
                    return large ? NpgsqlDbType.Text : NpgsqlDbType.Varchar;
                }
                else if (clrType == typeof(char))
                {
                    return NpgsqlDbType.Char;
                }
                else if (clrType == typeof(DateTime))
                {
                    return NpgsqlDbType.Timestamp;
                }
                else if (clrType == typeof(Guid))
                {
                    return NpgsqlDbType.Uuid;
                }
                else if (typeof(Array).IsAssignableFrom(clrType))
                {
                    return NpgsqlDbType.Array | GetDbType(clrType.GetElementType(), large);
                }
                else
                    throw new NotSupportedException(string.Format("Not supported clr type {0} to convert {1}.", clrType.FullName, typeof(NpgsqlDbType).FullName));
            }

    определение типа

    mrg, 18 Июля 2014

    Комментарии (9)