Exemplo n.º 1
0
        private static VfpType GetVfpType(TypeUsage type, out int?size)
        {
            var primitiveTypeKind = type.ToPrimitiveTypeKind();

            size = default(int?);

            switch (primitiveTypeKind)
            {
            case PrimitiveTypeKind.Binary:
                size = GetParameterSize(type);
                return(GetBinaryVfpType(type));

            case PrimitiveTypeKind.Boolean:
                return(VfpType.Logical);

            case PrimitiveTypeKind.DateTime:
                return(VfpType.DateTime);

            case PrimitiveTypeKind.Double:
                return(VfpType.Double);

            case PrimitiveTypeKind.Guid:
                size = VfpMapping.GuidStringWidth;
                return(VfpType.Character);

            case PrimitiveTypeKind.Byte:
            case PrimitiveTypeKind.Int16:
            case PrimitiveTypeKind.Int32:
            case PrimitiveTypeKind.SByte:
                return(VfpType.Integer);

            case PrimitiveTypeKind.Decimal:
            case PrimitiveTypeKind.Int64:
                return(VfpType.Numeric);

            case PrimitiveTypeKind.Single:
                return(VfpType.Float);

            case PrimitiveTypeKind.String:
                size = GetParameterSize(type);

                return(GetStringVfpType(type, size));

            default:
                throw new NotSupportedException("PrimitiveTypeKind = " + primitiveTypeKind);
            }
        }
 internal static bool IsBoolean(this TypeUsage typeUsage) {
     return typeUsage.ToPrimitiveTypeKind() == PrimitiveTypeKind.Boolean;
 }